RE: Compilation problem: ROOT 5.34.00

From: Timur Pocheptsov <Timur.Pocheptsov_at_cern.ch>
Date: Wed, 13 Jun 2012 15:26:46 +0000

I think, this can produce the new problem with GL libraries, which still depend on X11 in 5.34.
I'll try to compile the trunk to check.
________________________________________
From: Fons Rademakers
Sent: 13 June 2012 17:25
To: Christopher Rob Jones
Cc: Timur Pocheptsov; roottalk@root.cern.ch
Subject: Re: [ROOT] Compilation problem: ROOT 5.34.00

Hi Chris,

  this should not be fixed in the trunk and v5-34-00-patches. Let me know
if it is ok for you.

Cheers, Fons.


On 13/06/2012 01:19, Chris Jones 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 -lC
int -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@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@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@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@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@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@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@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@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>
>>
>

--
Org:    CERN, European Laboratory for Particle Physics.
Mail:   1211 Geneve 23, Switzerland
E-Mail: Fons.Rademakers@cern.ch              Phone: +41 22 7679248
WWW:    http://fons.rademakers.org           Fax:   +41 22 7669640


Received on Wed Jun 13 2012 - 17:26:53 CEST

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