Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 47975 - media-sound/museseq-0.6.2 build fails on amd64 (relocation R_X86_64_32 can not be used when making a shared object ; recompile with -fPIC)
Summary: media-sound/museseq-0.6.2 build fails on amd64 (relocation R_X86_64_32 can no...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: AMD64 Project
URL:
Whiteboard:
Keywords:
Depends on: 45658
Blocks:
  Show dependency tree
 
Reported: 2004-04-15 15:21 UTC by Frank van de Pol (RETIRED)
Modified: 2004-05-26 10:51 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Frank van de Pol (RETIRED) gentoo-dev 2004-04-15 15:21:55 UTC
In an attempt to get media-sound/museseq-0.6.2 running on amd64 I found out that near the end of the build process the linker failes.  This defect is also discussed on the amd64 pages:

<http://www.gentoo.org/proj/en/base/amd64/technotes.xml?part=2&chap=3>
"There used to be issues with the lack of -fPIC being specified when building shared objects, the reasoning is in this mailing list post: Porting to Hammer -- scan down to "Shared libraries must be compiled with -fPIC". If you find any packages that complain about needing -fPIC to run/link properly, please notify us immediately, as we need to update that package. Please do not specify -fPIC in your global CFLAGS as that is not an acceptable solution and just a workaround. "



Reproducible: Always
Steps to Reproduce:
1. add ~amd64 to media-sound/museseq/museseq-0.6.2.ebuild
2. emerge museseq
3.

Actual Results:  
Calculating dependencies ...done! 
>>> emerge (1 of 1) media-sound/museseq-0.6.2 to / 
>>> md5 src_uri ;-) muse-0.6.2.tar.bz2 
>>> Unpacking source... 
>>> Unpacking muse-0.6.2.tar.bz2 to /var/tmp/portage/museseq-0.6.2/work 
>>> Source unpacked. 
ladcca 
jack 
 * Scanning for a open DISPLAY to start Xvfb... 
 * Starting Xvfb on $DISPLAY=1 ... 
configure: WARNING: If you wanted to set the --build type, don't use --host. 
    If a cross compiler is detected then cross compile mode will be used. 
checking for a BSD-compatible install... /bin/install -c 
checking whether build environment is sane... yes 
checking for gawk... gawk 
checking whether make sets $(MAKE)... yes 
checking for x86_64-pc-linux-gnu-strip... no 
checking for strip... strip 
checking whether to enable maintainer-specific portions of Makefiles... no 
checking for x86_64-pc-linux-gnu-gcc... gcc 
checking for C compiler default output... a.out 
checking whether the C compiler works... yes 
checking whether we are cross compiling... no 
checking for suffix of executables... 
checking for suffix of object files... o 
 
 
<some stuf deleted to avoid waste time for the reader> 
 
 
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -g -fno-exceptions -Wall -W -D_GNU_SOURCE 
-D_REENTRANT   -DQT_CLEAN_NAMESPACE -DQT_NO_COMPAT   -I.. -I../widgets 
-I/usr/qt/3/include    -O2 -MT doublelabel.non-libtool.o -MD -MP -MF 
".deps/doublelabel.non-libtool.Tpo" \ 
  -c -o doublelabel.non-libtool.o `test -f 'doublelabel.non-libtool.cpp' || echo 
'./'`doublelabel.non-libtool.cpp; \ 
then mv ".deps/doublelabel.non-libtool.Tpo" ".deps/doublelabel.non-libtool.Po"; \ 
else rm -f ".deps/doublelabel.non-libtool.Tpo"; exit 1; \ 
fi 
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -g -fno-exceptions -Wall -W -D_GNU_SOURCE 
-D_REENTRANT   -DQT_CLEAN_NAMESPACE -DQT_NO_COMPAT   -I.. -I../widgets 
-I/usr/qt/3/include    -O2 -MT moc_doublelabel.non-libtool.o -MD -MP -MF 
".deps/moc_doublelabel.non-libtool.Tpo" \ 
  -c -o moc_doublelabel.non-libtool.o `test -f 'moc_doublelabel.non-libtool.cpp' || echo 
'./'`moc_doublelabel.non-libtool.cpp; \ 
then mv ".deps/moc_doublelabel.non-libtool.Tpo" ".deps/moc_doublelabel.non-libtool.Po"; \ 
else rm -f ".deps/moc_doublelabel.non-libtool.Tpo"; exit 1; \ 
fi 
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -g -fno-exceptions -Wall -W -D_GNU_SOURCE 
-D_REENTRANT   -DQT_CLEAN_NAMESPACE -DQT_NO_COMPAT   -I.. -I../widgets 
-I/usr/qt/3/include    -O2 -MT dentry.non-libtool.o -MD -MP -MF ".deps/dentry.non-libtool.Tpo" \ 
  -c -o dentry.non-libtool.o `test -f 'dentry.non-libtool.cpp' || echo './'`dentry.non-libtool.cpp; \ 
then mv ".deps/dentry.non-libtool.Tpo" ".deps/dentry.non-libtool.Po"; \ 
else rm -f ".deps/dentry.non-libtool.Tpo"; exit 1; \ 
fi 
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -g -fno-exceptions -Wall -W -D_GNU_SOURCE 
-D_REENTRANT   -DQT_CLEAN_NAMESPACE -DQT_NO_COMPAT   -I.. -I../widgets 
-I/usr/qt/3/include    -O2 -MT moc_dentry.non-libtool.o -MD -MP -MF 
".deps/moc_dentry.non-libtool.Tpo" \ 
  -c -o moc_dentry.non-libtool.o `test -f 'moc_dentry.non-libtool.cpp' || echo 
'./'`moc_dentry.non-libtool.cpp; \ 
then mv ".deps/moc_dentry.non-libtool.Tpo" ".deps/moc_dentry.non-libtool.Po"; \ 
else rm -f ".deps/moc_dentry.non-libtool.Tpo"; exit 1; \ 
fi 
if /bin/sh ../libtool --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I.. -g -fno-exceptions -Wall -W 
-D_GNU_SOURCE -D_REENTRANT   -DQT_CLEAN_NAMESPACE -DQT_NO_COMPAT   -I.. 
-I../widgets -I/usr/qt/3/include    -O2 -MT moc_ttoolbar.lo -MD -MP -MF ".deps/moc_ttoolbar.Tpo" \ 
  -c -o moc_ttoolbar.lo `test -f 'moc_ttoolbar.cpp' || echo './'`moc_ttoolbar.cpp; \ 
then mv ".deps/moc_ttoolbar.Tpo" ".deps/moc_ttoolbar.Plo"; \ 
else rm -f ".deps/moc_ttoolbar.Tpo"; exit 1; \ 
fi 
rm -f .libs/moc_ttoolbar.lo 
g++ -DHAVE_CONFIG_H -I. -I. -I.. -g -fno-exceptions -Wall -W -D_GNU_SOURCE 
-D_REENTRANT -DQT_CLEAN_NAMESPACE -DQT_NO_COMPAT -I.. -I../widgets 
-I/usr/qt/3/include -O2 -MT moc_ttoolbar.lo -MD -MP -MF .deps/moc_ttoolbar.Tpo -c 
moc_ttoolbar.cpp  -fPIC -DPIC -o .libs/moc_ttoolbar.lo 
g++ -DHAVE_CONFIG_H -I. -I. -I.. -g -fno-exceptions -Wall -W -D_GNU_SOURCE 
-D_REENTRANT -DQT_CLEAN_NAMESPACE -DQT_NO_COMPAT -I.. -I../widgets 
-I/usr/qt/3/include -O2 -MT moc_ttoolbar.lo -MD -MP -MF .deps/moc_ttoolbar.Tpo -c 
moc_ttoolbar.cpp -o moc_ttoolbar.o >/dev/null 2>&1 
mv -f .libs/moc_ttoolbar.lo moc_ttoolbar.lo 
/bin/sh ../libtool --mode=link g++  -O2   -o libwidgets.la  -static utils.lo citem.lo vscale.lo drange.lo 
sclif.lo dimap.lo scldiv.lo mmath.lo scldraw.lo scrollscale.lo view.lo nentry.lo mtscale.lo sigscale.lo 
hitscale.lo intlabel.lo doublelabel.lo canvas.lo noteinfo.lo dentry.lo siglabel.lo ttoolbar.lo tb1.lo 
lcombo.lo swidget.lo tempolabel.lo tools.lo fontsel.lo ctrlcombo.lo sliderbase.lo slider.lo midisyncimpl.lo 
header.lo knob.lo mlabel.lo genset.lo mixdowndialog.lo spinboxFP.lo comboQuant.lo bigtime.lo 
comment.lo splitter.lo gatetime.lo velocity.lo audioconf.lo metronome.lo posedit.lo pitchedit.lo 
pitchlabel.lo poslabel.lo filedialog.lo sigedit.lo midisync.lo gensetbase.lo midirawbase.lo ccontrolbase.lo 
mixdowndialogbase.lo transposebase.lo transformbase.lo appearancebase.lo itransformbase.lo 
commentbase.lo synthconfigbase.lo gatetimebase.lo velocitybase.lo audioconfbase.lo 
metronomebase.lo mtrackinfobase.lo wtrackinfobase.lo editctrl7dialogbase.lo editmetadialogbase.lo 
editnotedialogbase.lo editsysexdialogbase.lo cliplisteditorbase.lo mittransposebase.lo fdialogbuttons.lo 
moc_scrollscale.lo moc_view.lo moc_nentry.lo moc_mtscale.lo moc_sigscale.lo moc_hitscale.lo 
moc_intlabel.lo moc_doublelabel.lo moc_canvas.lo moc_noteinfo.lo moc_dentry.lo moc_siglabel.lo 
moc_ttoolbar.lo moc_tb1.lo moc_lcombo.lo moc_swidget.lo moc_tempolabel.lo moc_tools.lo 
moc_fontsel.lo moc_ctrlcombo.lo moc_sliderbase.lo moc_slider.lo moc_midisyncimpl.lo moc_header.lo 
moc_knob.lo moc_mlabel.lo moc_genset.lo moc_mixdowndialog.lo moc_spinboxFP.lo 
moc_comboQuant.lo moc_bigtime.lo moc_comment.lo moc_splitter.lo moc_gatetime.lo moc_velocity.lo 
moc_audioconf.lo moc_metronome.lo moc_posedit.lo moc_pitchedit.lo moc_pitchlabel.lo 
moc_poslabel.lo moc_filedialog.lo moc_sigedit.lo  -lasound -lm -ldl -L/usr/qt/3/lib -lqt-mt -lqui 
/bin/sh ../libtool --mode=link g++  -O2   -o musewidgetsplugin.so --whole-archive -fno-exceptions 
-shared -Wl,-soname,libmusewidgetsplugin.so.1 -L/usr/qt/3/lib -lqt-mt -lqui musewidgetsplug.o xml.o 
tempo.o sig.o pos.o moc_posedit.non-libtool.o moc_poslabel.non-libtool.o moc_sigedit.non-libtool.o 
moc_pitchedit.non-libtool.o moc_pitchlabel.non-libtool.o moc_tempolabel.non-libtool.o 
posedit.non-libtool.o poslabel.non-libtool.o pitchedit.non-libtool.o pitchlabel.non-libtool.o 
sigedit.non-libtool.o tempolabel.non-libtool.o slider.non-libtool.o moc_slider.non-libtool.o 
sliderbase.non-libtool.o moc_sliderbase.non-libtool.o sclif.non-libtool.o scldiv.non-libtool.o 
mmath.non-libtool.o scldraw.non-libtool.o dimap.non-libtool.o drange.non-libtool.o 
doublelabel.non-libtool.o moc_doublelabel.non-libtool.o dentry.non-libtool.o moc_dentry.non-libtool.o  
-lasound -lm -ldl -L/usr/qt/3/lib -lqt-mt -lqui 
rm -fr .libs/libwidgets.la .libs/libwidgets.* .libs/libwidgets.* 
ar cru .libs/libwidgets.a  utils.o citem.o vscale.o drange.o sclif.o dimap.o scldiv.o mmath.o scldraw.o 
scrollscale.o view.o nentry.o mtscale.o sigscale.o hitscale.o intlabel.o doublelabel.o canvas.o noteinfo.o 
dentry.o siglabel.o ttoolbar.o tb1.o lcombo.o swidget.o tempolabel.o tools.o fontsel.o ctrlcombo.o 
sliderbase.o slider.o midisyncimpl.o header.o knob.o mlabel.o genset.o mixdowndialog.o spinboxFP.o 
comboQuant.o bigtime.o comment.o splitter.o gatetime.o velocity.o audioconf.o metronome.o 
posedit.o pitchedit.o pitchlabel.o poslabel.o filedialog.o sigedit.o midisync.o gensetbase.o 
midirawbase.o ccontrolbase.o mixdowndialogbase.o transposebase.o transformbase.o 
appearancebase.o itransformbase.o commentbase.o synthconfigbase.o gatetimebase.o velocitybase.o 
audioconfbase.o metronomebase.o mtrackinfobase.o wtrackinfobase.o editctrl7dialogbase.o 
editmetadialogbase.o editnotedialogbase.o editsysexdialogbase.o cliplisteditorbase.o 
mittransposebase.o fdialogbuttons.o moc_scrollscale.o moc_view.o moc_nentry.o moc_mtscale.o 
moc_sigscale.o moc_hitscale.o moc_intlabel.o moc_doublelabel.o moc_canvas.o moc_noteinfo.o 
moc_dentry.o moc_siglabel.o moc_ttoolbar.o moc_tb1.o moc_lcombo.o moc_swidget.o 
moc_tempolabel.o moc_tools.o moc_fontsel.o moc_ctrlcombo.o moc_sliderbase.o moc_slider.o 
moc_midisyncimpl.o moc_header.o moc_knob.o moc_mlabel.o moc_genset.o moc_mixdowndialog.o 
moc_spinboxFP.o moc_comboQuant.o moc_bigtime.o moc_comment.o moc_splitter.o 
moc_gatetime.o moc_velocity.o moc_audioconf.o moc_metronome.o moc_posedit.o moc_pitchedit.o 
moc_pitchlabel.o moc_poslabel.o moc_filedialog.o moc_sigedit.o 
g++ -O2 -o musewidgetsplugin.so --whole-archive -fno-exceptions -shared -Wl,-soname 
-Wl,libmusewidgetsplugin.so.1 musewidgetsplug.o xml.o tempo.o sig.o pos.o 
moc_posedit.non-libtool.o moc_poslabel.non-libtool.o moc_sigedit.non-libtool.o 
moc_pitchedit.non-libtool.o moc_pitchlabel.non-libtool.o moc_tempolabel.non-libtool.o 
posedit.non-libtool.o poslabel.non-libtool.o pitchedit.non-libtool.o pitchlabel.non-libtool.o 
sigedit.non-libtool.o tempolabel.non-libtool.o slider.non-libtool.o moc_slider.non-libtool.o 
sliderbase.non-libtool.o moc_sliderbase.non-libtool.o sclif.non-libtool.o scldiv.non-libtool.o 
mmath.non-libtool.o scldraw.non-libtool.o dimap.non-libtool.o drange.non-libtool.o 
doublelabel.non-libtool.o moc_doublelabel.non-libtool.o dentry.non-libtool.o moc_dentry.non-libtool.o  
-L/usr/qt/3/lib /usr/lib/libasound.so /usr/qt/3/lib/libqt-mt.so 
-L/usr/X11R6/lib /usr/lib/libmng.so /usr/lib/libjpeg.so -lpng -lz -lXi -lXrender -lXrandr -lXcursor 
-lXft /usr/lib/libfreetype.so /usr/lib/libfontconfig.so -lXext -lX11 -lm -lSM -lICE -ldl -lpthread -lqui 
-Wl,--rpath -Wl,/usr/lib -Wl,--rpath -Wl,/usr/qt/3/lib -Wl,--rpath -Wl,/usr/lib -Wl,--rpath -Wl,/usr/qt/3/lib 
/usr/lib/gcc-lib/x86_64-pc-linux-gnu/3.3.3/../../../../x86_64-pc-linux-gnu/bin/ld: xml.o: relocation 
R_X86_64_32 can not be used when making a shared object; recompile with -fPIC 
xml.o: could not read symbols: Bad value 
collect2: ld returned 1 exit status 
make[3]: *** [musewidgetsplugin.so] Error 1 
make[3]: *** Waiting for unfinished jobs.... 
ranlib .libs/libwidgets.a 
creating libwidgets.la 
(cd .libs && rm -f libwidgets.la && ln -s ../libwidgets.la libwidgets.la) 
make[3]: Leaving directory `/var/tmp/portage/museseq-0.6.2/work/muse-0.6.2/widgets' 
make[2]: *** [all] Error 2 
make[2]: Leaving directory `/var/tmp/portage/museseq-0.6.2/work/muse-0.6.2/widgets' 
make[1]: *** [all-recursive] Error 1 
make[1]: Leaving directory `/var/tmp/portage/museseq-0.6.2/work/muse-0.6.2' 
make: *** [all] Error 2 
 
!!! ERROR: media-sound/museseq-0.6.2 failed. 
!!! Function src_compile, Line 60, Exitcode 2 
!!! (no error message) 
 
--------------------------- ACCESS VIOLATION SUMMARY --------------------------- 
LOG FILE = "/tmp/sandbox-media-sound_-_museseq-0.6.2-21398.log" 
 
open_wr:   /usr/qt/3/etc/settings/.qtrc.lock 
open_wr:   /usr/qt/3/etc/settings/.qtrc.lock 
-------------------------------------------------------------------------------- 
 

Expected Results:  
finished build resulting in an excellent MIDI sequencer
Comment 1 Danny van Dyk (RETIRED) gentoo-dev 2004-04-15 15:35:34 UTC
This is definitely NO "blocker", setting Severity to "normal".
Comment 2 Travis Tilley (RETIRED) gentoo-dev 2004-04-16 00:18:24 UTC
adding sound@, as i'm pretty damn confused about why this is getting a sandbox error... the ebuild already contains a sandbox fix, and yet i cant get rid of this error message.

!!! ERROR: media-sound/museseq-0.6.2 failed.
!!! Function src_compile, Line 60, Exitcode 2
!!! (no error message)
 
--------------------------- ACCESS VIOLATION SUMMARY ---------------------------LOG FILE = "/tmp/sandbox-media-sound_-_museseq-0.6.2-20308.log"
 
open_wr:   /usr/qt/3/etc/settings/.qtrc.lock
open_wr:   /usr/qt/3/etc/settings/.qtrc.lock
--------------------------------------------------------------------------------

Comment 3 Jeremy Huddleston (RETIRED) gentoo-dev 2004-04-16 00:26:09 UTC
There is a sandbox problem with uic... but the real fix needs to by -fPIC somewhere...
Comment 4 Danny van Dyk (RETIRED) gentoo-dev 2004-05-26 10:51:00 UTC
Aliz fixed this one but forgot closing it. However, he didn't fix the sandbox violation. That's done now.