Opened 12 years ago

Closed 12 years ago

#32555 closed defect (fixed)

iAIDA @1.0.17 fails to build with latest boost

Reported by: jb.morgado@… Owned by: cristiano.fontana@…
Priority: Normal Milestone:
Component: ports Version: 2.0.3
Keywords: Cc: mojca (Mojca Miklavec), apfeiffer1@…
Port: iAIDA

Description

Hello, the iAIDA package fails to build.

It complains about something from BOOST, although BOOST @1.48.0_2 was already installed in the system as a needed dependency.

:info:build /Developer/usr/bin/clang++ -fPIC -g -DBADENDS  -DHAVE_GRACE -DHAVE_ROOT  -I/opt/local/include  -I/opt/local/include -I..//\
opt/local/include -I/opt/local/include -I..//opt/local/include -I/opt/local/include -I..//opt/local/include -I//include -I..///include\
 -I../include -I.. -I. -I/opt/local/include -I..//opt/local/include -I`ROOTSYS=/opt/local /opt/local/bin/root-config --incdir` -c AIDA\
_MemoryStoreFactory.cpp -o AIDA_MemoryStoreFactory.o
:info:build In file included from AIDA_MemoryStore.cpp:30:
:info:build ..///include/AIDA_Plugin/AIDA_PluginLoader.h:29:10: fatal error: 'boost/pool/detail/singleton.hpp' file not found
:info:build #include "boost/pool/detail/singleton.hpp"
:info:build          ^
:info:build /Developer/usr/bin/clang++ -fPIC -g -DBADENDS  -DHAVE_GRACE -DHAVE_ROOT  -I/opt/local/include  -I/opt/local/include -I..//\
opt/local/include -I/opt/local/include -I..//opt/local/include -I/opt/local/include -I..//opt/local/include -I//include -I..///include\
 -I../include -I.. -I. -I/opt/local/include -I..//opt/local/include -I`ROOTSYS=/opt/local /opt/local/bin/root-config --incdir` -c AIDA\
_PluginType.cpp -o AIDA_PluginType.o
:info:build /Developer/usr/bin/clang++ -fPIC -g -DBADENDS  -DHAVE_GRACE -DHAVE_ROOT  -I/opt/local/include  -I/opt/local/include -I..//\
opt/local/include -I/opt/local/include -I..//opt/local/include -I/opt/local/include -I..//opt/local/include -I//include -I..///include\
 -I../include -I.. -I. -I/opt/local/include -I..//opt/local/include -I`ROOTSYS=/opt/local /opt/local/bin/root-config --incdir` -c AIDA\
_Profile1D.cpp -o AIDA_Profile1D.o
:info:build /Developer/usr/bin/clang++ -fPIC -g -DBADENDS  -DHAVE_GRACE -DHAVE_ROOT  -I/opt/local/include  -I/opt/local/include -I..//\
opt/local/include -I/opt/local/include -I..//opt/local/include -I/opt/local/include -I..//opt/local/include -I//include -I..///include\
 -I../include -I.. -I. -I/opt/local/include -I..//opt/local/include -I`ROOTSYS=/opt/local /opt/local/bin/root-config --incdir` -c AIDA\
_Profile1DIterator.cpp -o AIDA_Profile1DIterator.o
:info:build 1 error generated.
:info:build make[1]: *** [AIDA_MemoryStore.o] Error 1
:info:build make[1]: *** Waiting for unfinished jobs....
:info:build make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarba\
lls_ports_science_iAIDA/iAIDA/work/iAIDA-1.0.17/src'
:info:build make: *** [all] Error 2
:info:build make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs\
_ports_science_iAIDA/iAIDA/work/iAIDA-1.0.17'
:info:build shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_port\
s_science_iAIDA/iAIDA/work/iAIDA-1.0.17" && /usr/bin/make -j4 -w all CXX=/Developer/usr/bin/clang++ " returned error 2
:error:build Target org.macports.build returned: shell command failed (see log for details)
:debug:build Backtrace: shell command failed (see log for details)
    while executing
"command_exec build"
    (procedure "portbuild::build_main" line 8)
    invoked from within
"$procedure $targetname"
:info:build Warning: the following items did not execute (for iAIDA): org.macports.activate org.macports.build org.macports.destroot o\
rg.macports.install
:error:build Failed to install iAIDA
:debug:build couldn't open "/System/Library/Frameworks/Tcl.framework/Versions/8.5/Resources/tclIndex": no such file or directory
    while executing
"open [file join $dir tclIndex]"
:notice:build Log for iAIDA is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_po\
rts_science_iAIDA/iAIDA/main.log

Attachments (5)

main.log (29.7 KB) - added by ryandesign (Ryan Carsten Schmidt) 12 years ago.
main.2.log (123.8 KB) - added by jfcaron3 12 years ago.
jfcaron's build log
iAIDA-1.0.21.patch (967 bytes) - added by mojca (Mojca Miklavec) 12 years ago.
update to version 1.0.21
main.3.log (105.7 KB) - added by karl.hauschild@… 12 years ago.
iAIDA-1.0.22-Portfile.patch (1.2 KB) - added by apfeiffer1@… 12 years ago.
Patch for iAIDA portfile needed for version 1.0.22 (and later)

Download all attachments as: .zip

Change History (31)

comment:1 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Keywords: iAIDA boost removed
Owner: changed from macports-tickets@… to cristiano.fontana@…

I see the same on Snow Leopard with Xcode 3.2.6. I'll attach my main.log.

The include paths it's using in the -I flags are really bizarre.

It seems to be an incompatibility with the latest boost 1.48.0. The error message is correct: boost/pool/detail/singleton.hpp no longer exists in this version.

Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Attachment: main.log added

comment:2 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Summary: iAIDA @1.0.17 fails to buildiAIDA @1.0.17 fails to build with latest boost

Changed 12 years ago by jfcaron3

Attachment: main.2.log added

jfcaron's build log

comment:3 Changed 12 years ago by jfcaron3

I just attached my build log, seem to be a missing source file in boost. I am using boost 1.49.0, Mac OS 10.7.3, MacPorts 2.0.4

comment:4 Changed 12 years ago by adfernandes (Andrew Fernandes)

According to jfcaron's build log:

1259	:info:build In file included from AIDA_MemoryStore.cpp:30:
1260	:info:build ..///include/AIDA_Plugin/AIDA_PluginLoader.h:29:10: fatal error: 'boost/pool/detail/singleton.hpp' file not found
1261	:info:build #include "boost/pool/detail/singleton.hpp"
1262	:info:build          ^

The problem is that iAIDA is manually including a private boost header (the 'detail' part). User programs should never directly include "detail" headers except for version-specific bug-workarounds. I suggest patching iAIDA or contacting the iAIDA developers to fix their code upstream.

comment:5 Changed 12 years ago by dvfreese@…

I was able to get iAIDA working through a rather crude hack of creating the missing singleton.hpp file from the last version of boost that it existed in, which was 1.47.0 in the boost/pool/detail directory. I'm not familiar with the patching process, so I wouldn't know how to go about modifying the source to include the required file, or if that would even be an acceptable work-around.

http://www.boost.org/doc/libs/1_47_0/boost/pool/detail/singleton.hpp

I looks like version 1.0.18 might be dealing with these boost compatibility issues. 1.0.17 was last updated on 2009-06-12.

comment:6 Changed 12 years ago by mojca (Mojca Miklavec)

Cc: mojca.miklavec.lists@… added

Cc Me!

comment:7 Changed 12 years ago by apfeiffer1@…

The issue is now fixed in the iAIDA-1.0.19 release - though I don't know how to update the macports build. :( Apologies for the delay - I was not made aware of the issue until about two weeks ago. :(

comment:8 Changed 12 years ago by apfeiffer1@…

Cc: apfeiffer1@… added

Cc Me!

comment:9 Changed 12 years ago by mf2k (Frank Schima)

FYI, my attempt to build iAIDA 1.0.19 failed. First because the configure patch failed to apply. So I commented out the patchfile and tried again. This time it got a compile error with clang++. I'm on 10.7.4 with Xcode 4.4.1.

:info:build In file included from AIDA_MemoryStore.cpp:30:
:info:build ..///include/AIDA_Plugin/AIDA_PluginLoader.h:29:10: fatal error: 'boost/pool/detail/singleton.hpp' file not found
:info:build #include "boost/pool/detail/singleton.hpp"

comment:10 in reply to:  9 Changed 12 years ago by apfeiffer1@…

Replying to macsforever2000@…:

FYI, my attempt to build iAIDA 1.0.19 failed. First because the configure patch failed to apply. So I commented out the patchfile and tried again. This time it got a compile error with clang++. I'm on 10.7.4 with Xcode 4.4.1.

:info:build In file included from AIDA_MemoryStore.cpp:30:
:info:build ..///include/AIDA_Plugin/AIDA_PluginLoader.h:29:10: fatal error: 'boost/pool/detail/singleton.hpp' file not found
:info:build #include "boost/pool/detail/singleton.hpp"

Thanks for the report ! Don't know how I managed to not see this before, sorry. :( Anyhow, this is now fixed in 1.0.21 and I have verified it to build in a local macports installation on Lion (10.7.4 xcode 4.4 B 4F250).

And yes, the patch is no longer needed.

Sorry for this ... :(

Changed 12 years ago by mojca (Mojca Miklavec)

Attachment: iAIDA-1.0.21.patch added

update to version 1.0.21

comment:11 Changed 12 years ago by mojca (Mojca Miklavec)

I can confirm that 1.0.21 works for me. I attached the patch (in addition, files/patch-configure.diff can be removed, I just didn't include that change).

comment:12 Changed 12 years ago by mf2k (Frank Schima)

This builds now, but I see the following error afterwards when port scans for linking errors:

--->  Scanning binaries for linking errors: 94.7%
Could not open libiAIDA.dylib: Error opening or reading file (referenced from /opt/local/share/iAIDA/examples/exaH1)

Changed 12 years ago by karl.hauschild@…

Attachment: main.3.log added

comment:13 Changed 12 years ago by karl.hauschild@…

Hi,

I have had not been been able to install geant4.9.4 due to iAIDA and boost problems so the post above confirming that iAIDA 1.0.21 compiles was welcome.
However it appears that this is not yet available ? After a selfupdate info returns 1.0.17 as the version. (comment above stated patch no longer needed - is this the case ?)

[hauschild] : sudo port selfupdate

---> Updating MacPorts base sources using rsync
MacPorts base version 2.1.1 installed,
MacPorts base version 2.1.2 downloaded.
---> Updating the ports tree
---> MacPorts base is outdated, installing new version 2.1.2
Warning: Disabling readline support due to readline in /usr/local
Installing new MacPorts release in /opt/local as root:admin; permissions 0755; Tcl-Package in /Library/Tcl

The ports tree has been updated. To upgrade your installed ports, you should run

port upgrade outdated


[hauschild] : port info iAIDA iAIDA @1.0.17, Revision 1 (science)

Description: iAIDA is an implementation in C++ of the AIDA Abstract Interfaces for Data Analysis, a set of interfaces designed for data analysis.
Homepage: http://iaida.dynalias.net/[[BR]]
Library Dependencies: aida, grace, boost, root, openssl, expat, zlib
Platforms: darwin
License: LGPL-3 Maintainers: cristiano.fontana@…

Even though the version was not as I expected I thought I would continue anyway [10.6.8 and XCode 3.2.6]

[hauschild] : sudo port install iAIDA ---> Computing dependencies for libpng
---> Fetching archive for libpng
---> Attempting to fetch libpng-1.4.12_0.darwin_10.x86_64.tbz2 from http://packages.macports.org/libpng
---> Attempting to fetch libpng-1.4.12_0.darwin_10.x86_64.tbz2.rmd160 from http://packages.macports.org/libpng
---> Installing libpng @1.4.12_0
---> Cleaning libpng
---> Computing dependencies for libpng
---> Deactivating libpng @1.4.11_0
---> Cleaning libpng
---> Activating libpng @1.4.12_0
---> Cleaning libpng
---> Computing dependencies for Xft2
---> Fetching archive for Xft2
---> Attempting to fetch Xft2-2.3.1_0.darwin_10.x86_64.tbz2 from http://packages.macports.org/Xft2
---> Attempting to fetch Xft2-2.3.1_0.darwin_10.x86_64.tbz2.rmd160 from http://packages.macports.org/Xft2
---> Installing Xft2 @2.3.1_0
---> Cleaning Xft2
---> Computing dependencies for Xft2
---> Deactivating Xft2 @2.3.0_0
---> Cleaning Xft2
---> Activating Xft2 @2.3.1_0
---> Cleaning Xft2
---> Computing dependencies for boost
---> Fetching archive for boost
---> Attempting to fetch boost-1.50.0_0+no_single+no_static.darwin_10.x86_64.tbz2 from http://packages.macports.org/boost
---> Attempting to fetch boost-1.50.0_0+no_single+no_static.darwin_10.x86_64.tbz2.rmd160 from http://packages.macports.org/boost
---> Installing boost @1.50.0_0+no_single+no_static
---> Cleaning boost
---> Computing dependencies for boost
---> Deactivating boost @1.49.0_0
---> Cleaning boost
---> Activating boost @1.50.0_0+no_single+no_static
---> Cleaning boost
---> Computing dependencies for gdbm
---> Fetching archive for gdbm
---> Attempting to fetch gdbm-1.10_2.darwin_10.x86_64.tbz2 from http://packages.macports.org/gdbm
---> Attempting to fetch gdbm-1.10_2.darwin_10.x86_64.tbz2.rmd160 from http://packages.macports.org/gdbm
---> Installing gdbm @1.10_2
---> Cleaning gdbm
---> Computing dependencies for gdbm
---> Deactivating gdbm @1.10_1
---> Cleaning gdbm
---> Activating gdbm @1.10_2
---> Cleaning gdbm
---> Computing dependencies for glib2
---> Fetching archive for glib2
---> Attempting to fetch glib2-2.32.4_0.darwin_10.x86_64.tbz2 from http://packages.macports.org/glib2
---> Attempting to fetch glib2-2.32.4_0.darwin_10.x86_64.tbz2.rmd160 from http://packages.macports.org/glib2
---> Installing glib2 @2.32.4_0
---> Cleaning glib2
---> Computing dependencies for glib2
---> Deactivating glib2 @2.32.3_1
---> Cleaning glib2
---> Activating glib2 @2.32.4_0
---> Cleaning glib2
---> Fetching archive for xorg-glproto
---> Attempting to fetch xorg-glproto-1.4.16_0.darwin_10.noarch.tbz2 from http://packages.macports.org/xorg-glproto
---> Attempting to fetch xorg-glproto-1.4.16_0.darwin_10.noarch.tbz2.rmd160 from http://packages.macports.org/xorg-glproto
---> Installing xorg-glproto @1.4.16_0
---> Cleaning xorg-glproto
---> Deactivating xorg-glproto @1.4.15_0
---> Cleaning xorg-glproto
---> Activating xorg-glproto @1.4.16_0
---> Cleaning xorg-glproto
---> Fetching archive for xorg-dri2proto
---> Attempting to fetch xorg-dri2proto-2.8_0.darwin_10.noarch.tbz2 from http://packages.macports.org/xorg-dri2proto
---> Attempting to fetch xorg-dri2proto-2.8_0.darwin_10.noarch.tbz2.rmd160 from http://packages.macports.org/xorg-dri2proto
---> Installing xorg-dri2proto @2.8_0
---> Cleaning xorg-dri2proto
---> Deactivating xorg-dri2proto @2.6_0
---> Cleaning xorg-dri2proto
---> Activating xorg-dri2proto @2.8_0
---> Cleaning xorg-dri2proto
---> Computing dependencies for mesa
---> Fetching archive for mesa
---> Attempting to fetch mesa-8.0.4_0+python27.darwin_10.x86_64.tbz2 from http://packages.macports.org/mesa
---> Attempting to fetch mesa-8.0.4_0+python27.darwin_10.x86_64.tbz2.rmd160 from http://packages.macports.org/mesa
---> Installing mesa @8.0.4_0+python27
---> Cleaning mesa
---> Computing dependencies for mesa
---> Deactivating mesa @8.0.3_0+python27
---> Cleaning mesa
---> Activating mesa @8.0.4_0+python27
---> Cleaning mesa
---> Computing dependencies for gobject-introspection
---> Fetching archive for gobject-introspection
---> Attempting to fetch gobject-introspection-1.32.1_3.darwin_10.x86_64.tbz2 from http://packages.macports.org/gobject-introspection
---> Attempting to fetch gobject-introspection-1.32.1_3.darwin_10.x86_64.tbz2.rmd160 from http://packages.macports.org/gobject-introspection
---> Installing gobject-introspection @1.32.1_3
---> Activating gobject-introspection @1.32.1_3
---> Cleaning gobject-introspection
---> Computing dependencies for pango
---> Fetching archive for pango
---> Attempting to fetch pango-1.30.1_1+x11.darwin_10.x86_64.tbz2 from http://packages.macports.org/pango
---> Attempting to fetch pango-1.30.1_1+x11.darwin_10.x86_64.tbz2.rmd160 from http://packages.macports.org/pango
---> Installing pango @1.30.1_1+x11
---> Cleaning pango
---> Computing dependencies for pango
---> Deactivating pango @1.30.1_0+x11
---> Cleaning pango
---> Activating pango @1.30.1_1+x11
---> Cleaning pango
---> Computing dependencies for netpbm
---> Fetching archive for netpbm
---> Attempting to fetch netpbm-10.59.00_0.darwin_10.x86_64.tbz2 from http://packages.macports.org/netpbm
---> Attempting to fetch netpbm-10.59.00_0.darwin_10.x86_64.tbz2.rmd160 from http://packages.macports.org/netpbm
---> Installing netpbm @10.59.00_0
---> Cleaning netpbm
---> Computing dependencies for netpbm
---> Deactivating netpbm @10.47.37_0
---> Cleaning netpbm
---> Activating netpbm @10.59.00_0
---> Cleaning netpbm
---> Computing dependencies for gts
---> Fetching archive for gts
---> Attempting to fetch gts-0.7.6_2.darwin_10.x86_64.tbz2 from http://packages.macports.org/gts
---> Attempting to fetch gts-0.7.6_2.darwin_10.x86_64.tbz2.rmd160 from http://packages.macports.org/gts
---> Installing gts @0.7.6_2
---> Cleaning gts
---> Computing dependencies for gts
---> Deactivating gts @0.7.6_1
---> Cleaning gts
---> Activating gts @0.7.6_2
---> Cleaning gts
---> Computing dependencies for ruby
---> Fetching archive for ruby
---> Attempting to fetch ruby-1.8.7-p370_1.darwin_10.x86_64.tbz2 from http://packages.macports.org/ruby
---> Attempting to fetch ruby-1.8.7-p370_1.darwin_10.x86_64.tbz2 from http://macports.packages.ionic.de/ruby
---> Fetching distfiles for ruby
---> Verifying checksum(s) for ruby
---> Extracting ruby
---> Applying patches to ruby
---> Configuring ruby
---> Building ruby
---> Staging ruby into destroot
---> Installing ruby @1.8.7-p370_1
---> Cleaning ruby
---> Computing dependencies for ruby
---> Deactivating ruby @1.8.7-p370_0
---> Cleaning ruby
---> Activating ruby @1.8.7-p370_1
---> Cleaning ruby
Portfile changed since last build; discarding previous state.
---> Computing dependencies for root
---> Fetching archive for root
---> Attempting to fetch root-5.34.01_0+fftw3+graphviz+gsl+minuit2+mysql+opengl+roofit+ruby+soversion+ssl+tmva+xml.darwin_10.x86_64.tbz2 from http://packages.macports.org/root
---> Attempting to fetch root-5.34.01_0+fftw3+graphviz+gsl+minuit2+mysql+opengl+roofit+ruby+soversion+ssl+tmva+xml.darwin_10.x86_64.tbz2 from http://macports.packages.ionic.de/root
---> Fetching distfiles for root
---> Attempting to fetch root_v5.34.01.source.tar.gz from http://root.cern.ch/download/
---> Verifying checksum(s) for root
---> Extracting root
---> Applying patches to root
---> Configuring root
---> Building root
---> Staging root into destroot
---> Installing root @5.34.01_0+fftw3+graphviz+gsl+minuit2+mysql+opengl+roofit+ruby+soversion+ssl+tmva+xml
---> Cleaning root
---> Computing dependencies for root
---> Deactivating root @5.34.00_0+fftw3+graphviz+gsl+minuit2+mysql+opengl+roofit+ruby+soversion+ssl+tmva+xml
---> Cleaning root
---> Activating root @5.34.01_0+fftw3+graphviz+gsl+minuit2+mysql+opengl+roofit+ruby+soversion+ssl+tmva+xml
---> Cleaning root
---> Computing dependencies for iAIDA
---> Building iAIDA
Error: org.macports.build for port iAIDA returned: command execution failed
.....
Error: Processing of port iAIDA failed

Tried again....

[hauschild] : sudo port install iAIDA '
'Password:
---> Computing dependencies for iAIDA
---> Building iAIDA
Error: org.macports.build for port iAIDA returned: command execution failed
....
Error: Processing of port iAIDA failed

Cheers

log to follow:

comment:14 in reply to:  13 Changed 12 years ago by karl.hauschild@…

log to follow:

Sorry - /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_science_iAIDA/iAIDA/main.log
is in the post above

comment:15 Changed 12 years ago by mojca (Mojca Miklavec)

iAIDA port hasn't been upgraded yet, else this ticket would be closed. Even if dependency in examples is broken (which is not critical) - wouldn't it be better to upgrade to 1.0.21 and open another ticket for that problem instead?

comment:16 Changed 12 years ago by mf2k (Frank Schima)

@mojca: I can check in 1.0.21 but it still isn't working. I don't like to check in broken ports. Until the problem with the library is fixed, I won't be checking it in. Unfortunately I do not have the time to look into the problem right now. Please let me know if you figure anything out.

comment:17 Changed 12 years ago by apfeiffer1@…

I'm looking into this, but have not yet found the reason for the problem. :(

As far as I can see, the build is OK and the lib gets properly installed, so I don't know why it is not found in the DYLD_LIBRARY_PATH when the macports installation checks the executables (not very familiar with the internals of macports, I'm afraid :( ). And yes, in the worst case I can "fix" the installation to not build the tests and examples, however, I don't like that.

Will continue to look into it and see if I can find a proper working solution -- any hint/suggestion is welcome ! :)

Thanks - and apologies for the trouble ... :(

comment:18 Changed 12 years ago by mf2k (Frank Schima)

I noticed something different about the iAIDA dylib. Pretty much all dylibs have a version number encoded in the name but iAIDA does not.

For example:

$ ls -l /opt/local/lib/libiA*.dylib
-rwxr-xr-x  1 macports  admin  8150664 Aug 17 13:22 /opt/local/lib/libiAIDA.dylib
$ ls -l /opt/local/lib/libxml2*.dylib
-rwxr-xr-x  1 root  admin  2741672 Apr 24 08:48 /opt/local/lib/libxml2.2.dylib
lrwxr-xr-x  1 root  admin       15 Apr 24 08:48 /opt/local/lib/libxml2.dylib -> libxml2.2.dylib

comment:19 Changed 12 years ago by mojca (Mojca Miklavec)

OK, I'm sorry, I thought that only examples are broken. Now I see that iAIDA is not compiled properly at all. I find it weird, because it didn't complain on my system at first. I know of a workaround, running install_name_tool on libiAIDA.dylib after the build finishes, but it would be better to fix the building system in the long term. I would start by trying to remove LD_LIBRARY_PATH setting from all over the place (grepping for it finds it all over the place).

comment:20 Changed 12 years ago by mojca (Mojca Miklavec)

I forgot to say, try to call otool -L /opt/local/lib/lib<whatever>.dylib and you'll see that path to library is missing.

comment:21 Changed 12 years ago by mf2k (Frank Schima)

I'm not obviously seeing the problem.

$ otool -L /opt/local/lib/libiAIDA.dylib
/opt/local/lib/libiAIDA.dylib:
	libiAIDA.dylib (compatibility version 0.0.0, current version 0.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0)
	/opt/local/lib/libexpat.1.dylib (compatibility version 8.0.0, current version 8.0.0)
	/opt/local/lib/root/libCore.5.so (compatibility version 5.0.0, current version 5.34.1)
	/opt/local/lib/root/libCint.5.so (compatibility version 5.0.0, current version 5.34.1)
	/opt/local/lib/root/libRIO.5.so (compatibility version 5.0.0, current version 5.34.1)
	/opt/local/lib/root/libNet.5.so (compatibility version 5.0.0, current version 5.34.1)
	/opt/local/lib/root/libHist.5.so (compatibility version 5.0.0, current version 5.34.1)
	/opt/local/lib/root/libGraf.5.so (compatibility version 5.0.0, current version 5.34.1)
	/opt/local/lib/root/libGraf3d.5.so (compatibility version 5.0.0, current version 5.34.1)
	/opt/local/lib/root/libGpad.5.so (compatibility version 5.0.0, current version 5.34.1)
	/opt/local/lib/root/libTree.5.so (compatibility version 5.0.0, current version 5.34.1)
	/opt/local/lib/root/libRint.5.so (compatibility version 5.0.0, current version 5.34.1)
	/opt/local/lib/root/libPostscript.5.so (compatibility version 5.0.0, current version 5.34.1)
	/opt/local/lib/root/libMatrix.5.so (compatibility version 5.0.0, current version 5.34.1)
	/opt/local/lib/root/libPhysics.5.so (compatibility version 5.0.0, current version 5.34.1)
	/opt/local/lib/root/libMathCore.5.so (compatibility version 5.0.0, current version 5.34.1)
	/opt/local/lib/root/libThread.5.so (compatibility version 5.0.0, current version 5.34.1)
	/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 52.0.0)
	/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1094.0.0)

comment:22 Changed 12 years ago by mojca (Mojca Miklavec)

It should have been

$ otool -L /opt/local/lib/libiAIDA.dylib
/opt/local/lib/libiAIDA.dylib:
	/opt/local/lib/libiAIDA.dylib (compatibility version <something>, current version <something>)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0)
	...

comment:23 Changed 12 years ago by mojca (Mojca Miklavec)

I removed all references of LD_LIBRARY_PATH and DYLD_LIBRARY_PATH tried port -v build iaida and then went to src and tried the command which generates dylib:

iAIDA/work/iAIDA-1.0.21/src> /usr/bin/clang++ -o libiAIDA.dylib -dynamiclib -single_module -undefined dynamic_lookup -lm -lc -fPIC -g -DBADENDS  -DHAVE_GRACE -DHAVE_ROOT  -I/opt/local/include  -I/opt/local/include -I..//opt/local/include -I/opt/local/include -I..//opt/local/include -I/opt/local/include -I..//opt/local/include -I//include -I..///include -I../include -I.. -I. -I/opt/local/include -I..//opt/local/include -I/opt/local/include/root AIDA_AnalysisFactory.o AIDA_BaseHistogram.o AIDA_BoundedProfile1D.o AIDA_BoundedProfile2D.o AIDA_ChainedTuple.o AIDA_Cloud1D.o AIDA_Cloud1DIterator.o AIDA_Cloud2D.o AIDA_Cloud2DIterator.o AIDA_Cloud3D.o AIDA_Cloud3DIterator.o AIDA_DataPoint.o AIDA_DataPointSet.o AIDA_DataPointSetFactory.o AIDA_DataPointSetIterator.o AIDA_DevDataPointSetFactory.o AIDA_DevEvaluatorFactory.o AIDA_DevFilterFactory.o AIDA_DevFunctionFactory.o AIDA_DevHistogramFactory.o AIDA_DevTupleFactory.o AIDA_Evaluator.o AIDA_Filter.o AIDA_FilterRange.o AIDA_FitData.o AIDA_FitDataIterator.o AIDA_FitFactory.o AIDA_FitParameterSettings.o AIDA_FitResult.o AIDA_Fitter.o AIDA_FunctionAdapter.o AIDA_FunctionCatalog.o AIDA_FunctionFactory.o AIDA_Histogram1D.o AIDA_Histogram1DIterator.o AIDA_Histogram2D.o AIDA_Histogram2DIterator.o AIDA_Histogram3D.o AIDA_Histogram3DIterator.o AIDA_HistogramFactory.o AIDA_Measurement.o AIDA_MemoryStore.o AIDA_MemoryStoreFactory.o AIDA_PluginType.o AIDA_Profile1D.o AIDA_Profile1DIterator.o AIDA_Profile2D.o AIDA_Profile2DIterator.o AIDA_RangeSet.o AIDA_StoreXML.o AIDA_Tree.o AIDA_TreeFactory.o AIDA_Tuple.o AIDA_TupleFactory.o AIDA_TupleHeader.o AIDA_TupleIterator.o AIDA_TupleVariableDescription.o AIDA_TupleVariableStatistics.o AIDA_XMLStoreFactory.o AnnotationNumberFormater.o Bound.o Chi2FitMethod.o Cloud1DTranslator.o Cloud2DTranslator.o Cloud3DTranslator.o CodeletStringParser.o CompiledExpressionManager.o CompoundModelFunction.o DataObject.o DataPointSetTranslator.o DataVector.o DataVectorIterator.o DomainConstraints.o EdgeCalculator.o EvenBinAxis.o Exceptions.o ExponentialModelFunction.o ExpressionParser.o FMLFitDataIteratorAdapter.o FMLFunctionAdapter.o FitConfig.o FitMethod.o FitResult.o Fitter.o FitterOptionParser.o Function.o FunctionCatalogue.o FunctionExpressionParser.o FunctionNameMatcher.o FunctionPlugin.o FunctionTranslator.o GaussModelFunction.o GravityBin1D.o GravityBin2D.o GravityBin3D.o Histo1DTranslator.o Histo2DTranslator.o Histo3DTranslator.o LinearConstraint.o MemoryBackingStore.o MemoryDataPointSetCopier.o MemoryFunctionCopier.o MemoryHistogramCopier.o MemoryPersistentTuple.o MemoryTupleData.o MinimizationVariable.o Minimizer.o MinimizerControlParams.o MinimizerResult.o NonlinearConstraint.o NormGaussModelFunction.o PathParser.o PoissonMLFitMethod.o PolynomialModelFunction.o Profile1DTranslator.o Profile2DTranslator.o ProfileBin1D.o ProfileBin2D.o RangeSet.o ResultVariable.o SimpleTokenizer.o StoreTranslator.o SubTree.o SumOfModelFunction.o SymbolManager.o Translator.o TreePlugin.o TupleTranslator.o TupleVariableCopy.o TupleVariableDescriptionBuilder.o UnbinnedMLFitMethod.o UserModelFunction.o Variable.o VariableBinAxis.o XMLParserImplementation.o XMLStream.o common.o gzstream.o AIDAGracePlotter/AIDA_AxisStyle.o AIDAGracePlotter/AIDA_DataStyle.o AIDAGracePlotter/AIDA_FillStyle.o AIDAGracePlotter/AIDA_Info.o AIDAGracePlotter/AIDA_InfoStyle.o AIDAGracePlotter/AIDA_LineStyle.o AIDAGracePlotter/AIDA_MarkerStyle.o AIDAGracePlotter/AIDA_Plotter.o AIDAGracePlotter/AIDA_PlotterFactory.o AIDAGracePlotter/AIDA_PlotterLayout.o AIDAGracePlotter/AIDA_PlotterRegion.o AIDAGracePlotter/AIDA_PlotterStyle.o AIDAGracePlotter/AIDA_TextStyle.o AIDAGracePlotter/AIDA_TitleStyle.o AIDAGracePlotter/AxisStyle.o AIDAGracePlotter/BaseStyle.o AIDAGracePlotter/BrushStyle.o AIDAGracePlotter/FillStyle.o AIDAGracePlotter/Grace.o AIDAGracePlotter/GraceAIDAConverter.o AIDAGracePlotter/Layout.o AIDAGracePlotter/LegendBox.o AIDAGracePlotter/LegendBoxStyle.o AIDAGracePlotter/LineStyle.o AIDAGracePlotter/MarkerStyle.o AIDAGracePlotter/ParameterHandler.o AIDAGracePlotter/ParameterTable.o AIDAGracePlotter/PlotStyle.o AIDAGracePlotter/Plotter.o AIDAGracePlotter/PlotterRegion.o AIDAGracePlotter/Style.o AIDAGracePlotter/TextMessage.o AIDAGracePlotter/TextStyle.o AIDAGracePlotter/TitleStyle.o AIDAGracePlotter/Utilities.o AIDA_ROOT/AIDA_DevHistogramFactory.o AIDA_ROOT/AIDA_HistogramFactory.o AIDA_ROOT/AIDA_RootConverterHelper.o AIDA_ROOT/AIDA_RootStoreFactory.o AIDA_ROOT/AIDA_RootStoreHelper.o AIDA_ROOT/AIDA_StoreRoot.o AIDA_ROOT/Axis.o AIDA_ROOT/FunctionConverter.o AIDA_ROOT/HistoConverter.o AIDA_ROOT/Histogram1D.o AIDA_ROOT/Histogram2D.o AIDA_ROOT/Histogram3D.o AIDA_ROOT/Profile1D.o AIDA_ROOT/Profile2D.o AIDA_ROOT/RootPathFormatter.o AIDA_ROOT/RootTree.o AIDA_ROOT/RootTuple.o AIDA_ROOT/SupportedAIDATypes.o AIDA_ROOT/Tree.o -L/opt/local/lib  -lexpat -L/opt/local/lib  -L/opt/local/lib -lgrace_np  -L/opt/local/lib/root -lCore -lCint -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread -lpthread -lm -ldl

I'm not sure why this doesn't properly link the dylib, but I figured out that if I add '-install_name /opt/local/lib/libiAIDA.dylib' then it magically generates the library which links to

> otool -L libiAIDA.dylib
libiAIDA.dylib:
	/opt/local/lib/libiAIDA.dylib (compatibility version 0.0.0, current version 0.0.0)

but there should be a better way to do it. This is just a temporary hack (for which I'm not even sure if it actually does the job). I also tried to replace '-undefined dynamic_lookup' with -lz, but it didn't change the fact that the library wasn't built properly. I would need to inspect how other libraries are built, so that they end up with proper path built in.

comment:24 Changed 12 years ago by mojca (Mojca Miklavec)

I checked how zlib is built:

/usr/bin/clang -dynamiclib -install_name /opt/local/lib/libz.1.dylib -compatibility_version 1 -current_version 1.2.7 -pipe -O2 -arch x86_64  -fPIC -DHAVE_HIDDEN -o libz.1.2.7.dylib adler32.lo crc32.lo deflate.lo infback.lo inffast.lo inflate.lo inftrees.lo trees.lo zutil.lo compress.lo uncompr.lo gzclose.lo gzlib.lo gzread.lo gzwrite.lo  -lc -L/opt/local/lib -arch x86_64

It seems that it actually contains

-install_name /opt/local/lib/libz.1.dylib

in order to work properly. The problem with iAIDA is that it has some self-cooked Makefiles which forget to take ugly platform-specific details into account. My suggestion would be to add that -install_name flag into Makefiles for now, but in the long term it would help to switch to CMake or something similar.

Changed 12 years ago by apfeiffer1@…

Attachment: iAIDA-1.0.22-Portfile.patch added

Patch for iAIDA portfile needed for version 1.0.22 (and later)

comment:25 Changed 12 years ago by apfeiffer1@…

@mojca: Thanks a lot ! With this the install now works properly ! I've added this and made a new version (1.0.22) which is ready. There is one small fix needed in the Portfile which I've just attached to this ticket (the patch also includes the removal of the patch).

And yes, I know there are several things which could be (significantly) improved, I'll try to find time for these things (like moving to CMake), but don't hold your breath ... :(

@macsforever2000: If you could cross-check that 1.0.22 properly builds and installs with the patched Portfile, it would be great if you could commit the file so other people can profit from the fix.

Thanks again for all the help (and being patient!) !!!

comment:26 Changed 12 years ago by mf2k (Frank Schima)

Resolution: fixed
Status: newclosed

It works now. r96870.

Note: See TracTickets for help on using tickets.