[llvm-commits] [llvm] r65517 - in /llvm/trunk: Makefile.rules bindings/ocaml/Makefile.ocaml docs/MakefileGuide.html unittests/Makefile.unittest

Nick Lewycky nicholas at mxc.ca
Mon Mar 2 23:46:27 PST 2009


Nathan Keynes wrote:
> 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.

Does g++ -rdynamic work for you in place of -export-dynamic?

>       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).

Totally dumb typo. Thanks for drawing my attention to it.

Nick

> 
>      After those two fixes the build goes all the way through to the  
> end.
> 
> Cheers,
> Nathan
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> 




More information about the llvm-commits mailing list