Subject: pkg/36208: pkgsrc 2007Q1 devel/SDL does not build if an old devel/yasm installed
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <hbent@cs.oberlin.edu>
List: pkgsrc-bugs
Date: 04/24/2007 22:45:00
>Number: 36208
>Category: pkg
>Synopsis: pkgsrc 2007Q1 devel/SDL does not build if an old devel/yasm installed
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Apr 24 22:45:00 +0000 2007
>Originator: Henry Bent
>Release: 4.99.17
>Organization:
Oberlin College CIT
>Environment:
NetBSD aelfric 4.99.17 NetBSD 4.99.17 (AELFRIC) #1: Tue Apr 10 17:23:39 EDT 2007 root@aelfric:/usr/obj/src-current/sys/arch/i386/compile/AELFRIC i386
>Description:
If devel/yasm older than 0.6 is installed, devel/SDL from pkgsrc 2007Q1 fails on the MMX assembly:
/bin/sh ./libtool --tag=CC --mode=compile ./build-scripts/strip_fPIC.sh /usr/pkg/bin/yasm -f elf -i ./src/hermes/ -DHIDDEN_VISIBILITY ./src/hermes/mmx_main.asm -o build/mmx_main.lo
/bin/sh ./libtool --tag=CC --mode=compile ./build-scripts/strip_fPIC.sh /usr/pkg/bin/yasm -f elf -i ./src/hermes/ -DHIDDEN_VISIBILITY ./src/hermes/mmxp2_32.asm -o build/mmxp2_32.lo
./build-scripts/strip_fPIC.sh /usr/pkg/bin/yasm -f elf -i ./src/hermes/ -DHIDDEN_VISIBILITY ./src/hermes/mmx_main.asm -fPIC -DPIC -o build/.libs/mmx_main.o
/usr/pkg/bin/yasm -f elf -i ./src/hermes/ -DHIDDEN_VISIBILITY ./src/hermes/mmx_main.asm -o build/.libs/mmx_main.o
./build-scripts/strip_fPIC.sh /usr/pkg/bin/yasm -f elf -i ./src/hermes/ -DHIDDEN_VISIBILITY ./src/hermes/mmxp2_32.asm -fPIC -DPIC -o build/.libs/mmxp2_32.o
./src/hermes/mmx_main.asm:75: invalid argument to [SECTION]
./src/hermes/mmx_main.asm:75: undefined symbol `.note.GNU' (first use)
./src/hermes/mmx_main.asm:75: undefined symbol `stack' (first use)
./src/hermes/mmx_main.asm:75: (Each undefined symbol is reported only once.)
[wrapper.sh] note: The real command line, after the pkgsrc wrapper, was:
/usr/pkg/bin/libtool --tag=CC --mode=compile ./build-scripts/strip_fPIC.sh /usr/pkg/bin/yasm -f elf -i ./src/hermes/ -DHIDDEN_VISIBILITY ./src/hermes/mmx_main.asm -o build/mmx_main.lo
gmake: *** [build/mmx_main.lo] Error 1
gmake: *** Waiting for unfinished jobs....
/usr/pkg/bin/yasm -f elf -i ./src/hermes/ -DHIDDEN_VISIBILITY ./src/hermes/mmxp2_32.asm -o build/.libs/mmxp2_32.o
./src/hermes/mmxp2_32.asm:406: invalid argument to [SECTION]
./src/hermes/mmxp2_32.asm:406: undefined symbol `.note.GNU' (first use)
./src/hermes/mmxp2_32.asm:406: undefined symbol `stack' (first use)
./src/hermes/mmxp2_32.asm:406: (Each undefined symbol is reported only once.)
[wrapper.sh] note: The real command line, after the pkgsrc wrapper, was:
/usr/pkg/bin/libtool --tag=CC --mode=compile ./build-scripts/strip_fPIC.sh /usr/pkg/bin/yasm -f elf -i ./src/hermes/ -DHIDDEN_VISIBILITY ./src/hermes/mmxp2_32.asm -o build/mmxp2_32.lo
gmake: *** [build/mmxp2_32.lo] Error 1
*** Error code 2
Stop.
make: stopped in /usr/pkgsrc/devel/SDL
*** Error code 1
Stop.
make: stopped in /usr/pkgsrc/devel/SDL
>How-To-Repeat:
As stated above, build devel/SDL with a version of devel/yasm before 0.6.
>Fix:
I think you just have to inhibit detection of yasm if it's an old version, but I'm not sure how to do that. I worked around the problem by uninstalling yasm entirely and letting SDL build with nasm.