You are not logged in.

1

Friday, January 30th 2009, 7:56pm

Error while building Qt v4.4.0: libQtCore.so.4.4.0.debug: Not enough room for program headers, try linking with -N

Hello,

I'm trying to build Qt v4.4.0 on OpenSolaris 5.11 on x86 using gcc v4.3.3.

I configure with the following command line:

./configure --prefix=/opt/qt -debug-and-release -qt-gif -no-cups -no-nis -optimized-qmake --platform=solaris-g++

Configure completes with no errors. During the build, I get a lot of relocation errors similar to the following:

ld: warning: relocation warning: R_386_GOTOFF: file .obj/release-shared/qfontjpcodec.o: section .rel.eh_frame: symbol .LFB2617: relocation against discarded COMDAT section .gnu.linkonce.t._ZN5QListI10QByteArrayED1Ev: symbol not found, relocation ignored

Then the build dies at this point:

ln -s libQtCore.so.4.4.0 libQtCore.so
ln -s libQtCore.so.4.4.0 libQtCore.so.4
ln -s libQtCore.so.4.4.0 libQtCore.so.4.4
rm -f ../../lib/libQtCore.so.4.4.0
rm -f ../../lib/libQtCore.so
rm -f ../../lib/libQtCore.so.4
rm -f ../../lib/libQtCore.so.4.4
mv -f libQtCore.so.4.4.0 libQtCore.so libQtCore.so.4 libQtCore.so.4.4 ../../lib/
(test -z "../../lib/" || cd "../../lib/" ; targ=`basename libQtCore.so.4.4.0`; objcopy --only-keep-debug "$targ" "$targ.debug" && objcopy --strip-debug "$targ" && objcopy --add-gnu-debuglink="$targ.debug" "$targ" && chmod -x "$targ.debug" ) ;
BFD: libQtCore.so.4.4.0.debug: Not enough room for program headers, try linking with -N
objcopy: libQtCore.so.4.4.0.debug: Bad value
BFD: libQtCore.so.4.4.0.debug: Not enough room for program headers, try linking with -N
objcopy: libQtCore.so.4.4.0.debug: Bad value
gmake[1]: *** [../../lib/libQtCore.so.4.4.0] Error 1
gmake[1]: Leaving directory `/download/qt-x11-commercial-src-4.4.0/src/corelib'
gmake: *** [sub-corelib-make_default-ordered] Error 2

I've tried adding -N to QMAKE_LFLAGS in ./mkspecs/solaris-g++/qmake.conf. When I do that, the build dies with a segmentation fault and core dump. I've also tried -reduce-relocations and various combinations of the options on the configure command line.

Has anybody encountered the "Not enough room for program headers, try linking with -N" error? If so, what is this telling me and what can I do to get around this error?

Thanks,
Jon

2

Monday, February 2nd 2009, 7:29pm

Never mind, I specified 64-bit platform (--platform=solaris-g++-64) and it's making it further now. On to the next issue...


--Jon