Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Sep 2014 17:15:41 -0700
From:      Justin Hibbits <jrh29@alumni.cwru.edu>
To:        Nathan Whitehorn <nwhitehorn@freebsd.org>
Cc:        FreeBSD PowerPC ML <freebsd-ppc@freebsd.org>, Mark Millard <markmi@dsl-only.net>
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:  <CAHSQbTDfMqdHW2X%2Bt-m1FtnAGwzDVWuOt98EfpZwjPve2nnWYw@mail.gmail.com>
In-Reply-To: <54220467.5070603@freebsd.org>
References:  <6FE3262D-7AC1-4A1A-B298-5DEABAE37750@dsl-only.net> <7BA54C8F-5B1C-4F8A-B0FD-E218A1D3E1F8@dsl-only.net> <54220467.5070603@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Actually it's an issue with the port.  The toolchain guys made ld more
strict, requiring all libraries to be specified on the command line,
rather than following the DT_NEEDED links.  There is a whole host of
ports that have the problem of missing -lm.  Some have been fixed, but
many more remain.

- Justin

On Tue, Sep 23, 2014 at 4:38 PM, Nathan Whitehorn
<nwhitehorn@freebsd.org> wrote:
> You might want to ask the people over on freebsd-toolchain about this. It
> looks like some issue with binutils.
> -Nathan
>
>
> On 09/23/14 15:53, Mark Millard wrote:
>>
>> 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@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@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@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.)
>>
>>
>> ===
>> Mark Millard
>> markmi at dsl-only.net
>>
>>
>> _______________________________________________
>> freebsd-ppc@freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-ppc
>> To unsubscribe, send any mail to "freebsd-ppc-unsubscribe@freebsd.org"
>>
>
> _______________________________________________
> freebsd-ppc@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-ppc
> To unsubscribe, send any mail to "freebsd-ppc-unsubscribe@freebsd.org"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAHSQbTDfMqdHW2X%2Bt-m1FtnAGwzDVWuOt98EfpZwjPve2nnWYw>