Message: How to make dynamic libraries dependent on other libraries? Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None How to make dynamic libraries dependent on other libraries? 

Forum: Installation and Configuration
Date: 19 Apr, 2011
From: Jan Pipek <Jan Pipek>

Hello,

I have an application that uses a simple plugin system (based on "dlopen" and dynamic libraries *.so). For that application I have about four or five plugins (compiled using "lib" target of default G4 make scripts) that take care of custom geometries, physics, etc. Thus far no problem - they do load, they do work.

However, if I want to use an external library (e.g. libboost_regex.so for regular expressions) in such plugin, I can't find a way how to do it. If it were a monolithic application, I would add EXTRALIBS += -lboost_regex. Nevertheless, this approach fails in the case of dynamic libraries - linker is not told to use this variable (or any other as far as I can see).

As I trace down the make scripts, I get to some "build-global-shared-lib" task in "sys/Linux-g++" that is very simple and doesn't use much configuration options apart from a mysterious variable INTYLIBS whose origin is unknown to me.

Seeing this, I can't imagine a way how to use external libraries in my plugins. Does anyone know a solution other than adding the dependencies to the main application (which breaks the modularity principle) or completely avoiding Geant4-provided make scripts (which leads to reinventing the wheel)?

Thanks a lot for any suggestions, Jan

P.S. Geant4.9.4, 64bit Linux

Inline Depth:
 1 1
 All All
Outline Depth:
 1 1
 2 2
 All All
Add message: (add)

1 Ok: Re: How to make dynamic libraries dependent on other libraries?   (Jan Pipek - 19 Apr, 2011)
 Add Message Add Message
to: "How to make dynamic libraries dependent on other libraries?"

 Subscribe Subscribe

This site runs SLAC HyperNews version 1.11-slac-98, derived from the original HyperNews


[ Geant 4 Home | Geant 4 HyperNews | Search | Request New Forum | Feedback ]