//lib/libm.so.5: could not read symbols: Bad value and /usr/bin/ld: : invalid DSO for symbol `sin@@FBSD_1.0' definition
Mark Millard
markmi at dsl-only.net
Tue Sep 23 22:53:40 UTC 2014
For 10.1-BETA2 I used the MANIFEST and *.txz files with bsdinstall to make a powerpc/GENERIC SSD where I did not rebuild the world or kernel but did attempt portmaster my usual ports. No WITH_DEBUG= or other such added. But WRKDIRPREFIX=(path not listed here) present.
It still got the:
/usr/bin/ld: : invalid DSO for symbol `sin@@FBSD_1.0' definition
//lib/libm.so.5: could not read symbols: Bad value
*** [fractals] Error code 1
So even the standard way of building distributions has the problem for powerpc/powerpc64.
uname -a output:
FreeBSD FBSDG4S0 10.1-BETA2 FreeBSD 10.1-BETA2 #0 r271848: Fri Sep 19 03:54:33 UTC 2014 root at releng1.nyi.freebsd.org:/usr/obj/powerpc.powerpc/usr/src/sys/GENERIC powerpc
It would appear that .../graphics/freeglut/work/freeglut-2.8.1/configure.ac generation of progs/demos/Fractals/Makefile via:
# Generate output.
AC_CONFIG_FILES([
Makefile
doc/Makefile
include/GL/Makefile
include/Makefile
progs/Makefile
progs/demos/CallbackMaker/Makefile
progs/demos/Fractals/Makefile
progs/demos/Fractals_random/Makefile
progs/demos/Lorenz/Makefile
progs/demos/Makefile
progs/demos/One/Makefile
progs/demos/shapes/Makefile
progs/demos/smooth_opengl3/Makefile
progs/demos/spaceball/Makefile
progs/demos/subwin/Makefile
src/Makefile
])
AC_OUTPUT
needs to not only have the produced progs/demos/Fractals/Makefile contain:
LIBM = -lm
(which it does) but to put LIBM to use by effectively adding $(LIBM) to:
LIBS = -lXi -lXrandr -lXxf86vm
or some other way of having -lm show up in the link command. (Other things may need similar -l<?>'s.)
If true then the problem is not in/with libm.so.5 itself.
My guess is that .../graphics/freeglut/work/freeglut-2.8.1/progs/demos/Fractals/Makefile.am should have:
fractals_LDADD = ../../../src/lib at LIBRARY@.la $(GL_LIBS) $(LIBM)
(I added the $(LIBM).)
If so it would appear that pre-configure: in /usr/ports/graphics/freeglut/Makefile might use something like:
@${REINPLACE_CMD} -e "s|\$(GL_LIBS)|$(GL_LIBS) $(LIBM)|g" \
${WRKSRC}/progs/demos/Fractals/Makefile.am
(Again: There may be more than just Fractals and libm.so.5 involved overall.)
Or maybe a patch file for progs/demos/Fractals/Makefile.am could be set up.
===
Mark Millard
markmi at dsl-only.net
On Sep 18, 2014, at 12:02 AM, Mark Millard <markmi at dsl-only.net> wrote:
For 10.1-??? I've been getting:
/usr/bin/ld: : invalid DSO for symbol `sin@@FBSD_1.0' definition
//lib/libm.so.5: could not read symbols: Bad value
*** [fractals] Error code 1
make[6]: stopped in /usr/obj/portswork/usr/ports/graphics/freeglut/work/freeglut-2.8.1/progs/demos/Fractals
when I attempt to portmaster xscreensaver. (The rest of the ports I try to build work fine, including all their dependencies. If xscreensaver finished it would be about 409 ports involved in all.)
I now note it to the list because I've now tried on on powerpc/GENERIC and powerpc64/GENERIC64 with and without /etc/make.conf having:
WITH_DEBUG_FILES=
WITHOUT_CLANG=
WITH_DEBUG=
[WRKDIRPREFIX=(path not listed here) always present]
when I buildworld kernel and use portmaster for the ports.
It appears that no matter what style of build on a PowerMac under either powerpc/GENERIC or powerpc64/GENERIC64 /lib/libm.so.5 ends up with this problem (or the ld checks for invalid DSO's end up wrong --or both).
I first noticed this with 10.1-PRERELEASE
FreeBSD FBSDG4S0 10.1-PRERELEASE FreeBSD 10.1-PRERELEASE #0 r271215: Sat Sep 6 23:56:15 PDT 2014 root at FBSDG4S0:/usr/obj/usr/src/sys/GENERIC powerpc
I can not claim just what was the last prior working case I had with 10.0-STABLE but all those were "as distributed" installs instead of personal "buildworld kernel" based on a source updates. For 10.1-??? I've been experimenting with source based tracking/building, mostly building on Quad-core PowerMac G5s (booted with either GENERIC based or GENERIC64 based worlds/kernels, up to DDB/GDB being added or not). Here GENERIC and GENERIC64 were not updated at all.
It has continued with the likes of
FreeBSD FBSDG4S1 10.1-BETA1 FreeBSD 10.1-BETA1 #1 r271610M: Wed Sep 17 21:47:20 PDT 2014 root at FBSDG4S1:/usr/obj/usr/src/sys/GENERIC powerpc
and its GENERIC64 variant. (M in r271610M because of DDB and GDB options added to GENERIC and GENERIC64.)
===
Mark Millard
markmi at dsl-only.net
More information about the freebsd-ppc
mailing list