Re: Compilation problem: ROOT 5.34.00

From: Chris Jones <jonesc_at_hep.phy.cam.ac.uk>
Date: Wed, 13 Jun 2012 01:00:33 +0100


Hi,

I've just noticed one other small problem.

If I build with --enable-cocoa, then the command $(prefix)/bin/root is not created. Only $(prefix)/bin/root.exe

exactly the same build, just without --enable-cocoa creates the usual 'root' command . e.g.

./configure --prefix=/Users/chris/tmp-cocoa --enable-cocoa

gives

macmini ~/Projects/root > ls ~/tmp-cocoa/bin/

genmap			memprobe		proofserv.exe		root.exe		roots			ssh2rpd
genreflex		pq2			rlibmap			rootcint		roots.exe		thisroot.csh
genreflex-rootcint	proofd			rmkdepend		rootd			setxrd.csh		thisroot.sh
hadd			proofserv		root-config		rootn.exe		setxrd.sh

whereas

> ./configure --prefix=/Users/chris/tmp-nococoa

gives

macmini ~/Projects/root > ls ~/tmp-nococoa/bin/

genmap			memprobe		proofserv.exe		root-config		rootn.exe		setxrd.sh
genreflex		pq2			rlibmap			root.exe		roots			ssh2rpd
genreflex-rootcint	proofd			rmkdepend		rootcint		roots.exe		thisroot.csh
hadd			proofserv		root			rootd			setxrd.csh		thisroot.sh

Note 'root' is present in the second case, but not the first.

cheers Chris

On 12 Jun 2012, at 11:56pm, Chris Jones wrote:

> Hi,
> 
> It appears to be XLIBS. If I run 'make showbuild' with and without cocoa enabled during configure, I get, 
> 
> with cocoa
> XLIBS              = /opt/local/lib  /opt/local/lib -lXext -lX11
> 
> without cocoa
> XLIBS              = -L/opt/local/lib -lXpm -L/opt/local/lib -lXext -lX11
> 
> The settings with cocoa is clearly wrong. Its missing the '-L' parts on the paths…
> 
> cheers Chris
> 
> On 12 Jun 2012, at 11:38pm, Chris Jones wrote:
> 

>> Hi,
>>
>> Here are two logs. One without cocoa enable (fails) one without (OK).
>>
>> The issue, to me, appears to be when cocoa is enabled the FTGL build gets some rogue "/opt/local/lib" entries (without -L) in the link command. i.e.
>>
>> /usr/bin/clang++ -dynamiclib -single_module -Wl,-dead_strip_dylibs -install_name /opt/local/lib/root/libFTGL.5.so -O2 -m64 -mmacosx-version-min=10.7 -o lib/libFTGL.5.34.so graf3d/ftgl/src/FTBitmapGlyph.o graf3d/ftgl/src/FTCharmap.o graf3d/ftgl/src/FTContour.o graf3d/ftgl/src/FTExtrdGlyph.o graf3d/ftgl/src/FTFace.o graf3d/ftgl/src/FTFont.o graf3d/ftgl/src/FTGLBitmapFont.o graf3d/ftgl/src/FTGLExtrdFont.o graf3d/ftgl/src/FTGLOutlineFont.o graf3d/ftgl/src/FTGLPixmapFont.o graf3d/ftgl/src/FTGLPolygonFont.o graf3d/ftgl/src/FTGLTextureFont.o graf3d/ftgl/src/FTGlyph.o graf3d/ftgl/src/FTGlyphContainer.o graf3d/ftgl/src/FTLibrary.o graf3d/ftgl/src/FTOutlineGlyph.o graf3d/ftgl/src/FTPixmapGlyph.o graf3d/ftgl/src/FTPoint.o graf3d/ftgl/src/FTPolyGlyph.o graf3d/ftgl/src/FTSize.o graf3d/ftgl/src/FTTextureGlyph.o graf3d/ftgl/src/FTVectoriser.o -ldl -L/opt/local/lib -lfreetype -lz -lbz2 /opt/local/lib /opt/local/lib -lXext -lX11 -L/usr/X11R6/lib -lGLU -lGL /opt/local/lib -lX11 -lm -Llib -lCore -lCint -compatibility_version 5 -current_version 5.34.00
>> ld: in /opt/local/lib, can't map file, errno=22 for architecture x86_64
>> clang: error: linker command failed with exit code 1 (use -v to see invocation)
>> make: *** [lib/libFTGL.so] Error 1
>> make: *** Waiting for unfinished jobs....
>> ln -fs libGQuartz.5.34.so lib/libGQuartz.so
>>
>> any idea where these could be coming from ?
>>
>> Chris
>>
>>
>> On 12 Jun 2012, at 10:41pm, Timur Pocheptsov wrote:
>>
>>>> From your e-mail:
>>> 
>>> /usr/bin/clang++ -dynamiclib -single_module -Wl,-dead_strip_dylibs -install_name /opt/local/lib/root/libFTGL.so -O2 -m64 -mmacosx-version-min=10.7 -o lib/libFTGL.so graf3d/ftgl/src/FTBitmapGlyph.o graf3d/ftgl/src/FTCharmap.o graf3d/ftgl/src/FTContour.o graf3d/ftgl/src/FTExtrdGlyph.o graf3d/ftgl/src/FTFace.o graf3d/ftgl/src/FTFont.o graf3d/ftgl/src/FTGLBitmapFont.o graf3d/ftgl/src/FTGLExtrdFont.o graf3d/ftgl/src/FTGLOutlineFont.o graf3d/ftgl/src/FTGLPixmapFont.o graf3d/ftgl/src/FTGLPolygonFont.o graf3d/ftgl/src/FTGLTextureFont.o graf3d/ftgl/src/FTGlyph.o graf3d/ftgl/src/FTGlyphContainer.o graf3d/ftgl/src/FTLibrary.o graf3d/ftgl/src/FTOutlineGlyph.o graf3d/ftgl/src/FTPixmapGlyph.o graf3d/ftgl/src/FTPoint.o graf3d/ftgl/src/FTPolyGlyph.o graf3d/ftgl/src/FTSize.o graf3d/ftgl/src/FTTextureGlyph.o graf3d/ftgl/src/FTVectoriser.o -ldl -L/opt/local/lib -lfreetype -lz -lbz2 /opt/local/lib /opt/local/lib -lXext -lX11 -L/opt/local/lib -lGLU -lGL /opt/local/lib -lX11 -lm -Llib -lCore -lCint
>>> ld: in /opt/local/lib, can't map file, errno=22 for architecture x86_64
>>> clang: error: linker command failed with exit code 1 (use -v to see invocation)
>>> make: *** [lib/libFTGL.so] Error 1
>>> make: *** Waiting for unfinished jobs....
>>> 
>>> I want to see these line for X11 + clang configuration. You can do make clean-ftgl and make to re-compile ftgl, I need the output to compare what is so different with cocoa.
>>> ________________________________________
>>> From: Chris Jones [jonesc_at_hep.phy.cam.ac.uk]
>>> Sent: 12 June 2012 23:34
>>> To: Timur Pocheptsov
>>> Subject: Re: [ROOT] Compilation problem: ROOT 5.34.00
>>> 
>>> On 12 Jun 2012, at 10:33pm, Timur Pocheptsov wrote:
>>> 
>>>> Any difference in the commands executed by makefile with --enable-cocoa and without it while compiling FTGL?
>>> 
>>> Just so I am clear, please send *exactly* the configure commands you want me to try.
>>> 
>>>> ________________________________________
>>>> From: Chris Jones [jonesc_at_hep.phy.cam.ac.uk]
>>>> Sent: 12 June 2012 23:26
>>>> To: Timur Pocheptsov
>>>> Subject: Re: [ROOT] Compilation problem: ROOT 5.34.00
>>>> 
>>>> p.s. yes, it builds find with --with-clang *only*
>>>> 
>>>> On 12 Jun 2012, at 10:23pm, Timur Pocheptsov wrote:
>>>> 
>>>>> It can not be so, since before I told you today about --with-clang you were using gcc 4.7.0
>>>>> So, can you make distclean, and configure with --with-clang only?
>>>>> ________________________________________
>>>>> From: Chris Jones [jonesc_at_hep.phy.cam.ac.uk]
>>>>> Sent: 12 June 2012 23:22
>>>>> To: Timur Pocheptsov
>>>>> Subject: Re: [ROOT] Compilation problem: ROOT 5.34.00
>>>>> 
>>>>> On 12 Jun 2012, at 10:21pm, Timur Pocheptsov wrote:
>>>>> 
>>>>>> Strange, FTGL in 5.34 is also not modified, so, in principle, if you can compile/link X11 version, it should be ok with cocoa also.
>>>>>> Can it be clang + your gl libraries problem?
>>>>>> 
>>>>>> What will happen, if you configure with --with-clang only, without --enable-cocoa?
>>>>> 
>>>>> Everything is fine if I build without --enable-cocoa.
>>>>> 
>>>>> Chris
>>>>> 
>>>>>> ________________________________________
>>>>>> From: Chris Jones [jonesc_at_hep.phy.cam.ac.uk]
>>>>>> Sent: 12 June 2012 23:17
>>>>>> To: Timur Pocheptsov
>>>>>> Subject: Re: [ROOT] Compilation problem: ROOT 5.34.00
>>>>>> 
>>>>>> Hi,
>>>>>> 
>>>>>> Still cannot get the cocoa backend to compile at all. I now get
>>>>>> 
>>>>>> /usr/bin/clang++ -dynamiclib -single_module -Wl,-dead_strip_dylibs -install_name /opt/local/lib/root/libFTGL.so -O2 -m64 -mmacosx-version-min=10.7 -o lib/libFTGL.so graf3d/ftgl/src/FTBitmapGlyph.o graf3d/ftgl/src/FTCharmap.o graf3d/ftgl/src/FTContour.o graf3d/ftgl/src/FTExtrdGlyph.o graf3d/ftgl/src/FTFace.o graf3d/ftgl/src/FTFont.o graf3d/ftgl/src/FTGLBitmapFont.o graf3d/ftgl/src/FTGLExtrdFont.o graf3d/ftgl/src/FTGLOutlineFont.o graf3d/ftgl/src/FTGLPixmapFont.o graf3d/ftgl/src/FTGLPolygonFont.o graf3d/ftgl/src/FTGLTextureFont.o graf3d/ftgl/src/FTGlyph.o graf3d/ftgl/src/FTGlyphContainer.o graf3d/ftgl/src/FTLibrary.o graf3d/ftgl/src/FTOutlineGlyph.o graf3d/ftgl/src/FTPixmapGlyph.o graf3d/ftgl/src/FTPoint.o graf3d/ftgl/src/FTPolyGlyph.o graf3d/ftgl/src/FTSize.o graf3d/ftgl/src/FTTextureGlyph.o graf3d/ftgl/src/FTVectoriser.o -ldl -L/opt/local/lib -lfreetype -lz -lbz2 /opt/local/lib /opt/local/lib -lXext -lX11 -L/opt/local/lib -lGLU -lGL /opt/local/lib -lX11 -lm -Llib -lCore -lCint
>>>>>> ld: in /opt/local/lib, can't map file, errno=22 for architecture x86_64
>>>>>> clang: error: linker command failed with exit code 1 (use -v to see invocation)
>>>>>> make: *** [lib/libFTGL.so] Error 1
>>>>>> make: *** Waiting for unfinished jobs....
>>>>>> 
>>>>>> Chris
>>>>>> 
>>>>>> On 12 Jun 2012, at 9:46pm, Timur Pocheptsov wrote:
>>>>>> 
>>>>>>> No, you do not have to do anything about X11.
>>>>>>> And I asked about X11 because OpenGL part in 5.34 is not implemented yet and all our GL code is still compiled/linked against GL library, installed with X11.
>>>>>>> ________________________________________
>>>>>>> From: Chris Jones [jonesc_at_hep.phy.cam.ac.uk]
>>>>>>> Sent: 12 June 2012 22:44
>>>>>>> To: Timur Pocheptsov
>>>>>>> Subject: Re: [ROOT] Compilation problem: ROOT 5.34.00
>>>>>>> 
>>>>>>> b.t.w., if I enable cocoa, should I actively disable X11 or not ?
>>>>>>> 
>>>>>>> On 12 Jun 2012, at 9:43pm, Chris Jones wrote:
>>>>>>> 
>>>>>>>> 
>>>>>>>> On 12 Jun 2012, at 9:42pm, Timur Pocheptsov wrote:
>>>>>>>> 
>>>>>>>>> Are you able to compile/build without --enable-cocoa?
>>>>>>>> 
>>>>>>>> yes, no problem.
>>>>>>>> 
>>>>>>>>> This is glew related problem I never had.
>>>>>>>>> I can build both 5-34 and trunk, but sure, may be this is because of my concrete setup.
>>>>>>>> 
>>>>>>>> I've had glew issues from MacPorts before, which it seems to new root version automatically finds… Let me investigate a bit…
>>>>>>>> 
>>>>>>>> Chris
>>>>>>>> 
>>>>>>>>> ________________________________________
>>>>>>>>> From: Chris Jones [jonesc_at_hep.phy.cam.ac.uk]
>>>>>>>>> Sent: 12 June 2012 22:39
>>>>>>>>> To: Timur Pocheptsov
>>>>>>>>> Subject: Re: [ROOT] Compilation problem: ROOT 5.34.00
>>>>>>>>> 
>>>>>>>>> On 12 Jun 2012, at 9:32pm, Chris Jones wrote:
>>>>>>>>> 
>>>>>>>>>> Hi,
>>>>>>>>>> 
>>>>>>>>>> In progress already. waiting to see if it fails or not…
>>>>>>>>> 
>>>>>>>>> I'm afraid it fails….
>>>>>>>>> 
>>>>>>>>>> Undefined symbols for architecture x86_64:
>>>>>>>>>> "___GLXEW_ARB_multisample", referenced from:
>>>>>>>>>> TGLFormat::InitAvailableSamples() in TGLFormat.o
>>>>>>>>>> ld: symbol(s) not found for architecture x86_64
>>>>>>>>>> clang: error: linker command failed with exit code 1 (use -v to see invocation)
>>>>>>>>>> make: *** [lib/libRGL.so] Error 1
>>>>>>>>> 
>>>>>>>>> I'm using OS X 10.7.4 and Xcode 4.3.2, which provides
>>>>>>>>> 
>>>>>>>>>> macmini ~/Projects/root > which clang++
>>>>>>>>>> /usr/bin/clang++
>>>>>>>>>> macmini ~/Projects/root > clang++ --version
>>>>>>>>>> Apple clang version 3.1 (tags/Apple/clang-318.0.58) (based on LLVM 3.1svn)
>>>>>>>>>> Target: x86_64-apple-darwin11.4.0
>>>>>>>>>> Thread model: posix
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> What versions *does* the cocoa backend work with ?
>>>>>>>>> 
>>>>>>>>> Chris
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>> Chris
>>>>>>>>>> 
>>>>>>>>>> On 12 Jun 2012, at 9:31pm, Timur Pocheptsov wrote:
>>>>>>>>>> 
>>>>>>>>>>> Can you try --with-clang?
>>>>>>>>>>> ________________________________________
>>>>>>>>>>> From: Chris Jones [jonesc_at_hep.phy.cam.ac.uk]
>>>>>>>>>>> Sent: 12 June 2012 22:24
>>>>>>>>>>> To: Timur Pocheptsov
>>>>>>>>>>> Subject: Re: [ROOT] Compilation problem: ROOT 5.34.00
>>>>>>>>>>> 
>>>>>>>>>>> On 12 Jun 2012, at 9:20pm, Timur Pocheptsov wrote:
>>>>>>>>>>> 
>>>>>>>>>>>> The only option you need is --enable-cocoa. I have a clang 3.0 (I'm not quite sure, I was updating Xcode so many times, and sure anymore :).
>>>>>>>>>>>> Do you have an Xcode installed on your mac?
>>>>>>>>>>> 
>>>>>>>>>>> yes, of course…
>>>>>>>>>>> 
>>>>>>>>>>> However, if I just run with --enable-cocoa the build chooses to use gcc, not clang…. Do you not have the system /usr/bin/g++ ?
>>>>>>>>>>> 
>>>>>>>>>>> macmini ~/Projects/root > ./configure --enable-cocoa
>>>>>>>>>>> Checking for source directory ... /Users/chris/Projects/root
>>>>>>>>>>> Configuring for macosx64
>>>>>>>>>>> Checking for Fink/MacPorts directory ... /opt/local
>>>>>>>>>>> Checking for GNU Make version >= 3.80 ... ok
>>>>>>>>>>> Checking for C compiler ... gcc
>>>>>>>>>>> Checking for C++ compiler ... g++
>>>>>>>>>>> Checking for linker (LD) ... g++
>>>>>>>>>>> Checking for F77 compiler ... no F77 compiler gfortran found
>>>>>>>>>>> <snip>
>>>>>>>>>>> 
>>>>>>>>>>> macmini ~/Projects/root > which g++
>>>>>>>>>>> /usr/bin/g++
>>>>>>>>>>> 
>>>>>>>>>>> Chris
>>>>>>>>>>> 
>>>>>>>>>>>> ________________________________________
>>>>>>>>>>>> From: Chris Jones [jonesc_at_hep.phy.cam.ac.uk]
>>>>>>>>>>>> Sent: 12 June 2012 22:18
>>>>>>>>>>>> To: Timur Pocheptsov
>>>>>>>>>>>> Subject: Re: [ROOT] Compilation problem: ROOT 5.34.00
>>>>>>>>>>>> 
>>>>>>>>>>>> On 12 Jun 2012, at 9:16pm, Timur Pocheptsov wrote:
>>>>>>>>>>>> 
>>>>>>>>>>>>>> Just to be clear, you are saying the cocoa backend can only be compiled with clang, not gcc ?
>>>>>>>>>>>>> 
>>>>>>>>>>>>> I never tried to compile it using gcc and have NO idea, if gcc can compile it at all, especially if this is not a gcc from Apple (which is old and can not work with ROOT's identifiers :)) ) but gcc from some other sources
>>>>>>>>>>>> 
>>>>>>>>>>>> well, it doesn't seem to work with gcc 47 from MacPorts….
>>>>>>>>>>>> 
>>>>>>>>>>>> Could you send me some idea of how you configure root to build with clang ? what version do you used, what other options you set ?
>>>>>>>>>>>> 
>>>>>>>>>>>> cheers Chris
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>> 
>>>> 
>>> 

>> <MacPorts-nococoa.log><MacPorts.log>

>

Received on Wed Jun 13 2012 - 02:00:45 CEST

This archive was generated by hypermail 2.2.0 : Wed Jun 13 2012 - 11:50:02 CEST