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
Thanks in advance for the fantastic help!
~AB