Opened 11 years ago

Closed 11 years ago

#39675 closed defect (fixed)

iAIDA: version 1.0.22 fails to build

Reported by: mojca (Mojca Miklavec) Owned by: cristiano.fontana@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: andreas.pfeiffer@…, mf2k (Frank Schima)
Port: iAIDA

Description

This compilation error is weird because I had it working already, except that I have upgraded the Xcode inbetween. iAIDA fails to compile on Lion with Xcode 4.6.3 (Build version 4H1503).

Full log attached.

In file included from AIDA_ROOT/AIDA_DevHistogramFactory.cpp:28:
In file included from ./AIDA_ROOT/HistogramFactory.h:23:
In file included from ./AIDA_ROOT/HistogramTraits.h:23:
In file included from ./AIDA_ROOT/Histogram1D.h:37:
In file included from ./AIDA_ROOT/BaseHistogram1D.h:37:
./AIDA_ROOT/BaseHistogram.h:38:15: error: cannot define or redeclare 'IAxis' here because namespace 'AIDA_ROOT' does not enclose namespace 'AIDA'
  class AIDA::IAxis; // from AIDA
        ~~~~~~^
...
4 errors generated.
make[1]: *** [AIDA_ROOT/AIDA_DevHistogramFactory.o] Error 1
make[1]: *** Waiting for unfinished jobs....
4 errors generated.
make[1]: *** [AIDA_ROOT/AIDA_HistogramFactory.o] Error 1
make[1]: 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.22/src'
make: *** [all] Error 2

Attachments (3)

iAIDA.log (88.8 KB) - added by mojca (Mojca Miklavec) 11 years ago.
iAIDA build log with compilation errors
iAIDA.1.1.0.Portfile (2.2 KB) - added by mojca (Mojca Miklavec) 11 years ago.
Portfile fo iAIDA 1.1.0 - builds, but doesn't destroot
iAIDA.1.1.1.Portfile (2.3 KB) - added by mojca (Mojca Miklavec) 11 years ago.
Preliminary Portfile for iAIDA 1.1.1

Download all attachments as: .zip

Change History (14)

Changed 11 years ago by mojca (Mojca Miklavec)

Attachment: iAIDA.log added

iAIDA build log with compilation errors

comment:1 Changed 11 years ago by mf2k (Frank Schima)

I see the same issue. I tried to blacklist clang and it still failed. I think this software is abandoned anyway and we should think about making this port obsolete.

comment:2 Changed 11 years ago by mf2k (Frank Schima)

Cc: macsforever2000@… added

Cc Me!

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

It's not abandoned. The author has really short response times and he already replied now - a new version is out, but it needs a bit more effort to adapt the portfile to use CMake. Last time the author fixed the problem for us and released a new version about a year ago (#32555).

The main problem is that the website is abandoned ... the website (http://iaida.dynalias.net/Download.html) still lists version 1.0.17 while at least a few versions were released in between.

Honestly I'm still not exactly sure how and when iAIDA is used, but it is kind-of dependency of Geant4.

comment:4 Changed 11 years ago by mf2k (Frank Schima)

...and I even did the update :). Good to know!

Changed 11 years ago by mojca (Mojca Miklavec)

Attachment: iAIDA.1.1.0.Portfile added

Portfile fo iAIDA 1.1.0 - builds, but doesn't destroot

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

The new version of iAIDA builds fine, but it conflicts with the aida port: it tries to install exactly the same header files (maybe even copied from the original aida):

Error: org.macports.activate for port iAIDA returned: Image error: /opt/local/include/AIDA/AIDA.h is being used by the active aida port.  Please deactivate this port first, or use 'port -f activate iAIDA' to force the activation.

Other requests for the iAIDA author: the old portfile also used to install examples, tests and sources. I don't know if this is needed/desired, but in case it is, it would be great if this was done automatically.

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

PS: for the time being I can take the port over, see #39610.

comment:7 Changed 11 years ago by apfeiffer1@…

Hi Mojca, all,

[posting here as the mail reply bounced]

First, thanks for the quick feedback !

I'll have a look at these in the next few days and will try to fix them.

I'd also be willing to help on the macport of this, though I've about zero experience with macports, that's why I am not sure I should become maintainer of the port. If you, Mojca, would be willing to do this, I'd be happy to help out on any other (non portfile related) issue with it. :)

Thanks again for the feedback !

cheers, andreas

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

The only really important request is not to duplicate installation of the same files as aida provides as this breaks the installation. Everything else comes second.

Thank you also for addition of the --implementation flag.

Changed 11 years ago by mojca (Mojca Miklavec)

Attachment: iAIDA.1.1.1.Portfile added

Preliminary Portfile for iAIDA 1.1.1

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

I added a preliminary Portfile for iAIDA. The Portfile works properly, but fetches the zip from some commit in GitHub repository. I'll wait for the official release which might also add support for installing sources and examples. ETA by next week, but if anyone needs the port earlier, I could commit this one. I don't think it is a highly demanded port though.

If anyone wants to test whether +universal works and whether it works (without warnings) on OSes other than 10.7, that would be great.

(W.r.t #39610 the author is willing to co-maintain this port.)

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

A quick note: when I try to compile outside of MacPorts, the compilation always fails with

Linking CXX shared library libiAIDA.dylib
Undefined symbols for architecture x86_64:
  "iAIDA::AIDA_RootStore::AIDA_RootStoreFactory::AIDA_RootStoreFactory()", referenced from:
      iAIDA::aida_tree::AIDA_TreeFactory::create(std::string const&, std::string const&, bool, bool, std::string const&) in AIDA_TreeFactory.cpp.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[2]: *** [src/libiAIDA.dylib] Error 1
make[1]: *** [src/CMakeFiles/iAIDA.dir/all] Error 2
make: *** [all] Error 2

but I'm unable to reproduce the behaviour in MacPorts (and I'm unable to reproduce the success outside). Any hints welcome, even though this is not really a problem for MacPorts as long as it compiles fine there.

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

Resolution: fixed
Status: newclosed

Fixed in r108071 (upgrade to 1.1.2).

Note: See TracTickets for help on using tickets.