>Just to be clear, I am working with Slackware 14.2 32 bit. > >I am working on putting together a SlackBuild script for lxi-tools 1.16 >(BTW, the script works perfectly on Current). The problem isn't in the >script but rather in the 'configure' script. Here is how the package >searches for libreadline in configure.ac: > >AC_CHECK_LIB([readline], [readline], [], [AC_MSG_ERROR(libreadline not >found)]) > > >And the failure when running 'configure': > >checking whether the gcc linker (/usr/i586-slackware-linux/bin/ld) >supports shared libraries... yes >checking whether -lc should be explicitly linked in... no >checking dynamic linker characteristics... GNU/Linux ld.so >checking how to hardcode library paths into programs... immediate >checking whether stripping libraries is possible... yes >checking if libtool supports shared libraries... yes >checking whether to build shared libraries... yes >checking whether to build static libraries... yes >checking for readline in -lreadline... no >configure: error: libreadline not found > > >Here is what is recorded in 'config.log': > >configure:12811: checking for readline in -lreadline >configure:12836: gcc -o conftest -g -O2 conftest.c -lreadline >&5 >/usr/lib/gcc/i586-slackware-linux/5.3.0/../../../libreadline.so: >undefined reference to >`tputs' /usr/lib/gcc/i586-slackware-linux/5.3.0/../../../libreadline.so: >undefined reference to >`tgoto' /usr/lib/gcc/i586-slackware-linux/5.3.0/../../../libreadline.so: >undefined reference to >`tgetflag' /usr/lib/gcc/i586-slackware-linux/5.3.0/../../../libreadline.so: >undefined reference to >`UP' /usr/lib/gcc/i586-slackware-linux/5.3.0/../../../libreadline.so: >undefined reference to >`tgetent' /usr/lib/gcc/i586-slackware-linux/5.3.0/../../../libreadline.so: >undefined reference to >`tgetnum' /usr/lib/gcc/i586-slackware-linux/5.3.0/../../../libreadline.so: >undefined reference to >`PC' /usr/lib/gcc/i586-slackware-linux/5.3.0/../../../libreadline.so: >undefined reference to >`tgetstr' /usr/lib/gcc/i586-slackware-linux/5.3.0/../../../libreadline.so: >undefined reference to `BC' collect2: error: ld returned 1 exit status >configure:12836: $? = 1 configure: failed program was: | /* confdefs.h >*/ | #define PACKAGE_NAME "lxi-tools" | #define PACKAGE_TARNAME >"lxi-tools" | #define PACKAGE_VERSION "1.16" | #define PACKAGE_STRING >"lxi-tools 1.16" | #define PACKAGE_BUGREPORT "" | #define PACKAGE_URL >"https://lxi-tools.github.io" | #define PACKAGE "lxi-tools" | #define >VERSION "1.16" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | >#define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 >| #define HAVE_STRING_H 1 >| #define HAVE_MEMORY_H 1 >| #define HAVE_STRINGS_H 1 >| #define HAVE_INTTYPES_H 1 >| #define HAVE_STDINT_H 1 >| #define HAVE_UNISTD_H 1 >| #define HAVE_DLFCN_H 1 >| #define LT_OBJDIR ".libs/" >| /* end confdefs.h. */ >| >| /* Override any GCC internal prototype to avoid an error. >| Use char because int might match the return type of a GCC >| builtin and then its argument prototype would still apply. */ >| #ifdef __cplusplus >| extern "C" >| #endif >| char readline (); >| int >| main () >| { >| return readline (); >| ; >| return 0; >| } >configure:12845: result: no >configure:12855: error: libreadline not found > > >The /usr/lib/libreadline.so symbolic link points to >/usr/lib/libreadline.so.6 which itself is a symlink to >/usr/lib/libreadline.so.6.3. > >Using 'readelf', I can confirm what is in 'config.log': > > 83: 00000000 0 NOTYPE GLOBAL DEFAULT UND tputs > 144: 00000000 0 NOTYPE GLOBAL DEFAULT UND tgoto > 248: 00000000 0 NOTYPE GLOBAL DEFAULT UND tgetflag > 268: 00000000 0 NOTYPE GLOBAL DEFAULT UND UP > 274: 00000000 0 NOTYPE GLOBAL DEFAULT UND tgetent > 307: 00000000 0 NOTYPE GLOBAL DEFAULT UND tgetnum > 547: 00000000 0 NOTYPE GLOBAL DEFAULT UND PC > 618: 00000000 0 NOTYPE GLOBAL DEFAULT UND tgetstr > 750: 00000000 0 NOTYPE GLOBAL DEFAULT UND BC > >It doesn't look like libreadline has a missing dependent library: > >$ ldd /usr/lib/libreadline.so > linux-gate.so.1 (0xb77a2000) > libc.so.6 => /lib/libc.so.6 (0xb759b000) > /lib/ld-linux.so.2 (0xb77a3000) > > >What puzzles me is that this package built cleanly on an up-to-date >Current 64 system, but fails here. I don't see a remarkable difference >between the symbol tables, so I at a loss. Hopefully someone has met >this before and can provide some clues. > >- Nate > >-- > >"The optimist proclaims that we live in the best of all >possible worlds. The pessimist fears this is true." > >Ham radio, Linux, bikes, and more: http://www.n0nb.us
If I recall correctly it's necessary to also link in ncurses "-lncurses" Probably I'd use LDFLAGS="-lncurses" ./configure ........ _______________________________________________ SlackBuilds-users mailing list SlackBuilds-users@slackbuilds.org https://lists.slackbuilds.org/mailman/listinfo/slackbuilds-users Archives - https://lists.slackbuilds.org/pipermail/slackbuilds-users/ FAQ - https://slackbuilds.org/faq/