Hi,

I've just tried to compile lsh-1.2.5 and run into some problems, so I hope
that someone on this list can help me.

Configuring on linux-2.4.9-rthal6 with glibc-2.2.2 without switches (just
added paths to headers and lib of gmp) works fine in the beginning,
besides lots of warnings like this one:

  atoms_gperf.c:332: warning: missing initializer
  atoms_gperf.c:332: warning: (near initialization for `wordlist[487].id')

I assume you see them yourself, if not, please tell me and I'll send you a
more detailed report.

Running "make" stops in the testsuite:

----------8<----------
make[3]: Leaving directory `/home/robert/embedded/lsh-1.2.5/src'
Making all in testsuite
make[3]: Entering directory
`/home/robert/embedded/lsh-1.2.5/src/testsuite'
Makefile:221: *** Insufficient number of arguments (1) to function
`addprefix'.  Stop.
make[3]: Leaving directory `/home/robert/embedded/lsh-1.2.5/src/testsuite'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/robert/embedded/lsh-1.2.5/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/robert/embedded/lsh-1.2.5'
make: *** [all-recursive-am] Error 2
robert@callisto:~/embedded/lsh-1.2.5 !
---------->8----------

This seems to come from several $(addprefix ../,) commands in the makefile
which obviously are missing their second parameters. Seems to be a problem
in the Makefile.am, but I simply removed the lines in the Makefile and it
worked afterwards.

---

Now, the more difficult part ;-) My goal is to run lsh on an embedded
machine with very restricted ressources, so I'm currently trying to
compile and link it against uClibc.

Here's where I'm stuck at the moment: uClibc doesn't have argp_parse,
which was recognized correctly by the configure script and therefore lsh's
own implementation is used. The linker breaks up here:

----------8<----------
robert@callisto:~/embedded/lsh-1.2.5/src/argp !
PATH=/usr/i386-linux-uclibc/bin:$PATH make
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':
/home/robert/embedded/lsh-1.2.5/src/argp/argp-test.c:256: undefined
reference to `argp_parse'
collect2: ld returned 1 exit status
make: *** [argp-test] Error 1
---------->8----------

This makes sense, as argp_parse() does not seem to be defined in
ligargp.a:

----------8<----------
! nm -n libargp.a |grep argp_parse
U __argp_parse
---------->8----------

Very strange, as it was weak_aliased() in argp-parse.c:

  #ifdef weak_alias
  weak_alias (__argp_parse, argp_parse)
  #endif

The original glibc implementation looks like this:

  robert@callisto:~/embedded/glibc-2.2.4/argp ! \
    nm -n argp-parse.o |grep argp_parse
  00000e40 T __argp_parse
  00000e40 W argp_parse

Which seems to be correct.

Question: why is the symbol not defined here? Is it a problem in lsh or in
uClibc? Any idea would be helpful...

Robert
-- 
 +--------------------------------------------------------+
 |             Dipl.-Ing. Robert Schwebel                 |
 |      Linux Solutions for Science and Industry          |
 |  Braunschweiger Stra�e 79, 31134 Hildesheim, Germany   |
 |     Phone: +49-5121-28619-0  Fax: +49-5121-28619-4     |
 +--------------------------------------------------------+





Reply via email to