Make / -dlopen Errors at Compile Time

Asked by Adam Carlyle

Hello,

Thanks for your tips on my other post. I am very close to getting ESYS-particle successfully installed on our Linux Cluster running Debian 4.

However, when I issue the "sh autogen.sh" command, I get this funny little warning:

$ sh autogen.sh
Python/esys/lsmunit/Makefile.am:42: linker flags such as `-dlopen' belong in `libCppUnitPy_la_LDFLAGS

It made me nervous. Sure enough, at compile time I get the error:

make[4]: Entering directory `<mydir>/ESyS-Particle-2.0.0b/Python/esys/lsmunit'
mpicxx <etc etc>
make[4]: *** No rule to make target `-dlopen', needed by `libCppUnitPy.la'. Stop.

Hmmm. I have successfully installed ESYS-particle on my Debian 5 workstation, so I know it works with some combination of package versions... I'm not sure why the -dlopen flag is not being recognized in my case here. Here's the versions of (what I thought to be applicable) packages/tools with which I'm trying to compile.

libtool ver. 1.5.22-4
libltdl3-dev ver. 1.5.22-4
libcppunit-dev ver. 1.12.0-1
automake ver. 1.7.9
Python ver. 2.4.4-2

Before I go off on a wild goose chase updating everything in sight, I thought I'd ask if you'd seen this problem before, and if you knew how to resolve it. Let me know if you'd like more details.

Many Thanks,
-Adam

Question information

Language:
English Edit question
Status:
Solved
For:
ESyS-Particle Edit question
Assignee:
No assignee Edit question
Solved by:
Dion Weatherley
Solved:
Last query:
Last reply:
Revision history for this message
Dion Weatherley (d-weatherley) said :
#1

Hi Adam,

Glad to hear you are getting close to compiling ESyS-Particle on your cluster. I'm afraid I haven't seen this error before. It sounds a bit like your libCppUnit may have been compiled with the wrong flags. Although I personally have not tried this before, you could try adding --without-cppunit to the ./configure arguments. I suggest you "make distclean" before re-running configure though. I will ask one of the other developers about this also. I suspect that if you don't use CppUnit then the unit tests will not be compiled or installed. These aren't required to run simulations anyway.

Good luck and I'm happy to try to help if you keep having installation problems.

Cheers,

Dion

Revision history for this message
Dion Weatherley (d-weatherley) said :
#2

Hi Adam,

How did you go with this problem? Did you manage to install ESyS-Particle successfully?

Cheers,

Dion

Revision history for this message
Adam Carlyle (acarlyle) said :
#3

Hi Dion,

Yes, I was able to get ESYS-Particle built on one of our Linux clusters. I believe the problem was
my use of an outdated version of one of the autotools (I never figured out exactly which one).

For some reason, in the "./Python/esys/lsmunit/Makefile" file, the "dlopen" flag was getting
inserted into the "libCppUnitPy_la_DEPENDENCIES" area. The Make utility then thought "dlopen" was a
target to be built, so it would balk. So I removed the dlopen references from that dependency
section and it built successfully.

We haven't done much testing yet, but all seems well.

Best,
-Adam

Dion Weatherley wrote:
> Your question #67457 on ESyS-Particle changed:
> https://answers.launchpad.net/esys-particle/+question/67457
>
> Dion Weatherley requested for more information:
> Hi Adam,
>
> How did you go with this problem? Did you manage to install ESyS-
> Particle successfully?
>
> Cheers,
>
> Dion
>

Revision history for this message
Best Dion Weatherley (d-weatherley) said :
#4

Hi Adam,

Thanks for the update. Glad you managed to successfully install ESyS-Particle in the end. Please don't hesitate to ask if you have any further questions.

Cheers,

Dion.

Revision history for this message
Adam Carlyle (acarlyle) said :
#5

Thanks Dion Weatherley, that solved my question.