>On 24-Feb-98 Mr. Bob Mitchell <[EMAIL PROTECTED]> wrote: >Unfortunately there is no 1 easy answer to this. The glibc include >files are in /usr/include, but exactly what changes you will need to >make depends on the problems you are having. A couple of pointers: >1) Try to eliminate '#include <linux/...>' and '#include <asm/...>' >inclusions if you can find an equivalent file, say in >/usr/include/sys. One of the ideas of glibc is to eliminate the >need for applications to depend directly on operating system >include files, although there are cases where glibc does not >provide an equivalent. 2) If you are getting undefined functions or >variables, try looking for the appropriate man page and see what it >says to include. 3) A common missing file, in my experience, is ><errno.h>. If you get undefined symbols that start with capital E, >most of them will be defined by including that file. >If you have a small number of specific errors you need help with, I >can see what I can do to help. >Bob Mitchell. >-- Since you wrote the above to me a while a go, I did have some success in tracking down the missing glibc functions in the source code for some GNU Linux applications to be compiled under RedHat Linux 5.0. However, I have two applications that I am puzzled with trying to compile. The first application in question is xvscan 1.41 for Linux 2.x. When I execute the make command in it's source code root directory, it will almost completely compile until it gets to a specific routine, then it complains about "sys_errlist" not found. The following is the compile results when it gets to the specific section of code: # make make[1]: Entering directory `/usr/local/src/xvscan/xvscan-1.41-src' ( cd scan ; make CC='gcc' ) make[2]: Entering directory `/usr/local/src/xvscan/xvscan-1.41-src/scan' make[3]: Entering directory `/usr/local/src/xvscan/xvscan-1.41-src/scan' gcc -c -o xvscan.od -g -DDODEBUG -O2 -m486 -fomit-frame-pointer -I.. -I/usr/X11R6/include -DLINUX -DSCAN -DUSLEEP -DDOPDS -DDOJPEG -DDOTIFF -DDOPNG -I/usr/include/linux/../scsi xvscan.c In file included from xvscan.c:18: /xv.h:120: conflicting types for `sys_errlist' /usr/include/stdio.h:221: previous declaration of `sys_errlist' make[3]: *** [xvscan.od] Error 1 make[3]: Leaving directory `/usr/local/src/xvscan/xvscan-1.41-src/scan' make[2]: *** [all] Error 2 make[2]: Leaving directory `/usr/local/src/xvscan/xvscan-1.41-src/scan' make[1]: *** [scan/xvscan.opt.a] Error 2 make[1]: Leaving directory `/usr/local/src/xvscan/xvscan-1.41-src' make: *** [all] Error 2 I have no clue to where the "sys_errlist" function is in glibc. Is there a listing of the glibc functions that I can get to reffer to somewhere? The next application in question is sane-0.65. I am able to do a ./configure and a make in it's source code root directory but not make install. The following is what is displayed when I execute make install: # make install for subdir in lib sanei backend frontend doc; do \ target=`echo install-recursive | sed s/-recursive//`; \ echo making $target in $subdir; \ (cd $subdir && make $target) \ || case "" in *k*) fail=yes;; *) exit 1;; esac; \ done && test -z "$fail" making install in lib make[1]: Entering directory `/usr/local/src/sane-0.65/lib' make[1]: Nothing to be done for `install'. make[1]: Leaving directory `/usr/local/src/sane-0.65/lib' making install in sanei make[1]: Entering directory `/usr/local/src/sane-0.65/sanei' make[1]: Nothing to be done for `install'. make[1]: Leaving directory `/usr/local/src/sane-0.65/sanei' making install in backend make[1]: Entering directory `/usr/local/src/sane-0.65/backend' /mkinstalldirs /usr/local/lib /usr/local/etc/sane.d installing libsane-epson.la in /usr/local/lib... /usr/bin/install -c .libs/libsane-epson.so.0.0.65 /usr/local/lib/libsane-epson.so.0.0.65 rm -f /usr/local/lib/libsane-epson.so.0 /usr/local/lib/libsane-epson.so (cd /usr/local/lib && ln -s libsane-epson.so.0.0.65 libsane-epson.so.0) (cd /usr/local/lib && ln -s libsane-epson.so.0.0.65 libsane-epson.so) /usr/bin/install -c libsane-epson.la /usr/local/lib/libsane-epson.la /usr/bin/install -c .libs/libsane-epson.a /usr/local/lib/libsane-epson.a chmod 644 /usr/local/lib/libsane-epson.a ranlib /usr/local/lib/libsane-epson.a PATH=$PATH:/sbin ldconfig -n /usr/local/lib To link against installed libraries in LIBDIR, users may have to: - add LIBDIR to their `LD_LIBRARY_PATH' environment variable - use the `-LLIBDIR' linker flag installing libsane-hp.la in /usr/local/lib... /usr/bin/install -c .libs/libsane-hp.so.0.0.65 /usr/local/lib/libsane-hp.so.0.0.65 rm -f /usr/local/lib/libsane-hp.so.0 /usr/local/lib/libsane-hp.so (cd /usr/local/lib && ln -s libsane-hp.so.0.0.65 libsane-hp.so.0) (cd /usr/local/lib && ln -s libsane-hp.so.0.0.65 libsane-hp.so) /usr/bin/install -c libsane-hp.la /usr/local/lib/libsane-hp.la /usr/bin/install -c .libs/libsane-hp.a /usr/local/lib/libsane-hp.a chmod 644 /usr/local/lib/libsane-hp.a ranlib /usr/local/lib/libsane-hp.a PATH=$PATH:/sbin ldconfig -n /usr/local/lib To link against installed libraries in LIBDIR, users may have to: - add LIBDIR to their `LD_LIBRARY_PATH' environment variable - use the `-LLIBDIR' linker flag installing libsane-microtek.la in /usr/local/lib... /usr/bin/install -c .libs/libsane-microtek.so.0.0.65 /usr/local/lib/libsane-microtek.so.0.0.65 rm -f /usr/local/lib/libsane-microtek.so.0 /usr/local/lib/libsane-microtek.so (cd /usr/local/lib && ln -s libsane-microtek.so.0.0.65 libsane-microtek.so.0) (cd /usr/local/lib && ln -s libsane-microtek.so.0.0.65 libsane-microtek.so) /usr/bin/install -c libsane-microtek.la /usr/local/lib/libsane-microtek.la /usr/bin/install -c .libs/libsane-microtek.a /usr/local/lib/libsane-microtek.a chmod 644 /usr/local/lib/libsane-microtek.a ranlib /usr/local/lib/libsane-microtek.a PATH=$PATH:/sbin ldconfig -n /usr/local/lib To link against installed libraries in LIBDIR, users may have to: - add LIBDIR to their `LD_LIBRARY_PATH' environment variable - use the `-LLIBDIR' linker flag installing libsane-mustek.la in /usr/local/lib... /usr/bin/install -c .libs/libsane-mustek.so.0.0.65 /usr/local/lib/libsane-mustek.so.0.0.65 rm -f /usr/local/lib/libsane-mustek.so.0 /usr/local/lib/libsane-mustek.so (cd /usr/local/lib && ln -s libsane-mustek.so.0.0.65 libsane-mustek.so.0) (cd /usr/local/lib && ln -s libsane-mustek.so.0.0.65 libsane-mustek.so) /usr/bin/install -c libsane-mustek.la /usr/local/lib/libsane-mustek.la /usr/bin/install -c .libs/libsane-mustek.a /usr/local/lib/libsane-mustek.a chmod 644 /usr/local/lib/libsane-mustek.a ranlib /usr/local/lib/libsane-mustek.a PATH=$PATH:/sbin ldconfig -n /usr/local/lib To link against installed libraries in LIBDIR, users may have to: - add LIBDIR to their `LD_LIBRARY_PATH' environment variable - use the `-LLIBDIR' linker flag installing libsane-net.la in /usr/local/lib... /usr/bin/install -c .libs/libsane-net.so.0.0.65 /usr/local/lib/libsane-net.so.0.0.65 rm -f /usr/local/lib/libsane-net.so.0 /usr/local/lib/libsane-net.so (cd /usr/local/lib && ln -s libsane-net.so.0.0.65 libsane-net.so.0) (cd /usr/local/lib && ln -s libsane-net.so.0.0.65 libsane-net.so) /usr/bin/install -c libsane-net.la /usr/local/lib/libsane-net.la /usr/bin/install -c .libs/libsane-net.a /usr/local/lib/libsane-net.a chmod 644 /usr/local/lib/libsane-net.a ranlib /usr/local/lib/libsane-net.a PATH=$PATH:/sbin ldconfig -n /usr/local/lib To link against installed libraries in LIBDIR, users may have to: - add LIBDIR to their `LD_LIBRARY_PATH' environment variable - use the `-LLIBDIR' linker flag installing libsane-pnm.la in /usr/local/lib... /usr/bin/install -c .libs/libsane-pnm.so.0.0.65 /usr/local/lib/libsane-pnm.so.0.0.65 rm -f /usr/local/lib/libsane-pnm.so.0 /usr/local/lib/libsane-pnm.so (cd /usr/local/lib && ln -s libsane-pnm.so.0.0.65 libsane-pnm.so.0) (cd /usr/local/lib && ln -s libsane-pnm.so.0.0.65 libsane-pnm.so) /usr/bin/install -c libsane-pnm.la /usr/local/lib/libsane-pnm.la /usr/bin/install -c .libs/libsane-pnm.a /usr/local/lib/libsane-pnm.a chmod 644 /usr/local/lib/libsane-pnm.a ranlib /usr/local/lib/libsane-pnm.a PATH=$PATH:/sbin ldconfig -n /usr/local/lib To link against installed libraries in LIBDIR, users may have to: - add LIBDIR to their `LD_LIBRARY_PATH' environment variable - use the `-LLIBDIR' linker flag installing libsane-qcam.la in /usr/local/lib... /usr/bin/install -c .libs/libsane-qcam.so.0.0.65 /usr/local/lib/libsane-qcam.so.0.0.65 rm -f /usr/local/lib/libsane-qcam.so.0 /usr/local/lib/libsane-qcam.so (cd /usr/local/lib && ln -s libsane-qcam.so.0.0.65 libsane-qcam.so.0) (cd /usr/local/lib && ln -s libsane-qcam.so.0.0.65 libsane-qcam.so) /usr/bin/install -c libsane-qcam.la /usr/local/lib/libsane-qcam.la /usr/bin/install -c .libs/libsane-qcam.a /usr/local/lib/libsane-qcam.a chmod 644 /usr/local/lib/libsane-qcam.a ranlib /usr/local/lib/libsane-qcam.a PATH=$PATH:/sbin ldconfig -n /usr/local/lib To link against installed libraries in LIBDIR, users may have to: - add LIBDIR to their `LD_LIBRARY_PATH' environment variable - use the `-LLIBDIR' linker flag installing libsane-umax.la in /usr/local/lib... /usr/bin/install -c .libs/libsane-umax.so.0.0.65 /usr/local/lib/libsane-umax.so.0.0.65 rm -f /usr/local/lib/libsane-umax.so.0 /usr/local/lib/libsane-umax.so (cd /usr/local/lib && ln -s libsane-umax.so.0.0.65 libsane-umax.so.0) (cd /usr/local/lib && ln -s libsane-umax.so.0.0.65 libsane-umax.so) /usr/bin/install -c libsane-umax.la /usr/local/lib/libsane-umax.la /usr/bin/install -c .libs/libsane-umax.a /usr/local/lib/libsane-umax.a chmod 644 /usr/local/lib/libsane-umax.a ranlib /usr/local/lib/libsane-umax.a PATH=$PATH:/sbin ldconfig -n /usr/local/lib To link against installed libraries in LIBDIR, users may have to: - add LIBDIR to their `LD_LIBRARY_PATH' environment variable - use the `-LLIBDIR' linker flag installing libsane-dll.la in /usr/local/lib... /usr/bin/install -c .libs/libsane-dll.so.0.0.65 /usr/local/lib/libsane-dll.so.0.0.65 rm -f /usr/local/lib/libsane-dll.so.0 /usr/local/lib/libsane-dll.so (cd /usr/local/lib && ln -s libsane-dll.so.0.0.65 libsane-dll.so.0) (cd /usr/local/lib && ln -s libsane-dll.so.0.0.65 libsane-dll.so) /usr/bin/install -c libsane-dll.la /usr/local/lib/libsane-dll.la /usr/bin/install -c .libs/libsane-dll.a /usr/local/lib/libsane-dll.a chmod 644 /usr/local/lib/libsane-dll.a ranlib /usr/local/lib/libsane-dll.a PATH=$PATH:/sbin ldconfig -n /usr/local/lib To link against installed libraries in LIBDIR, users may have to: - add LIBDIR to their `LD_LIBRARY_PATH' environment variable - use the `-LLIBDIR' linker flag PATH=$PATH:/sbin ldconfig -n /usr/local/lib To link against installed libraries in LIBDIR, users may have to: - add LIBDIR to their `LD_LIBRARY_PATH' environment variable - use the `-LLIBDIR' linker flag rm -f /usr/local/lib/libsane.so.0 ln -s libsane-dll.so /usr/local/lib/libsane.so ln: /usr/local/lib/libsane.so: File exists make[1]: *** [install] Error 1 make[1]: Leaving directory `/usr/local/src/sane-0.65/backend' make: *** [install-recursive] Error 1 Where should I add LIBDIR in the LD_LIBRARY_PATH environment variable? I have tried adding the $LIBDIR to every LD_LIBRARY_PATH environment variable that I could find in the sane source code directories without success. Have you any suggestions that I can try? Any tips or suggestions will be very appreciated. Again, thank you for your help. David Smith Net-Tamer V 1.09.2 - Registered -- PLEASE read the Red Hat FAQ, Tips, Errata and the MAILING LIST ARCHIVES! http://www.redhat.com/RedHat-FAQ /RedHat-Errata /RedHat-Tips /mailing-lists To unsubscribe: mail [EMAIL PROTECTED] with "unsubscribe" as the Subject.