Subject: pkg/30696: XMMS Solaris10 i386 mpg123
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: Gilles Dauphin <dauphin@enst.fr>
List: pkgsrc-bugs
Date: 07/08/2005 12:51:00
>Number:         30696
>Category:       pkg
>Synopsis:       XMMS Solaris10 i386 mpg123
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Jul 08 12:51:00 +0000 2005
>Originator:     Gilles Dauphin
>Release:        SunOS 5.10 i86pc
>Organization:
ENST 
>Environment:


System: SunOS bi.enst.fr 5.10 Generic i86pc


>Description:


xmms build error 

 gcc -DHAVE_CONFIG_H -I. -I../.. -I../../xmms -I/usr/pkgsrc/audio/xmms/work/.buildlink/include/gtk-1.2 -I/usr/pkgsrc/audio/
xmms/work/.buildlink/include/glib/glib-1.2 -I/usr/pkgsrc/audio/xmms/work/.buildlink/lib/glib/include -D_REENTRANT -I/usr/pk
gsrc/audio/xmms/work/.x11-buildlink/include -DI386_ASSEM -I../../intl -DHAVE_ICONV_OPEN=1 -I/usr/pkgsrc/audio/xmms/work/.bu
ildlink/include -DGLX_GLXEXT_LEGACY -O -Wall -Wpointer-arith -finline-functions -fomit-frame-pointer -ffast-math -funroll-a
ll-loops -MT dct64_i386.lo -MD -MP -MF .deps/dct64_i386.Tpo -c dct64_i386.c  -fPIC -DPIC -o .libs/dct64_i386.o
/bin/ksh ../../libtool --mode=compile gcc  -O -I/usr/pkg/include -DGLX_GLXEXT_LEGACY -I/usr/include -Wall -Wpointer-arith -
finline-functions -fomit-frame-pointer -ffast-math -funroll-all-loops -c -o decode_i586.lo `test -f 'decode_i586.s' || echo
 './'`decode_i586.s
 gcc -O -I/usr/pkgsrc/audio/xmms/work/.buildlink/include -DGLX_GLXEXT_LEGACY -Wall -Wpointer-arith -finline-functions -fomi
t-frame-pointer -ffast-math -funroll-all-loops -c decode_i586.s  -fPIC -DPIC -o .libs/decode_i586.o
/bin/ksh ../../libtool --mode=link gcc  -O -I/usr/pkg/include -DGLX_GLXEXT_LEGACY -I/usr/include -Wall -Wpointer-arith -fin
line-functions -fomit-frame-pointer -ffast-math -funroll-all-loops  -liconv -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -L/usr/lib -W
l,-R/usr/lib -L/usr/openwin/lib -Wl,-R/usr/openwin/lib -o libmpg123.la -rpath /usr/pkg/lib/xmms/Input -module -avoid-versio
n -export-symbols-regex "get_.plugin_info" mpg123.lo configure.lo fileinfo.lo common.lo decode_2to1.lo decode_4to1.lo layer
1.lo layer2.lo layer3.lo tabinit.lo equalizer.lo http.lo dxhead.lo id3.lo id3_frame.lo id3_frame_content.lo id3_frame_text.
lo id3_frame_url.lo id3_tag.lo decode_i386.lo dct64_i386.lo decode_i586.lo -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -Wl,-R/usr/ope
nwin/lib -L/usr/openwin/lib -Wl,-R/usr/openwin/lib -L/usr/openwin/lib -L/usr/openwin/lib -R/usr/openwin/lib -lgtk -lgdk -lg
module -lgthread -lglib -lthread -lintl -liconv -lXi -lXext -lX11 -lsocket -lnsl -lm -lpthread -lz ../../libxmms/libxmms.la
 -lintl -liconv
generating symbol list for `libmpg123.la'
nm -p  .libs/mpg123.o .libs/configure.o .libs/fileinfo.o .libs/common.o .libs/decode_2to1.o .libs/decode_4to1.o .libs/layer
1.o .libs/layer2.o .libs/layer3.o .libs/tabinit.o .libs/equalizer.o .libs/http.o .libs/dxhead.o .libs/id3.o .libs/id3_frame
.o .libs/id3_frame_content.o .libs/id3_frame_text.o .libs/id3_frame_url.o .libs/id3_tag.o .libs/decode_i386.o .libs/dct64_i
386.o .libs/decode_i586.o  | sed -n -e 's/^.*[  ]\([BDRT][BDRT]*\)[     ][      ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' |
 /usr/pkg/bin/nbsed 's/.* //' | sort | uniq > .libs/libmpg123.exp
grep -E -e "get_.plugin_info" ".libs/libmpg123.exp" > ".libs/libmpg123.expT"
mv -f ".libs/libmpg123.expT" ".libs/libmpg123.exp"
/usr/ucb/echo "{ global:" > .libs/libmpg123.so.exp
cat .libs/libmpg123.exp | /usr/pkg/bin/nbsed -e "s/\(.*\)/\1;/" >> .libs/libmpg123.so.exp
/usr/ucb/echo "local: *; };" >> .libs/libmpg123.so.exp
 gcc -shared -Wl,-M -Wl,.libs/libmpg123.so.exp -Wl,-h -Wl,libmpg123.so -o .libs/libmpg123.so  .libs/mpg123.o .libs/configur
e.o .libs/fileinfo.o .libs/common.o .libs/decode_2to1.o .libs/decode_4to1.o .libs/layer1.o .libs/layer2.o .libs/layer3.o .l
ibs/tabinit.o .libs/equalizer.o .libs/http.o .libs/dxhead.o .libs/id3.o .libs/id3_frame.o .libs/id3_frame_content.o .libs/i
d3_frame_text.o .libs/id3_frame_url.o .libs/id3_tag.o .libs/decode_i386.o .libs/dct64_i386.o .libs/decode_i586.o  -R/usr/pk
gsrc/audio/xmms/work/.buildlink/lib -R/usr/pkgsrc/audio/xmms/work/xmms-1.2.10/libxmms/.libs -R/usr/pkgsrc/audio/xmms/work/.
buildlink/lib -R/usr/pkg/lib -R/usr/openwin/lib -L/usr/pkgsrc/audio/xmms/work/.buildlink/lib -L/usr/pkgsrc/audio/xmms/work/
.x11-buildlink/lib /usr/pkgsrc/audio/xmms/work/.buildlink/lib/libgtk.so /usr/pkgsrc/audio/xmms/work/.buildlink/lib/libgdk.s
o /usr/pkgsrc/audio/xmms/work/.buildlink/lib/libgmodule.so /usr/pkgsrc/audio/xmms/work/.buildlink/lib/libgthread.so /usr/pk
gsrc/audio/xmms/work/.buildlink/lib/libglib.so -lthread -lXi -lXext -lX11 -lsocket -lnsl -lm -lpthread -lz ../../libxmms/.l
ibs/libxmms.so /usr/pkgsrc/audio/xmms/work/.buildlink/lib/libintl.so /usr/pkgsrc/audio/xmms/work/.buildlink/lib/libiconv.so
 -lc  -Wl,-R/usr/pkg/lib -Wl,-R/usr/openwin/lib
Text relocation remains                         referenced
    against symbol                  offset      in file
<unknown>                           0x13        .libs/decode_i586.o
<unknown>                           0x23        .libs/decode_i586.o
buffs                               0x28        .libs/decode_i586.o
buffs                               0x32        .libs/decode_i586.o
mpg123_decwin                       0x8e        .libs/decode_i586.o
ld: fatal: relocations remain against allocatable but non-writable sections
collect2: ld returned 1 exit status
gmake[3]: *** [libmpg123.la] Error 1
gmake[3]: Leaving directory `/usr/pkgsrc/audio/xmms/work/xmms-1.2.10/Input/mpg123'
gmake[2]: *** [all-recursive] Error 1
gmake[2]: Leaving directory `/usr/pkgsrc/audio/xmms/work/xmms-1.2.10/Input'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/pkgsrc/audio/xmms/work/xmms-1.2.10'
gmake: *** [all] Error 2
*** Error code 2



>How-To-Repeat:





>Fix:


Input/mpg123/decode_i586.s is not relocatable. An error append when
making shareable libs with gcc 3.4.3

Compile C code instead for SunOS i386 
or use -mimpure-text gcc option's



# diff -c /usr/pkgsrc/audio/xmms/work/xmms-1.2.10/configure.in /usr/pkgsrc/audio/xmms/work/xmms-1.2.10/configure.in.dist 
*** /usr/pkgsrc/audio/xmms/work/xmms-1.2.10/configure.in      Fri Jul  8 14:10:31 2005
--- /usr/pkgsrc/audio/xmms/work/xmms-1.2.10/configure.in.dist   Mon Feb 23 22:40:44 2004
***************
*** 506,512 ****
        i386-*-* | i486-*-* | i586-*-* | i686-*-* | i86pc-*-*)
                arch_type=ix86
                case "$host" in
!                       *-*-netbsd* | *-*openbsd* | *-*-solaris* | *-*-sunos*)
                        ;;
                        *)
                                ARCH_DEFINES="-DI386_ASSEM"
--- 506,512 ----
        i386-*-* | i486-*-* | i586-*-* | i686-*-* | i86pc-*-*)
                arch_type=ix86
                case "$host" in
!                       *-*-netbsd* | *-*openbsd*)
                        ;;
                        *)
                                ARCH_DEFINES="-DI386_ASSEM"