[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Misleading error message from lt_dlopen()
From: |
Jeff Squyres |
Subject: |
Re: Misleading error message from lt_dlopen() |
Date: |
Fri, 24 Oct 2008 16:59:11 -0400 |
On Oct 24, 2008, at 3:54 PM, Ralf Wildenhues wrote:
For fixing this, it would be really helpful to have a test case,
anything that exposes the bug and is otherwise as simple/portable
as possible. "regression" screams for "testsuite exposure".
If you could provide that, it would save us a lot of time.
If you are even adventurous to learn Autotest, be our guest. ;-)
I'm afraid that I wasn't adventurous enough to learn Autotest, but
here's a tarball that shows the problem:
- it build a "main" program that basically calls lt_dlinit()/
ltdl_openext() on argv[1].
- it builds 2 DSOs: good-plugin and bad-plugin
- good-plugin will lt_dlopen() successfully
- bad-plugin will fail to lt_dlopen() because of a missing symbol
- simple build: ./configure && make -j 4
- "good" run: ./main good-plugin.la
--> loads successfully
- "bad" run: ./main bad-plugin.la
--> fails to load, and lt_dlerror() shows "file not found", not the
"symbol missing" error
The tarball ended up being a bit big, so I put it here rather than
attaching:
http://www.open-mpi.org/~jsquyres/libtool/
--
Jeff Squyres
Cisco Systems