Linking ROOT 5.33 (trunk) on MacOSX 10.5.8

Hi ROOT devs,

I upgraded to the trunk today and had to do two things to make the some ROOT libraries link and my ROOT apps link properly to them.

The first was apparently a problem with Apple reusing symbols in 10.5, though I didn’t have the problem in 5.29. To get most of the libraries in graf3d to link, I needed to add:

-dylib_file /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib

to the makefile modules, like this:

  •   @$(MAKELIB) $(PLATFORM) $(LD) "$(LDFLAGS)" \
    
  •   @$(MAKELIB) $(PLATFORM) $(LD) "$(LDFLAGS) -dylib_file /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib" \
    

I had to do this for glew/Module.mk, ftgl/Module.mk, gl/Module.mk, and eve/Module.mk inside graf3d.

The second issue was that in order to link my ROOT applications without manually listing libCint, libCore, and all other dependent symbols, I had to change this line in Makefile.arch under “macosx”:

-SOFLAGS = -dynamiclib -single_module -install_name $(CURDIR)/
+SOFLAGS = -dynamiclib -single_module -install_name $(CURDIR)/ -undefined dynamic_lookup

-Bart

Hi,

this should be ok now in the trunk.

Cheers, Fons.