component_library object not found in lib

Aurélien Buhrig <[email protected]> Wed, 17 Sep 2008 10:57:31 +0200
Newsgroups gmane.comp.emulators.sid.devel
Message-ID <[email protected]>
Hi,

I try to create some SID peripherals (timer, it crtl for now) for a new
target microcontroller called tam16 in a tam16family  library.
I added the tam16family_component_library definition in the components.cxx
file:

DLLEXPORT extern const component_library tam16family_component_library;
const component_library tam16family_component_library = {…};

I had no particular problem adding the interrupt controller. But things go
wrong  when adding a second peripheral (timer)…
At the configuration, this error occurs:

dlsym of tam16family_component_library in component library dso
libtam16family.la failed: sid: undefined symbol:
tam16family_component_library

“Stracing” the sid execution shows that sid points to the good library in
which tam16family_component_library symbol DOES exist, in both .so and .a,
only once per lib, and as a global symbol.

My system is RHEL5/x86_64, gcc 3.4.6.

Any hint why it is not found by the libltdl ?

Thanks,
Aurelien