Hello all, Today I wasted too much of my time on trying to compile lsh with uClibc on a Debian woody system (sigh). All required libraries are present, and lsh compiles well with the native glibc 2.2.4. When compiling with uClibc (2001-12-15 snapshot) it seems that lsh compiles quite ok, except for the stuff in the src/argp directory. I would be really grateful if someone could have a look at it and perhaps fix it. It would also be nice if uClibc would be detected (especially the absence of libnsl).
A daily snapshot of uClibc can be found here: http://uclibc.org/uClibc-snapshot.tar.gz Installing the uClibc development environment is pretty easy, so that won't take a lot of your time. I configured lsh like this: debian:~/lsh-1.3.6# ./configure --prefix=/usr/i386-linux-uclibc --libdir=/usr/i386-linux-uclibc/lib --includedir=/usr/i386-linux-uclibc/include --disable-srp --without-x And the compile breaks with these error messages: gcc -DHAVE_CONFIG_H -I. -I/root/lsh-1.3.6/src/argp -I. -D_GNU_SOURCE -I/root/lsh-1.3.6/src/argp -g -O2 -ggdb3 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Waggregate-return -Wpointer-arith -Wbad-function-cast -Wnested-externs -c `test -f argp-help.c || echo '/root/lsh-1.3.6/src/argp/'`argp-help.c argp-help.c:1754: warning: #warning No reasonable value to return argp-help.c:199: warning: missing initializer argp-help.c:199: warning: (near initialization for `uparam_names[9].is_bool') source='argp-parse.c' object='argp-parse.o' libtool=no \ depfile='.deps/argp-parse.Po' tmpdepfile='.deps/argp-parse.TPo' \ depmode=gcc /bin/sh /root/lsh-1.3.6/src/argp/../../depcomp \ gcc -DHAVE_CONFIG_H -I. -I/root/lsh-1.3.6/src/argp -I. -D_GNU_SOURCE -I/root/lsh-1.3.6/src/argp -g -O2 -ggdb3 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Waggregate-return -Wpointer-arith -Wbad-function-cast -Wnested-externs -c `test -f argp-parse.c || echo '/root/lsh-1.3.6/src/argp/'`argp-parse.c argp-parse.c:96: warning: missing initializer argp-parse.c:96: warning: (near initialization for `argp_default_options[1].group') argp-parse.c:97: warning: missing initializer argp-parse.c:97: warning: (near initialization for `argp_default_options[2].group') argp-parse.c:99: warning: missing initializer argp-parse.c:99: warning: (near initialization for `argp_default_options[3].group') argp-parse.c:100: warning: missing initializer argp-parse.c:100: warning: (near initialization for `argp_default_options[4].arg') argp-parse.c:160: warning: missing initializer argp-parse.c:160: warning: (near initialization for `argp_version_options[1].arg') source='argp-pv.c' object='argp-pv.o' libtool=no \ depfile='.deps/argp-pv.Po' tmpdepfile='.deps/argp-pv.TPo' \ depmode=gcc /bin/sh /root/lsh-1.3.6/src/argp/../../depcomp \ gcc -DHAVE_CONFIG_H -I. -I/root/lsh-1.3.6/src/argp -I. -D_GNU_SOURCE -I/root/lsh-1.3.6/src/argp -g -O2 -ggdb3 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Waggregate-return -Wpointer-arith -Wbad-function-cast -Wnested-externs -c `test -f argp-pv.c || echo '/root/lsh-1.3.6/src/argp/'`argp-pv.c source='argp-pvh.c' object='argp-pvh.o' libtool=no \ depfile='.deps/argp-pvh.Po' tmpdepfile='.deps/argp-pvh.TPo' \ depmode=gcc /bin/sh /root/lsh-1.3.6/src/argp/../../depcomp \ gcc -DHAVE_CONFIG_H -I. -I/root/lsh-1.3.6/src/argp -I. -D_GNU_SOURCE -I/root/lsh-1.3.6/src/argp -g -O2 -ggdb3 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Waggregate-return -Wpointer-arith -Wbad-function-cast -Wnested-externs -c `test -f argp-pvh.c || echo '/root/lsh-1.3.6/src/argp/'`argp-pvh.c source='mempcpy.c' object='mempcpy.o' libtool=no \ depfile='.deps/mempcpy.Po' tmpdepfile='.deps/mempcpy.TPo' \ depmode=gcc /bin/sh /root/lsh-1.3.6/src/argp/../../depcomp \ gcc -DHAVE_CONFIG_H -I. -I/root/lsh-1.3.6/src/argp -I. -D_GNU_SOURCE -I/root/lsh-1.3.6/src/argp -g -O2 -ggdb3 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Waggregate-return -Wpointer-arith -Wbad-function-cast -Wnested-externs -c `test -f mempcpy.c || echo '/root/lsh-1.3.6/src/argp/'`mempcpy.c mempcpy.c:14: warning: no previous prototype for `mempcpy' source='strchrnul.c' object='strchrnul.o' libtool=no \ depfile='.deps/strchrnul.Po' tmpdepfile='.deps/strchrnul.TPo' \ depmode=gcc /bin/sh /root/lsh-1.3.6/src/argp/../../depcomp \ gcc -DHAVE_CONFIG_H -I. -I/root/lsh-1.3.6/src/argp -I. -D_GNU_SOURCE -I/root/lsh-1.3.6/src/argp -g -O2 -ggdb3 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Waggregate-return -Wpointer-arith -Wbad-function-cast -Wnested-externs -c `test -f strchrnul.c || echo '/root/lsh-1.3.6/src/argp/'`strchrnul.c strchrnul.c:15: warning: no previous prototype for `strchrnul' rm -f libargp.a ar cru libargp.a argp-ba.o argp-eexst.o argp-fmtstream.o argp-help.o argp-parse.o argp-pv.o argp-pvh.o argp-eexst.o mempcpy.o strchrnul.o ranlib libargp.a make all-am make[4]: Entering directory `/root/lsh-1.3.6/src/argp' source='argp-test.c' object='argp-test.o' libtool=no \ depfile='.deps/argp-test.Po' tmpdepfile='.deps/argp-test.TPo' \ depmode=gcc /bin/sh /root/lsh-1.3.6/src/argp/../../depcomp \ gcc -DHAVE_CONFIG_H -I. -I/root/lsh-1.3.6/src/argp -I. -D_GNU_SOURCE -I/root/lsh-1.3.6/src/argp -g -O2 -ggdb3 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Waggregate-return -Wpointer-arith -Wbad-function-cast -Wnested-externs -c `test -f argp-test.c || echo '/root/lsh-1.3.6/src/argp/'`argp-test.c argp-test.c:84: warning: missing initializer argp-test.c:84: warning: (near initialization for `sub_options[0].group') argp-test.c:85: warning: missing initializer argp-test.c:85: warning: (near initialization for `sub_options[1].group') argp-test.c:88: warning: missing initializer argp-test.c:88: warning: (near initialization for `sub_options[3].group') argp-test.c:92: warning: missing initializer argp-test.c:92: warning: (near initialization for `sub_options[5].key') argp-test.c:132: warning: missing initializer argp-test.c:132: warning: (near initialization for `sub_argp.argp_domain') argp-test.c:146: warning: missing initializer argp-test.c:146: warning: (near initialization for `options[0].group') argp-test.c:147: warning: missing initializer argp-test.c:147: warning: (near initialization for `options[1].group') argp-test.c:148: warning: missing initializer argp-test.c:148: warning: (near initialization for `options[2].group') argp-test.c:149: warning: missing initializer argp-test.c:149: warning: (near initialization for `options[3].doc') argp-test.c:153: warning: missing initializer argp-test.c:153: warning: (near initialization for `options[4].group') argp-test.c:154: warning: missing initializer argp-test.c:154: warning: (near initialization for `options[5].group') argp-test.c:155: warning: missing initializer argp-test.c:155: warning: (near initialization for `options[6].doc') argp-test.c:159: warning: missing initializer argp-test.c:159: warning: (near initialization for `options[7].group') argp-test.c:161: warning: missing initializer argp-test.c:161: warning: (near initialization for `options[8].group') argp-test.c:162: warning: missing initializer argp-test.c:162: warning: (near initialization for `options[9].group') argp-test.c:163: warning: missing initializer argp-test.c:163: warning: (near initialization for `options[10].group') argp-test.c:165: warning: missing initializer argp-test.c:165: warning: (near initialization for `options[11].key') argp-test.c:245: warning: missing initializer argp-test.c:245: warning: (near initialization for `argp_children[0].flags') argp-test.c:245: warning: missing initializer argp-test.c:245: warning: (near initialization for `argp_children[1].flags') argp-test.c:248: warning: missing initializer argp-test.c:248: warning: (near initialization for `argp.argp_domain') gcc -g -O2 -ggdb3 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Waggregate-return -Wpointer-arith -Wbad-function-cast -Wnested-externs -o argp-test argp-test.o libargp.a argp-test.o: In function `main': /root/lsh-1.3.6/src/argp/argp-test.c:256: undefined reference to `argp_parse' collect2: ld returned 1 exit status make[4]: *** [argp-test] Error 1 make[4]: Leaving directory `/root/lsh-1.3.6/src/argp' make[3]: *** [all] Error 2 make[3]: Leaving directory `/root/lsh-1.3.6/src/argp' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/root/lsh-1.3.6/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/root/lsh-1.3.6' make: *** [all] Error 2 debian:~/lsh-1.3.6# TIA, Ewald Wasscher