[llvm-commits] [llvm] r65517 - in /llvm/trunk: Makefile.rules bindings/ocaml/Makefile.ocaml docs/MakefileGuide.html unittests/Makefile.unittest
Nathan Keynes
Nathan.Keynes at Sun.COM
Mon Mar 2 23:27:37 PST 2009
On 03/03/2009, at 2:55 PM, Nick Lewycky wrote:
> Nathan Keynes wrote:
>> On 26/02/2009, at 5:44 PM, Nick Lewycky wrote:
>>
>>> Author: nicholas
>>> Date: Thu Feb 26 01:44:16 2009
>>> New Revision: 65517
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=65517&view=rev
>>> Log:
>>> Remove libtool.
>>>
>>> Modified:
>>> llvm/trunk/Makefile.rules
>>> llvm/trunk/bindings/ocaml/Makefile.ocaml
>>> llvm/trunk/docs/MakefileGuide.html
>>> llvm/trunk/unittests/Makefile.unittest
>>>
>>> Modified: llvm/trunk/Makefile.rules
>>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/Makefile.rules?rev=65517&r1=65516&r2=65517&view=diff
>>
>> This patch broke Solaris builds (and is currently still broken on
>> trunk) -
>>
>> gmake[1]: Entering directory `/zcratch/sunlabs/nkeynes/llvm-65517/
>> utils'
>> if [ ! -f TableGen/Makefile ]; then \
>> /zcratch/sunlabs/nkeynes/llvm-65517/autoconf/mkinstalldirs
>> TableGen; \
>> /usr/bin/cp /zcratch/sunlabs/nkeynes/llvm-65517/utils/
>> TableGen/Makefile TableGen/Makefile; \
>> fi; \
>> gmake -C TableGen all
>> gmake[2]: Entering directory `/zcratch/sunlabs/nkeynes/llvm-65517/
>> utils/TableGen'
>> llvm[2]: Linking Debug executable tblgen
>> g++ -I/zcratch/sunlabs/nkeynes/llvm-65517/include -I/zcratch/sunlabs/
>> nkeynes/llvm-65517/utils/TableGen -D_DEBUG -include llvm/System/
>> Solaris.h -D_GNU_SOURCE -D__STD
>> C_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -g -fPIC -Woverloaded-
>> virtual
>> -pedantic -Wall -W -Wwrite-strings -Wno-long-long -Wunused -Wno-
>> unused-
>> parameter -g -Wl,-rpath
>> -Wl,/zcratch/sunlabs/nkeynes/llvm-65517/Debug/bin -export-dynamic -L/
>> zcratch/sunlabs/nkeynes/llvm-65517/Debug/lib -L/zcratch/sunlabs/
>> nkeynes/llvm-65517/Debug/lib -o
>> /zcratch/sunlabs/nkeynes/llvm-65517/Debug/bin/tblgen /zcratch/
>> sunlabs/nkeynes/llvm-65517/utils/TableGen/Debug/AsmWriterEmitter.o /
>> zcratch/sunlabs/nkeynes/llvm-b0rke
>> d/utils/TableGen/Debug/CallingConvEmitter.o /zcratch/sunlabs/nkeynes/
>> llvm-65517/utils/TableGen/Debug/CodeEmitterGen.o /zcratch/sunlabs/
>> nkeynes/llvm-65517/utils/TableG
>> en/Debug/CodeGenDAGPatterns.o /zcratch/sunlabs/nkeynes/llvm-65517/
>> utils/TableGen/Debug/CodeGenInstruction.o /zcratch/sunlabs/nkeynes/
>> llvm-65517/utils/TableGen/Debug/C
>> odeGenTarget.o /zcratch/sunlabs/nkeynes/llvm-65517/utils/TableGen/
>> Debug/DAGISelEmitter.o /zcratch/sunlabs/nkeynes/llvm-65517/utils/
>> TableGen/Debug/FastISelEmitter.o /z
>> cratch/sunlabs/nkeynes/llvm-65517/utils/TableGen/Debug/
>> InstrEnumEmitter.o /zcratch/sunlabs/nkeynes/llvm-65517/utils/
>> TableGen/
>> Debug/InstrInfoEmitter.o /zcratch/sunlabs
>> /nkeynes/llvm-65517/utils/TableGen/Debug/IntrinsicEmitter.o /zcratch/
>> sunlabs/nkeynes/llvm-65517/utils/TableGen/Debug/
>> LLVMCConfigurationEmitter.o /zcratch/sunlabs/nkey
>> nes/llvm-65517/utils/TableGen/Debug/Record.o /zcratch/sunlabs/
>> nkeynes/
>> llvm-65517/utils/TableGen/Debug/RegisterInfoEmitter.o /zcratch/
>> sunlabs/
>> nkeynes/llvm-65517/utils
>> /TableGen/Debug/SubtargetEmitter.o /zcratch/sunlabs/nkeynes/
>> llvm-65517/
>> utils/TableGen/Debug/TGLexer.o /zcratch/sunlabs/nkeynes/llvm-65517/
>> utils/TableGen/Debug/TGParse
>> r.o /zcratch/sunlabs/nkeynes/llvm-65517/utils/TableGen/Debug/
>> TGValueTypes.o /zcratch/sunlabs/nkeynes/llvm-65517/utils/TableGen/
>> Debug/TableGen.o /zcratch/sunlabs/nkeyn
>> es/llvm-65517/utils/TableGen/Debug/TableGenBackend.o -lLLVMSupport -
>> lLLVMSystem \
>> -lpthread -lmalloc -lm -lelf
>> ld: fatal: option -dn and -P are incompatible
>> ld: fatal: Flags processing errors
>> collect2: ld returned 1 exit status
>> gmake[2]: *** [/zcratch/sunlabs/nkeynes/llvm-65517/Debug/bin/tblgen]
>> Error 1
>> gmake[2]: Leaving directory /zcratch/sunlabs/nkeynes/llvm-65517/
>> utils/
>> TableGen'
>> gmake[1]: *** [TableGen/.makeall] Error 2
>> gmake[1]: Leaving directory /zcratch/sunlabs/nkeynes/llvm-65517/
>> utils'
>> gmake: *** [all] Error 1
>>
>> Previous version used the following link line:
>> g++ -I/zcratch/sunlabs/nkeynes/llvm/include -I/zcratch/sunlabs/
>> nkeynes/
>> llvm/utils/TableGen -D_DEBUG -include llvm/System/Solaris.h -
>> D_GNU_SOURCE -D__STDC_LIMIT_MACROS -
>> D__STDC_CONSTANT_MACROS -g -fPIC -Woverloaded-virtual -pedantic -
>> Wall -
>> W -Wwrite-strings -Wno-long-long -Wunused -Wno-unused-parameter -g -
>> o /
>> zcratch/sunlabs/nkeynes/ll
>> vm/Debug/bin/tblgen /zcratch/sunlabs/nkeynes/llvm/utils/TableGen/
>> Debug/
>> AsmWriterEmitter.o /zcratch/sunlabs/nkeynes/llvm/utils/TableGen/
>> Debug/
>> CallingConvEmitter.o /zcrat
>> ch/sunlabs/nkeynes/llvm/utils/TableGen/Debug/CodeEmitterGen.o /
>> zcratch/
>> sunlabs/nkeynes/llvm/utils/TableGen/Debug/CodeGenDAGPatterns.o /
>> zcratch/sunlabs/nkeynes/llvm/util
>> s/TableGen/Debug/CodeGenInstruction.o /zcratch/sunlabs/nkeynes/llvm/
>> utils/TableGen/Debug/CodeGenTarget.o /zcratch/sunlabs/nkeynes/llvm/
>> utils/TableGen/Debug/DAGISelEmitt
>> er.o /zcratch/sunlabs/nkeynes/llvm/utils/TableGen/Debug/
>> FastISelEmitter.o /zcratch/sunlabs/nkeynes/llvm/utils/TableGen/Debug/
>> InstrEnumEmitter.o /zcratch/sunlabs/nkeynes
>> /llvm/utils/TableGen/Debug/InstrInfoEmitter.o /zcratch/sunlabs/
>> nkeynes/
>> llvm/utils/TableGen/Debug/IntrinsicEmitter.o /zcratch/sunlabs/
>> nkeynes/
>> llvm/utils/TableGen/Debug/L
>> LVMCConfigurationEmitter.o /zcratch/sunlabs/nkeynes/llvm/utils/
>> TableGen/Debug/Record.o /zcratch/sunlabs/nkeynes/llvm/utils/TableGen/
>> Debug/RegisterInfoEmitter.o /zcratch
>> /sunlabs/nkeynes/llvm/utils/TableGen/Debug/SubtargetEmitter.o /
>> zcratch/
>> sunlabs/nkeynes/llvm/utils/TableGen/Debug/TGLexer.o /zcratch/sunlabs/
>> nkeynes/llvm/utils/TableGen/
>> Debug/TGParser.o /zcratch/sunlabs/nkeynes/llvm/utils/TableGen/Debug/
>> TGValueTypes.o /zcratch/sunlabs/nkeynes/llvm/utils/TableGen/Debug/
>> TableGen.o /zcratch/sunlabs/nkeyne
>> s/llvm/utils/TableGen/Debug/TableGenBackend.o -L/zcratch/sunlabs/
>> nkeynes/llvm/Debug/lib -lLLVMSupport -lLLVMSystem -lpthread -
>> lmalloc -
>> lm -lelf -Wl,-R -Wl,/zcratch/sun
>> labs/nkeynes/llvm/Debug/bin
>>
>>
>> The problem seems to be in the -Wl,-rpath -Wl,<path> option - the
>> Solaris linker needs -Wl,-R -Wl,<path> instead - mklib was converting
>> this automatically in previous versions.
>
> Thanks for the diagnosis! I've updated the build system, could you
> please try it again and report back whether it works now?
Hi Nick,
Thanks for the quick fix. Unfortunately I've now found two other
issues with the new build that I missed before -
Firstly, I also need to remove -export-dynamic from the linker
flags (I'm led to believe this is actually a libtool option rather
than a gcc option?) - I'd thought this was harmless but it also causes
the link to fail.
Secondly, it tries to build LTO.so (tools/lto) even though the
repo was configured with --disable-shared, and falls over when linking
it. I've also tried adding --disable-pic as well but it still tried to
build the library - I had to manually comment out the lto directory to
bypass it (As for the link failure itself, I'll have to dig into a bit
further - it's having relocation problems).
After those two fixes the build goes all the way through to the
end.
Cheers,
Nathan
More information about the llvm-commits
mailing list