/usr/lib/libGL.so: undefined reference to `__multi3'

/usr/lib/libGL.so: undefined reference to `__multi3'

I installed itenium icc (7.0) on linux
(2.4.18-e.25smp, ia64)

I have a linking problem when I use openGL library.
For extreme case, I try to complie and link "hello world" code.

When I compile very simple "hello world" code with ecc (itenium
intel compiler) and gcc, both of them work fine.
But, when I complie the code with ecc with -lGL link option,
it produce "/usr/lib/libGL.so: undefined reference to `__multi3'" linking error.

Of course, compilation and linking with gcc with -lGL option works find.

Any idea?

2 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

I take it that your libGL.so was built with some version of gcc, and expects to be linked against a library which comes with that version of gcc, such as libgcc2. __multi3 appears to be an integer multiply function, used only by gcc, as ecc would generate in-line code. It may be possible to force the linker to search that gcc library after libGL.so, or to extract that function from the gcc installation and include it in your link.
It may be interesting to build the libGL with ecc, although that evidently could be a bigger project.
I'm not certain whether the goals of link compatibility between Intel compilers and gcc extend as far as taking care of such situations automatically. It wouldn't hurt to report this on premier.intel.com.

Leave a Comment

Please sign in to add a comment. Not a member? Join today