Re: Compilation problem: ROOT 5.34.00

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


Hi,

(cc'ing the root list, just to bring the discussion back there)

I've managed to trace the problem to what looks to me like a conflict between different root configure options.

I normally configure with the options

                    --with-x11-libdir=/opt/local/lib 
                    --with-xpm-libdir=/opt/local/lib

This works fine if I build without --enable-cocoa

If I add --enable-cocoa then I get the build failure below, due to the invalid link option for XLIBS

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 - 01:19:34 CEST

This archive was generated by hypermail 2.2.0 : Wed Jun 13 2012 - 17:50:01 CEST