[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