Community
cancel
Showing results for 
Search instead for 
Did you mean: 
lkeene
Beginner
56 Views

Compiles/links, but getting "undefined symbol" on Linux

Hello everyone,

I'm an extremely inexperienced Linux programmer who's been struggling to get my shared library - built with ICC & IPP - to compile and link. With a bit of luck and a lot of help form the kind folks on these forums I've now been able to do so. However, I'm having a problem when my .so is accessed by another app. I believe it may have something to do with the way I'm building it or exporting a symbol (or something). Here's the long and short of it:

I've created a shared library ("CosiCorrDll.so") for use with a 3rd party vendors program (IDL). Within my library I have to declare via a fuction called "IDL_Load()" how the utility functions in my library are to be called from within IDL. When I try to call one (or any) of my utility functions in my library from within IDL I receive the following error:

"Symbol: IDL_Load, File =
/.../CosiCorrDll.so:
Undefined symbol: IDL_Load"

So it seems there is some problem with the IDL_Load() function within my library. I happen to have an example shared library for use with Unix and IDL, and when I examined the files I noticed one that I was missing with the naming convention "TheirSharedLibrary.export". This was a simple ascii text file containing only one line of text:

IDL_Load

Is this what I'm missing? What is an ".export" file anyway? Searching online for "Linux .export" doesn't pull much of anything up. If this is indeed the key missing piece how do I incorporate this into my build? As always, thanks in advacne.

-L
0 Kudos
0 Replies
Reply