Subject: lukemftp problems with bootstrap and regular pkgsrc
To: None <firstname.lastname@example.org>
From: Jeremy C. Reed <email@example.com>
Date: 03/20/2003 03:00:18
bootstrap-pkgsrc as of a a little while ago failed to build lukemftp and
install it. It continued though and appeared to install everything else
This is Turbo Linux 6.0 English Server (Coyote) with Linux 2.2.14-3, GCC
2.95.2, libc.so.5.4.38, libc-2.1.2.so (libc.so.6), and libc-2.0.7.so. (It
is old and it has those libc versions all installed by default).
I don't really use such an old and strange Linux, but I just
installed it yesterday so I could test more pkgsrc under different Linux
I used pkgsrc to install perl-5.6.1nb7, textutils-2.0, and
fileutils-4.1.11 successfully, because I had the distfiles already
available in my NFS-mounted pkgsrc.
But the Turbo Linux ftp-0.15-1 didn't work with the URL as needed when
trying to build bash2 (as I expected). (I assume that bash2 is newer!).
At the ftp> prompt I typed "quit" a few times, then press CTRL-C many
So to workaround my problem, I did:
It failed with:
gcc -I. -I./.. -I. -I.. -I./../libedit -I./../libukem -O2 -c ftp.c
ftp.c: In function `initconn':
ftp.c:1601: structure has no member named `sin6_scope_id'
*** Error code 1
This old /usr/include/linux/in6.h (Feb 23 2000) and
/usr/include/netinet/in.h (Dec 17 1999) only defines sin6_family,
sin6_port, sin6_flowinfo, and sin6_addr.
$ bmake -DUSE_INET6=NO show-var VARNAME=USE_INET6
So I hard-coded USE_INET6=NO into my /etc/mk.conf file.
This system does have ipv6 support (but I don't use it currently).
lukemftp maybe should check better before using sin6_scope_id.
I think lukemftp is replaced (renamed) with tnftp. (And the
pkgsrc/net/lukemftp's MASTER_SITES points to a file that no longer exists.
It was moved to "old/".)
Maybe newer tnftp has this improvement.
The lukemftp build got past that ipv6. But died with:
gcc -I. -I./.. -I. -I.. -I./../libedit -I./../libukem -O2 -L../libedit
-Wl,-R/usr/lib -L/usr/lib -L../libukem -o ftp cmds.o cmdtab.o complete.o
domacro.o fetch.o ftp.o main.o ruserpass.o util.o -ledit -lukem
../libedit/libedit.a(term.o): In function `term_move_to_line':
term.o(.text+0x777): undefined reference to `tgoto'
term.o(.text+0x780): undefined reference to `tputs'
term.o(.text+0x7f0): undefined reference to `tgoto'
term.o(.text+0x7f9): undefined reference to `tputs'
term.o(.text+0x822): undefined reference to `tputs'
../libedit/libedit.a(term.o): In function `term_move_to_char':
I think this is ncurses. I added the USE_BUILDLINK2 and the ncurses
buildlink2 to the lukemftp Makefile.
That did not help. This system had old /usr/lib/libncurses.so.1.9.9e which
is also libncurses.so.3.0 (Dec 9 1999), /usr/lib/libncurses.so.2.0 (Dec 28
1999), /usr/lib/libncurses.so.4.0, and /usr/lib/libncurses.so.5.0 ( Dec 28
1999). The RPMs are ncurses-5.0-15 and ncurses3-1.9.9e-9. This TurboLinux
sure is strange to have some many libraries of the same installed!
So I installed libtool-base-1.4.20010614nb13 and ncurses-5.3 (via pkgsrc).
And then lukemftp built fine (I kept the new ncurses buildlink2 though).
Jeremy C. Reed