New Install: 32bit-64bit lib mis-match

Hello ROOTers,

I have scoured these threads looking for the answer to this only to find the inevitably similar yet tangential solutions that wont work. So here’s my problem:

After updating to Root v. 28 via a complete re-install from source, on my Mac OX using the macosx64 arch type, and running root, the following occurs:

root [1] TBrowser asdf;
dyld: lazy symbol binding failed: Symbol not found: _png_create_read_struct
  Referenced from: /Users/atb03a/Research/root/lib/libASImage.so
  Expected in: flat namespace

dyld: Symbol not found: _png_create_read_struct
  Referenced from: /Users/atb03a/Research/root/lib/libASImage.so
  Expected in: flat namespace

So I looked in my make log and found:

g++ -dynamiclib -single_module -undefined dynamic_lookup -install_name @rpath/libASImage.so -O2 -m64 -mmacosx-version-min=10.6 -o lib/libASImage.so graf2d/asimage/src/TASImage.o graf2d/asimage/src/TASPluginGS.o graf2d/asimage/src/G__ASImage.o -ldl lib/libAfterImage.a -L/opt/local/lib -lfreetype -lz -L/opt/local/lib -L/opt/local/lib -ljpeg -lpng -lz -L/usr/X11R6/lib -lXpm -L/usr/X11R6/lib -lXext -lX11 -L/usr/X11R6/lib -lXft
g++ -dynamiclib -single_module -undefined dynamic_lookup -install_name @rpath/libASImageGui.so -O2 -m64 -mmacosx-version-min=10.6 -o lib/libASImageGui.so graf2d/asimage/src/TASPaletteEditor.o graf2d/asimage/src/G__ASImageGui.o -ldl lib/libAfterImage.a -L/opt/local/lib -lfreetype -lz -L/opt/local/lib -L/opt/local/lib -ljpeg -lpng -lz -L/usr/X11R6/lib -lXpm -L/usr/X11R6/lib -lXext -lX11 -L/usr/X11R6/lib -lXft
ld: warning: in /opt/local/lib/libfreetype.dylib, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in /opt/local/lib/libz.dylib, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in /opt/local/lib/libjpeg.dylib, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in /opt/local/lib/libpng.dylib, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in /opt/local/lib/libXpm.dylib, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in /opt/local/lib/libX11.dylib, file was built for i386 which is not the architecture being linked (x86_64)
==> lib/libASImageGui.so done
ld: warning: in /opt/local/lib/libfreetype.dylib, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in /opt/local/lib/libz.dylib, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in /opt/local/lib/libjpeg.dylib, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in /opt/local/lib/libpng.dylib, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in /opt/local/lib/libXpm.dylib, file was built for i386 which is not the architecture being linked (x86_64)
ld: warning: in /opt/local/lib/libX11.dylib, file was built for i386 which is not the architecture being linked (x86_64)
==> lib/libASImage.so done

Which I half-way expected. So it seems I am having a 32-64bit miss-match with these libraries. Is there a way to recompile these libraries for x86-64? Or do I need to go back to using i386… which I really don’t want to do…

Really, I am here because I don’t know how to proceed with this info all together, so if the above question sounded ill-posed, it’s because I have only a cursory understanding of what exactly is going on :unamused:

Thanks in advance for the fantastic help!
~AB

Hi,

these files come from an old 32-bit MacPorts setup. Please either remove them (so ROOT will use the built-in version) or reinstall MacPorts for 64-bit.

Cheers, Fons.