[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: libltdl exports no symbols (cygwin)

From: Charles Wilson
Subject: Re: libltdl exports no symbols (cygwin)
Date: Wed, 31 Jan 2007 00:10:13 -0500
User-agent: Thunderbird (Windows/20061207)

Ralf Wildenhues wrote:
Hello Eric, Charles, all,

* Eric Blake wrote on Tue, Jan 30, 2007 at 06:00:00PM CET:
Should we also mention the side effect that you must now mark
explicit exports, since you can no longer rely on auto-imports?

This whole issue seems not good for branch-1-5.  I'm pondering backing
out all related changes from branch-1-5; that is, the NEWS update and
the LT_GLOBAL_DATA/LT_SCOPE change of 2007-01-28, as well as the
DLL_EXPORT change of 2006-06-01.  We cannot do such a big change for
1.5.24, that will affect all users of --with-included-ltdl.

And this decision solves the problem for MinGW how? Remember that part of the justification for the 2006-06-01 change was that at least that way, we have the same behavior on all win32 variants. If you revert 2006-06-01, cygwin != mingw, and mingw still #defines DLL_EXPORT for all "PIC" -- which would simply push CVS M4's problems into the future, when somebody tries to compile it on MinGW.

And if you try to switch MinGW libtool to not define DLL_EXPORT...hoo boy. A *LOT* of MinGW ports rely on that behavior...

So, on one side we have (a) a bunch of MinGW ports, (b) every cygwin port *I* know of except *CVS* m4, plus *released* versions of gettext.

On the other...*CVS* m4.

The patches
were not introduced to fix a regression, rather something that we can
see as an improvement, i.e., a /new/ feature, but they cause regressions
for others.  I would like 1.5.24 to be a no-brainer for users, and I
would like to do it soon if possible.  If we require changes in user's
code, then it's better to make the change when going to 2.0; it's easier
for them if all changes occur at once.  And I'm easier with having
Gettext require HEAD Libtool than all users of libltdl.

Wait, you're contradicting yourself. The 2006-06-01 changes were there to fix a regression that popped up with gettext -- not "some random pseudo-improvement that C. Wilson made up". By reverting the change (e.g. because it causes regressions for *CVS* M4) to "fix" *CVS* M4[*], you cause a regression with *released* gettext. Why is THAT ok? Why can't we say that *CVS* M4 should require CVS libtool, and "fix" this issue there?

[*] BTW, I have a longer email I was putting together concerning the root cause of M4's problems w.r.t. LT_SCOPE, DLL_EXPORT, and friends. To wit: CVS M4 has been borked on cygwin for YEARS. Breakage now is nothing new...and reverting cygwin libtool to its broken state vis-a-vis gettext simply to help CVS M4 -- which is borked anyway -- is nonsensical.

Do what you want, but I am strongly inclined to continue future official cygwin releases of libtool RETAINING the 2006-06-01 and 2007-01-28 changes. I do not look favorably on releasing yet ANOTHER backwards-incompatible version of libtool/libltdl on the cygwin platform, while pretending that it is still compatible.

BTW -- it's obvious to me that the reason Eric never noticed this problem until Ralf committed the change to libtool CVS HEAD, was because he has NOT actually been using cygwin official released (e.g. libtool-1.5.23a) libtool. He's been using libtool CVS HEAD to develop CVS M4. So don't use CVS M4 breakage observed with libtool CVS HEAD as a justification for re-breaking cygwin libtool 1.5.24.

For HEAD, guys, if you want this really fixed then may I suggest to take
another look at Bruno's suggestions:

For 2.2, I tentatively agree (but...[**]). For 2.0 -- GOOD GREIF, PEOPLE, can't we just release the G-D thing and be done? I remember in Jan 2005 we were gonna release 2.0 "real soon now". This is freakin' ridiculous.

[**] I'm starting to see some support for msvc in libtool -- at least, there have been a few patches floating around. Whatever fancy stuff is done to support DLL decorations for mingw/cygwin, if you want that msvc stuff to work you'll still need some mechanism for the plain-old-dumb msvc linker...and I don't know if Bruno has tried his scheme with that toolset (maybe he has; I'm going from memory here).

Any way we go, we should do something more consistent than "you cannot
rely on auto-imports if you use libltdl".

The embedded quote is not an accurate description of the current status. More in my other email.

And certainly we should
document user-level-required changes in NEWS.

Well, yeah -- but make sure the proposed documentation is ACCURATE, first.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]