>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.

Reply via email to