[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: shared library RTTI with gcc
- From: Ronan Collobert <collober@...>
- Date: Fri, 05 Oct 2007 21:26:00 -0400
David,
I totally agree when you say RTLD_GLOBAL should not be added as
default flags, especially for C libraries.
However, the fact that a program behaves differently from one platform
to another one with a C++ library is wrong in my opinion: it works under
Windows, but not with gcc.
Even if I adapt Lua for my own needs (which I do), all Linux
distributions come with their own Lua package with this problem.
I did not propose any fix to this problem, and in fact I do not have any
idea to correct it nicely. I am only saying RTLD_GLOBAL should be used
for C++ libraries dependent on RTTI. Being able to pass some specific
flags to dlopen() from Lua (as python does) would be a possibility as it
has been already suggested on this list a while ago, but the flags are
not portable (e.g. different for Windows which does not even use dlopen()).
Maybe having a way to say to "require()" we want to advertise everything
in the shared library would be a solution. Or maybe having a loadclib()
and loadcpplib() function. Or maybe saying in "require()" documentation
that it does not support fully C++...
Ronan.