Re: Compilation problem: ROOT 5.34.00

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


Hi,

On 13/06/12 09:42, Fons Rademakers wrote:
> Hi Chris,
>
> I'll check. All X11 related options should be turned off.

Thanks. Note I don't think this is necessarily specific to the option --enable-cocoa option, as I am pretty sure I have seen the same thing before, with other combinations of configure options.

Chris

>
> Cheers, Fons.
>
> On 13 Jun 2012, at 01:19, Chris Jones<jonesc_at_hep.phy.cam.ac.uk> wrote:
>
>> 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 -l
Cint -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 -lCin
t
>>>>>>>> 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 - 14:22:03 CEST

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