Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Sep 2014 15:53:35 -0700
From:      Mark Millard <markmi@dsl-only.net>
To:        FreeBSD PowerPC ML <freebsd-ppc@freebsd.org>
Subject:   Re: //lib/libm.so.5: could not read symbols: Bad value and /usr/bin/ld: : invalid DSO for symbol `sin@@FBSD_1.0' definition
Message-ID:  <7BA54C8F-5B1C-4F8A-B0FD-E218A1D3E1F8@dsl-only.net>
In-Reply-To: <6FE3262D-7AC1-4A1A-B298-5DEABAE37750@dsl-only.net>
References:  <6FE3262D-7AC1-4A1A-B298-5DEABAE37750@dsl-only.net>

next in thread | previous in thread | raw e-mail | index | archive | help
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=3D or other =
such added. But WRKDIRPREFIX=3D(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@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 =3D -lm

(which it does) but to put LIBM to use by effectively adding $(LIBM) to:

LIBS =3D -lXi -lXrandr -lXxf86vm=20

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 =3D ../../../src/lib@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.








=3D=3D=3D
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/d=
emos/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=3D
WITHOUT_CLANG=3D
WITH_DEBUG=3D

[WRKDIRPREFIX=3D(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@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@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.)


=3D=3D=3D
Mark Millard
markmi at dsl-only.net





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7BA54C8F-5B1C-4F8A-B0FD-E218A1D3E1F8>