col wrote:
On Thu, 25 Jun 2009 10:10:03 +0100
Martin Evans <martin.ev...@easysoft.com> wrote:
Martin J. Evans wrote:
col wrote:
[8<]
So, I thought you folks should hear about it all again. HTH...
else, sorry for the noise.
[8<]
I spoke to Nick and he reminded me why this can happen.
Thanks *very* much for that.
See
http://www.easysoft.com/support/kb/kb00664.html
http://groups.google.com/group/perl.dbi.users/browse_thread/thread/995131d999ca388/370b10f358e31729?hl=en&lnk=gst&q=Segmentation+fault+on+RHEL4#370b10f358e31729
And thanks for the links. I had already run across this and attempted to
rebuild unixODBC --enable-rtldgroup=no to no apparent effect. I'll try again.
It is probably down to using RTLD_GLOBAL on the dlopen call which
causes symbols to be resolved top down instead of from where the
symbol was found to be undefined downwards. You can stick with what
you are doing or rebuild unixODBC but it seems a permanent change to
unixODBC is not possible because the problem is in libtool so every
time unixODBC is reconfigured libtool replaces the change to remove
RTLD_GROUP.
./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man
--infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc
--localstatedir=/var/lib --host=i686-pc-linux-gnu --prefix=/usr
--sysconfdir=/etc/unixODBC --libdir=/usr/lib --enable-static
--enable-rtldgroup=no --enable-fdb --build=i686-pc-linux-gnu
... checking Have we enabled using RTLD_GROUP ... no
[...]
No change:
perl dbix_odbctest.pl
Segmentation fault
LD_BIND_NOW=1 perl dbix_odbctest.pl
trex connected
Honestly, I'd already explored this option, or so I thought.
This is the script used to make the unixODBC build:
http://bugs.gentoo.org/attachment.cgi?id=193101&action=view
... which is possibly deficient in some way. IDK. I just added the rtld_group
configure option, which does seem to be honoured when passed to ./configure.
I'm lost, pretty much, at this point.
I'll bring my findings to the unixODBC folks as well.
Thanks for all your help with this!
Cheers,
I'm not sure the --enable-rtldgroup=no works now because of libtool
changes. I think you may need to configure unixODBC then edit the file
and delete the LT_GROUP. This appears to be an issue with libtool which
was worked around in the past but the workaround does not work now
because libtool has changed and regenerates the code in a way
--enable-rtldgroup cannot work.
Martin