4.10 => 5.3 Undefined symbol "stpcpy"

Started by ozric, January 22, 2005, 09:07:19 PM

Previous topic - Next topic

ozric

I recently upgraded a working FreeBSD 4.10 toaster (3.47) to FreeBSD 5.3 with hopes of also upgrading to 4.03.  I followed the directions from http://www.freebsd.org/releases/5.3R/migration-guide.html" target="_blank">http://www.freebsd.org/releases/5.3R/migration-guide.html for the OS upgrade.
All went smoothly, it seems.
Trying to use portupgrade for Proftpd, however, I get the error stop:

config.status: executing default commands===>  Building for proftpd-1.2.10_1echo \#define BUILD_STAMP \"`date`\" >include/buildstamp.hcd lib/ && gmake lib/usr/libexec/ld-elf.so.1: /usr/local/lib/libintl.so.6: Undefined symbol "stpcpy"/usr/libexec/ld-elf.so.1: /usr/local/lib/libintl.so.6: Undefined symbol "stpcpy"*** Error code 1Stop in /usr/ports/ftp/proftpd.** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portinstall36643.0 make** Fix the problem and try again.** Listing the failed packages (*:skipped / !:failed)        ! ftp/proftpd   (unknown build error)--->  Packages processed: 0 done, 0 ignored, 0 skipped and 1 failed


Searching google didn't help much.  Someone there said to force upgrade gettext to make it see the new 5.3 files.  I did that and still get the same errors with certain ports.
I have COMPAT4X = yes in my make.conf file.  And I'm using the GENERIC Kernel which has options COMPAT_FREEBSD4 # Compatible with FreeBSD4 before I made/installed the world.

This happens when the toaster script is trying to upgrade my vpopmail (toaster_setup.pl -s vpopmail):

===>  Building for vpopmail-5.4.6_1gmake  all-recursive/usr/libexec/ld-elf.so.1: /usr/local/lib/libintl.so.6: Undefined symbol "stpcpy"/usr/libexec/ld-elf.so.1: /usr/local/lib/libintl.so.6: Undefined symbol "stpcpy"*** Error code 1


There's even a sentence at the bottom of that Migration guide:
Running FreeBSD 4.X binaries requires a set of compatability libraries. These are available by installing the misc/compat4x package/port.
This doesn't work either.

Any helpful thoughts?

Thanks!

LogicX

have you done portupgrade -fa ?
(force recompile of all ports)
and did it succeed?
--- May this post be indexed by spiders, and archived for all to see as my internet epitaph.
http://fpux.com" target="_blank">http://fpux.com

ozric

Thanks for your time.

Yes, I've tried that.  Most of the ports upgraded.  Some, however, didn't.  All of the P5-* seemed to work.
It's very annoying.

[ozric:/usr/local/lib]# ls -l *libint*
-rw-r--r--  1 root  wheel    51K Jan 22 21:18 libintl.a
lrwxr-xr-x  1 root  wheel    12B Jan 22 21:18 libintl.so@ -> libintl.so.6
-r--r--r--  1 root  wheel    40K Jan 22 21:18 libintl.so.6


I'm sure it was libintl.so.5 before the upgrade.  (I checked another machine @ 4.7).  Some of the ports are still pointing to the old *.so.5, it seems.

On one of my google searches, someone said their copy of libintl.so on 4.7 has an internal stpcpy(?) So I ran the command on my machine.
I'm not sure what it tells me:

[ozric:/usr/local/lib]# nm /usr/local/lib/libintl.so.6 | grep stpcpy
        U stpcpy

ozric

OK, after doing some more searching, I had some ideas.
Instead of just forcing a gettext build (portupgrade -f gettext), I did a Recursive upgrade (-fR) on gettext.
-R --upward-recursive  Act on all those packages required by the given packages as well.
Which were:
libiconv-1.9.2_1
libtool-1.5.10


That still didn't solve the problem.  So I went back and noticed another required port for ProFTPD, gmake.
I forced gmake and viola I was able to finish toaster_setup.pl -s vpopmail successfully, as well as ProFTPD.

Now I can move on.