LIS build limitation

Jerry Stahl <[email protected]> Thu, 23 Jun 2005 13:42:53 -0700 (PDT)
Newsgroups gmane.linux.kernel.streams
Message-ID <[email protected]>
Hi,
 
I have an application that was originally developed on Sun Solaris and is currently in the process of being ported to Fedora Core 3 Linux (FC3).  The application will require the Linux streams library, in particular, there are parts of the application that use the fattach() function. I have 2 kernel releases (2.6.9-1.667 and 2.6.11-1.27.FC3) loaded in FC3 that I have tried to build the LIS streams library against and for each kernel used, I have run into errors during each build attempt.  I have followed the web site instructions specifically for the 2.6 kernels.
Any help or suggestions on what should be done to get a successful build would be appreciated.  Below is my system output from running "make" on the library.
 
 
Thanks
 
J.S.
 
*********************************************************************************************************

[root@KLASS-DEV LiS-2.18]# make

LiS Configure script version 2.100 10/11/04 invoked from main makefile

CONFIG=/usr/src/LiS-2.18/config.in

package=LiS

prefix=/usr

execprefix=/usr

includedir=/usr/include

libdir=/usr/lib

bindir=/usr/bin

sbindir=/usr/sbin

sysconfdir=/etc

datadir=/usr/share

pkgincludedir=/usr/include/LiS

pkglibdir=/usr/lib/LiS

pkgdatadir=/usr/share/LiS

pkgsrcdir=/usr/src/LiS

mandir=/usr/share/man

modsubdir=misc

 

How do you want to configure STREAMS?

l = to run in the Linux kernel

u = to run in user level

q = to run under QNX (may not work)

Please enter your choice [default: l] l

Are you using the native Linux C compiler (y) or are you cross-compiling using a different compiler (n)?

Native C (y) or cross-compile (n)? [default: y] y

Do you intend to run LiS on this machine with the currently running kernel? [default: y] n

Enter directory location of your kernel source

[default: /usr/src/linux] /lib/modules/2.6.11-1.27_FC3/build

In file included from <command line>:1:

/lib/modules/2.6.11-1.27_FC3/build/include/linux/config.h:6:2: #error including kernel header in userspace; use the glibc headers instead!

No kernel support for SMP detected.

In file included from <command line>:1:

/lib/modules/2.6.11-1.27_FC3/build/include/linux/config.h:6:2: #error including kernel header in userspace; use the glibc headers instead!

In file included from <command line>:1:

/lib/modules/2.6.11-1.27_FC3/build/include/linux/config.h:6:2: #error including kernel header in userspace; use the glibc headers instead!

Kernel support for mod-versions detected.

In file included from <command line>:1:

/lib/modules/2.6.11-1.27_FC3/build/include/linux/config.h:6:2: #error including kernel header in userspace; use the glibc headers instead!

Kernel support for IP version 6 detected.

In file included from <command line>:1:

/lib/modules/2.6.11-1.27_FC3/build/include/linux/config.h:6:2: #error including kernel header in userspace; use the glibc headers instead!

Kernel support for IP version 6 modules detected.

In file included from <command line>:1:

/lib/modules/2.6.11-1.27_FC3/build/include/linux/config.h:6:2: #error including kernel header in userspace; use the glibc headers instead!

Kernel compiled using register passing for parameters

Which version of the kernel are you building for? [default:

2.6.11-1.27_FC3]

After building STREAMS, do you want kernel loadable modules installed?

This allows you to load it by typing in "insmod streams".

y = install it for module loading

n = just leave modules for later "make modules_install"

Please enter y or n [default: y] y

Module installation directory will be /lib/modules/2.6.11-1.27_FC3/misc

When you make STREAMS, do you want to use backward compatible constants in the file stropts.h? If you answer No (the default) you will get constants that are compatible with UnixWare and Solaris, but which differ somewhat from previous versions of LiS. If you answer Yes you will get constants that are compatible with previous versions of LiS but somewhat incompatible with UnixWare and Solaris. If you intend to run application programs that were compiled with LiS-2.6 or earlier then they have the old constants compiled into them and you should answer Yes to this question.

y = LiS backward compatible constants in stropts.h

n = UnixWare/Solaris compatible constants in stropts.h Please enter y or n [default: n] n

When you make STREAMS, do you want to use Solaris style cmn_err?

In Solaris the newline goes on the end of the message. For SVR4 style cmn_err the newline goes on the beginning.

y = Solaris style cmn_err

n = SVR4 style cmn_err

Please enter y or n [default: n] y

When you make STREAMS, do you want to compile for source level debugging?

This is most useful when STREAMS is linked into the kernel and the gdbstub patch is installed in the kernel for kernel source level debugging.

y = set up for source level debugging

n = no source level debugging

Please enter y or n [default: n] y

Do you want to use shared libraries?

If you select static linking, you will get larger binaries that run by themselves. If you select dynamic linking, the binaries will be smaller but you will have to install the shared libraries in a directory that is in your LD_LIBRARY_PATH environment variable.

y = use dynamic linking with shared libraries

n = use static linking

Please enter y or n [default: y] y

When you make STREAMS, do you want to use int type for CPU flags?

Responding 'n' is more portable but may cause warnings when you compile your driver code.

y = int type for CPU flags

n = unsigned long type for CPU flags Please enter y or n [default: y] y

When you make STREAMS, do you want LiS to be compiled in production mode?

In this mode LiS will not audit queue, msg pointer, and internal LiS queue structure sanity for every STREAMs function call. It will also use faster kernel allocations for messages.

Responding 'y' is more appropriate for production environments Responding 'n' is more appropriate for development environments with verified modules/drivers.

y = Production mode

n = Development mode

Please enter y or n [default: y] y

Using "gcc -O2 -mpreferred-stack-boundary=2" 3.4.3 as the C compiler

GET_EMPTY_INODE=new_inode((LIS_SB))

CLEAN libc/linux

CLEAN head/linux

CLEAN drivers/str/linux

CLEAN util/linux

CLEAN pkg

CLEAN modules

CC util/linux/strconf

STRCONF include/sys/LiS/config.h

DEP libc/linux

DEP head/linux

DEP drivers/str/linux

DEP util/linux

DEP libc/linux

DEP head/linux

DEP drivers/str/linux

DEP util/linux

<WD> libc/linux

<CC> gcc -c -Wall -Wstrict-prototypes -fno-strict-aliasing -Wno-

sign-compare -fno-common -ggdb -O -mpreferred-stack-boundary=2 - DLISMODVERS -I/usr/src/LiS-2.18/include - I/lib/modules/2.6.11-1.27_FC3/build/include - I/lib/modules/2.6.11-1.27_FC3/build/include/asm/mach-generic - I/lib/modules/2.6.11-1.27_FC3/build/include/asm/mach-default -DRCVOID - DSOLARIS_STYLE_CMN_ERR -DUSE_KMEM_CACHE -DUSE_KMEM_TIMER - D__KERNEL_SYSCALLS__

CC libc/linux/getpmsg.o

CC libc/linux/getmsg.o

CC libc/linux/putpmsg.o

CC libc/linux/putmsg.o

CC libc/linux/fattach.o

CC libc/linux/fdetach.o

CC libc/linux/isastream.o

CC libc/linux/pipe.o

LD libc/libLiS.so

LD libc/libpLiS.so

AR libc/libLiS.a

ar: creating /usr/src/LiS-2.18/libc/libLiS.a

RANLIB libc/libLiS.a

<WD> util/linux

<CC> gcc -DLINUX -Wall -Wstrict-prototypes -fno-strict-aliasing -

Wno-sign-compare -fno-common -ggdb -O -mpreferred-stack-boundary=2 - DLISMODVERS -I/usr/src/LiS-2.18/include - I/lib/modules/2.6.11-1.27_FC3/build/include - I/lib/modules/2.6.11-1.27_FC3/build/include/asm/mach-generic - I/lib/modules/2.6.11-1.27_FC3/build/include/asm/mach-default -DRCVOID - DSOLARIS_STYLE_CMN_ERR -DUSE_KMEM_CACHE -DUSE_KMEM_TIMER

CC util/linux/streams

CC util/linux/makenodes

CC util/linux/timetst

CC util/linux/strtst

CC util/linux/polltst

CC util/linux/ldltest

CC util/linux/ldlconfig

CC util/linux/test

CC util/linux/test2

CC util/linux/fattach

CC util/linux/fdetach

CC util/linux/oc

CC util/linux/rwf

CC util/linux/mkfifo

CC util/linux/psfd

CC util/linux/pafd

CC util/linux/thrtst

<WD> drivers/str/linux

<CC> gcc -DLiS -mregparm=3 -DLINUX -D__KERNEL__ -DMODVERSIONS -Wall

-Wstrict-prototypes -fno-strict-aliasing -Wno-sign-compare -fno-common - ggdb -O -mpreferred-stack-boundary=2 -DLISMODVERS - I/usr/src/LiS-2.18/include -I/lib/modules/2.6.11-1.27_FC3/build/include

-I/lib/modules/2.6.11-1.27_FC3/build/include/asm/mach-generic - I/lib/modules/2.6.11-1.27_FC3/build/include/asm/mach-default -DRCVOID - DSOLARIS_STYLE_CMN_ERR -DUSE_KMEM_CACHE -DUSE_KMEM_TIMER

CC drivers/str/linux/relay.o

CC drivers/str/linux/clone.o

CC drivers/str/linux/fifo.o

CC drivers/str/linux/loop.o

CC drivers/str/linux/minimux.o

CC drivers/str/linux/printk.o

CC drivers/str/linux/sad.o

CC drivers/str/linux/connld.o

CC drivers/str/linux/ip_strm_mod.o

LD drivers/str/linux/drivers.o

<WD> head/linux

<CC> gcc -DLiS -D__KERNEL__ -DVERSION_2 -mregparm=3 -Wall -Wstrict-

prototypes -fno-strict-aliasing -Wno-sign-compare -fno-common -ggdb -O -

mpreferred-stack-boundary=2 -DLISMODVERS -I/usr/src/LiS-2.18/include - I/lib/modules/2.6.11-1.27_FC3/build/include - I/lib/modules/2.6.11-1.27_FC3/build/include/asm/mach-generic - I/lib/modules/2.6.11-1.27_FC3/build/include/asm/mach-default -DRCVOID - DSOLARIS_STYLE_CMN_ERR -DUSE_KMEM_CACHE -DUSE_KMEM_TIMER -DLINUX - DUSE_KTHREAD -DMODVERSIONS -DMODULE

CC head/linux/head.o

CC head/linux/dki.o

CC head/linux/msg.o

CC head/linux/mod.o

/usr/src/LiS-2.18/head/mod.c: In function `lis_find_strdev':

/usr/src/LiS-2.18/head/mod.c:1252: warning: `inter_module_put' is deprecated (declared at /lib/modules/2.6.11-1.27_FC3/build/include/linux/module.h:581)

CC head/linux/buffcall.o

CC head/linux/mdep.o

In file included from /usr/src/LiS-2.18/head/mdep.c:26:

/usr/src/LiS-2.18/head/linux-mdep.c: In function `lis_fifo_info_new':

/usr/src/LiS-2.18/head/linux-mdep.c:2546: error: structure has no member named `base'

/usr/src/LiS-2.18/head/linux-mdep.c:2547: error: structure has no member named `len'

make[2]: *** [mdep.o] Error 1

make[1]: *** [/usr/src/LiS-2.18/head/linux/streamshead.o] Error 2

make: *** [.config_mk] Error 2

[root@KLASS-DEV LiS-2.18]#


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com