* DLL naming conventions
@ 2000-08-30 3:36 Paul Sokolovsky
2000-08-30 7:26 ` Chris Faylor
` (2 more replies)
0 siblings, 3 replies; 23+ messages in thread
From: Paul Sokolovsky @ 2000-08-30 3:36 UTC (permalink / raw)
To: cygwin
Hello cygwin,
Existance of several GNU targets based on incompatible underlying
libraries brings (or will bring soon) problem of clashes between their
components. Mere installing software build with each of them into
separate directory and setting PATH to one of the in per-session
manner is not flexible since often one piece of software absent in
that or another distribution. Of particular importance here is
clashing of DLLs which is espicially hard to detect for end users. It
would be nice if there were some convention for naming DLLs build for
particular target. Cygwin did that for a some time, for example,
native builds of Tcl/Tk, etc. used to have 'cyg' prefix. However,
latest additions seem not to follow this practise.
Will it be possible to re-consider this matter and if it applies,
recommend to follow it? More importantly, it can be automatically
supported on appropriate level (in libtool).
--
Paul Sokolovsky, IT Specialist
http://www.brainbench.com/transcript.jsp?pid=11135
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: DLL naming conventions
2000-08-30 3:36 DLL naming conventions Paul Sokolovsky
@ 2000-08-30 7:26 ` Chris Faylor
2000-08-31 4:21 ` Re[2]: " Paul Sokolovsky
2000-08-30 7:48 ` Charles Wilson
2000-08-31 20:27 ` Charles S. Wilson
2 siblings, 1 reply; 23+ messages in thread
From: Chris Faylor @ 2000-08-30 7:26 UTC (permalink / raw)
To: cygwin; +Cc: paul-ml
On Wed, Aug 30, 2000 at 01:24:11PM +0300, Paul Sokolovsky wrote:
>Existance of several GNU targets based on incompatible underlying
>libraries brings (or will bring soon) problem of clashes between their
>components. Mere installing software build with each of them into
>separate directory and setting PATH to one of the in per-session manner
>is not flexible since often one piece of software absent in that or
>another distribution. Of particular importance here is clashing of
>DLLs which is espicially hard to detect for end users. It would be
>nice if there were some convention for naming DLLs build for particular
>target. Cygwin did that for a some time, for example, native builds of
>Tcl/Tk, etc. used to have 'cyg' prefix. However, latest additions
>seem not to follow this practise.
>
>Will it be possible to re-consider this matter and if it applies,
>recommend to follow it? More importantly, it can be automatically
>supported on appropriate level (in libtool).
Nope. Sorry.
If "end users" are using "incompatible" libraries then they'll really
have to deal with this themselves. It's too late to change now.
Of course, on reflection, the cygwin project doesn't really have to
change at all. All of these other "GNU targets" which came along after
cygwin was well established, and benefitted from years of cygwin
development, should probably be making naming concessions if it is a
problem. Expecting cygwin to change its conventions is just a tad
bit arrogant, don't you think?
cgf
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: DLL naming conventions
2000-08-30 3:36 DLL naming conventions Paul Sokolovsky
2000-08-30 7:26 ` Chris Faylor
@ 2000-08-30 7:48 ` Charles Wilson
2000-08-30 7:52 ` Chris Faylor
` (2 more replies)
2000-08-31 20:27 ` Charles S. Wilson
2 siblings, 3 replies; 23+ messages in thread
From: Charles Wilson @ 2000-08-30 7:48 UTC (permalink / raw)
To: Paul Sokolovsky; +Cc: cygwin
Paul Sokolovsky wrote:
>
> Hello cygwin,
>
> Existance of several GNU targets based on incompatible underlying
> libraries brings (or will bring soon) problem of clashes between their
> components. Mere installing software build with each of them into
> separate directory and setting PATH to one of the in per-session
> manner is not flexible since often one piece of software absent in
> that or another distribution. Of particular importance here is
> clashing of DLLs which is espicially hard to detect for end users. It
> would be nice if there were some convention for naming DLLs build for
> particular target. Cygwin did that for a some time, for example,
> native builds of Tcl/Tk, etc. used to have 'cyg' prefix. However,
> latest additions seem not to follow this practise.
Yup, I know. Most the latest additions which have dll's were ones that
I ported. I did not want dependent packages to be required to modify
their makefiles to use '-lcygtiff' or worse yet, '-lcygtiff35' when a
plain '-ltiff' is already there and works. The tcl/tk stuff is a
special case, I believe, since it's a wierd half-native/half-cygwin
build...
So far, the only problems I have seen are zlib (cygwin version clashing
with Suhaib's cygwin-XFree version), and it is conceivable that windows
versions of zlib/libpng can clash with the cygwin versions of same.
However, the cygwin-zlib works with XFree, so you can just delete the
cygwin-xfree zlib.dll. I haven't seen too many reports of actual
problems with windows dlls clashing with cygwin dlls; several folks have
mentioned that 'it could happen, we should fix it before it does' but
nobody has *actually* had it happen to them.
I've no interest in fixing a problem (and causing many many more
problems) when the initial problem has not been demonstrated to affect
real users.
>
> Will it be possible to re-consider this matter and if it applies,
> recommend to follow it?
Maybe. But I won't even accept patches to do that to the packages I
maintain until the dependency problems are resolved, or folks on the
list agree that the inevitable hassles and constant FAQs: 'you need to
change -ltiff to -lcygtiff in the makefile...' are worth it.
One less intrusive possibility I have thought of is:
import lib: libtiff{ver?}.dll.a (built with
--dllname=cyglibtiff{ver?}.dll)
dll : cyglibtiff{ver?}.dll
If this is done, then you no longer can link directly to the dll
(without changing the makefile to say '-lcyglibtiff{ver}', but
ordinarily you'd link using the import lib so everything would be ok,
and you can still use '-ltiff' in the makefile.
I'm not really in favor of using version numbers on shared libs, since
you'd also have to version the import libs also and then use symlinks a
la unix....but this should be discussed on the list.
libtiff.dll.a -> libtiff{latest-ver}.dll.a
> More importantly, it can be automatically
> supported on appropriate level (in libtool).
No, it can't. Currently, libtool itself doesn't support *building*
dlls. Also, you are assuming that every package that depends on
dll-ized libraries uses libtool in its build process. While that would
be great, it is not true. Unfortunately, *very* few packages use
libtool, in my experience.
Comments, anyone?
--Chuck
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: DLL naming conventions
2000-08-30 7:48 ` Charles Wilson
@ 2000-08-30 7:52 ` Chris Faylor
2000-08-30 8:07 ` Norman Vine
2000-08-30 8:11 ` Charles Wilson
2000-08-31 5:07 ` Re[2]: " Paul Sokolovsky
[not found] ` <20000831230822.R7695@demon.co.uk>
2 siblings, 2 replies; 23+ messages in thread
From: Chris Faylor @ 2000-08-30 7:52 UTC (permalink / raw)
To: cygwin
On Wed, Aug 30, 2000 at 10:51:36AM -0400, Charles Wilson wrote:
>Comments, anyone?
"I am trying to find the libz.dll file but it doesn't exist anywhere
on my system! I've tried to download this three times! I've wiped
out my whole cygwin installation, reformatted my hard drive and flushed
the toilet repeatedly! What gives????"
cgf
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* RE: DLL naming conventions
2000-08-30 7:52 ` Chris Faylor
@ 2000-08-30 8:07 ` Norman Vine
2000-08-30 8:17 ` Charles Wilson
2000-08-30 8:11 ` Charles Wilson
1 sibling, 1 reply; 23+ messages in thread
From: Norman Vine @ 2000-08-30 8:07 UTC (permalink / raw)
To: cygwin
>"I am trying to find the libz.dll file
ftp://sourceware.cygnus.com/pub/cygwin/contrib/zlib/
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: DLL naming conventions
2000-08-30 7:52 ` Chris Faylor
2000-08-30 8:07 ` Norman Vine
@ 2000-08-30 8:11 ` Charles Wilson
1 sibling, 0 replies; 23+ messages in thread
From: Charles Wilson @ 2000-08-30 8:11 UTC (permalink / raw)
To: cygwin
Chris Faylor wrote:
>
> On Wed, Aug 30, 2000 at 10:51:36AM -0400, Charles Wilson wrote:
> >Comments, anyone?
>
> "I am trying to find the libz.dll file but it doesn't exist anywhere
> on my system! I've tried to download this three times! I've wiped
> out my whole cygwin installation, reformatted my hard drive and flushed
> the toilet repeatedly! What gives????"
>
Answer: 'read the f@#$*("& zlib-1.1.3.README file in /usr/doc/Cygwin'
I'm not arguing for changing dll names (it would be a *HELL* of a lot of
work for me, and I really don't want to do it) but we just can't be
timid about changes because folks don't read documentation. Perhaps we
should resurrect the actual meaning of 'RTFM' and stop using the nice,
clean, acronym....
--Chuck
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: DLL naming conventions
2000-08-30 8:07 ` Norman Vine
@ 2000-08-30 8:17 ` Charles Wilson
2000-08-30 8:19 ` Charles Wilson
2000-08-30 11:37 ` Chris Faylor
0 siblings, 2 replies; 23+ messages in thread
From: Charles Wilson @ 2000-08-30 8:17 UTC (permalink / raw)
To: nhv; +Cc: cygwin
Norman, you missed the point...
If we change the name of libz.dll to 'cyglibz.dll' or somesuch, then
it would *not* be in pub/cygwin/contrib/zlib/. Chris is pointing out
that this would confuse people (*), and the answer is
'The name was changed. The file is cyglibz.dll (or whatever)'
not
go download the package again from ftp://.....
--Chuck
(*) the people that never read documentation...
Norman Vine wrote:
>
> >"I am trying to find the libz.dll file
>
> ftp://sourceware.cygnus.com/pub/cygwin/contrib/zlib/
>
> --
> Want to unsubscribe from this list?
> Send a message to cygwin-unsubscribe@sourceware.cygnus.com
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: DLL naming conventions
2000-08-30 8:17 ` Charles Wilson
@ 2000-08-30 8:19 ` Charles Wilson
2000-08-30 11:37 ` Chris Faylor
1 sibling, 0 replies; 23+ messages in thread
From: Charles Wilson @ 2000-08-30 8:19 UTC (permalink / raw)
To: cygwin
Charles Wilson wrote:
>
> Norman, you missed the point...
>
> If we change the name of libz.dll to 'cyglibz.dll' or somesuch, then
> it would *not* be in pub/cygwin/contrib/zlib/. Chris is pointing out
^^
libz.dll
> that this would confuse people (*), and the answer is
> 'The name was changed. The file is cyglibz.dll (or whatever)'
> not
> go download the package again from ftp://.....
>
> --Chuck
>
> (*) the people that never read documentation...
>
> Norman Vine wrote:
> >
> > >"I am trying to find the libz.dll file
> >
> > ftp://sourceware.cygnus.com/pub/cygwin/contrib/zlib/
> >
> > --
> > Want to unsubscribe from this list?
> > Send a message to cygwin-unsubscribe@sourceware.cygnus.com
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: DLL naming conventions
2000-08-30 8:17 ` Charles Wilson
2000-08-30 8:19 ` Charles Wilson
@ 2000-08-30 11:37 ` Chris Faylor
2000-08-31 5:14 ` Re[2]: " Paul Sokolovsky
1 sibling, 1 reply; 23+ messages in thread
From: Chris Faylor @ 2000-08-30 11:37 UTC (permalink / raw)
To: cygwin
On Wed, Aug 30, 2000 at 11:20:29AM -0400, Charles Wilson wrote:
>Norman, you missed the point...
>
> If we change the name of libz.dll to 'cyglibz.dll' or somesuch, then
>it would *not* be in pub/cygwin/contrib/zlib/. Chris is pointing out
>that this would confuse people (*), and the answer is
> 'The name was changed. The file is cyglibz.dll (or whatever)'
>not
> go download the package again from ftp://.....
Let's put it another way, then: How many complaints have we seen about
incompatible DLLs?
The original query was in regard to the fact that vast number of "GNU on
Windows" systems could step on each others' toes. If Cygwin was here
first, I'm not sure why it should have to change to accomodate other
packages. In fact, if all of the myriad systems out there just agree on
their own naming convention, that should leave cygwin with no problems.
Here's the convention that makes sense to me "Cygwin's DLLs are named
similarly to their counterparts on UNIX so that a library named libz.so
on UNIX is named libz.dll under Cygwin. Under the bushwah GNU porting
layer, similar libraries are named bushwalibz.dll."
Works for me.
cgf
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re[2]: DLL naming conventions
2000-08-30 7:26 ` Chris Faylor
@ 2000-08-31 4:21 ` Paul Sokolovsky
2000-08-31 8:56 ` Chris Faylor
2000-08-31 18:05 ` Gary V. Vaughan
0 siblings, 2 replies; 23+ messages in thread
From: Paul Sokolovsky @ 2000-08-31 4:21 UTC (permalink / raw)
To: Chris Faylor
Hello Chris,
Chris Faylor <cgf@cygnus.com> wrote:
>>Will it be possible to re-consider this matter and if it applies,
>>recommend to follow it? More importantly, it can be automatically
>>supported on appropriate level (in libtool).
CF> Nope. Sorry.
CF> If "end users" are using "incompatible" libraries then they'll really
CF> have to deal with this themselves. It's too late to change now.
CF> Of course, on reflection, the cygwin project doesn't really have to
CF> change at all.
Yes! Who here proposes to change something? Blame him, beat him,
cut him! But we, as cicvilized people, let's talk about conventions,
*not* about changing anything, ok?
CF> All of these other "GNU targets" which came along after
CF> cygwin was well established, and benefitted from years of cygwin
CF> development, should probably be making naming concessions if it is a
CF> problem.
Exactly! I knew you'll recommend that, so I'm going to submit
patch to libtool which will use different naming convention for
GNU/Win32 target I maintain. But not everyone so reflective as me, and
there're at least two other targets cygwin and mingw32. Ok, we'll
leave rock-solid cygwin aside. But what about poor mingw32? Chris, I
understand your position: that's not cygwin problem. But what if you,
maintainer of Cygwin, mother of all GNU-Win32 targets, considered that
it is problem of - not Cygwin - whole GNU-Win32? Then, you might
consider doing something. If you'd consider it, you might come with
following thought: "Hey, but we already using 'cyg' prefix for some libs.
At the same time, GNU has convention of prefixing libraries with
'lib'. Let's recommend for cygwin use prefix 'cyg' instead (for *dlls
only*) - it is consistent with existing practise. As for mingw32,
we'll leave it 'lib' - after all, it's the most native GNU-Win32
target, let it use defualt conventions. All other, being
superstructures on win32, to use distinguishable naming scheme".
================= Specific proposal ================
I'm going to submit patch to libtool which (supposing it will be
accepted) will make it use other naming scheme for PW32,
posix-on-win32 layer I maintain. If it is in favor of Cygwin,
community, I may do the same for cygwin too.
Proposed naming conventions [only pertinent one shown]
For some library 'foo', libtool will procude on
Cygwin:
libfoo.la - standard libtool wrapper
libfoo.a - import library, thing against which objects are linked
("developer" part)
cygfoo.<release>.dll - dll, this is what gets loaded in runtime
("user" part)
Note that <release> is standard part of name of shared libraries
produced by libtool. While it sequency of three arbitrary numbers,
there's strictly recommended policy to using them - in two words, they
should reflect interface version, never version of library itself. And
yes, there's a way to disable putting it in name. Most packages don't do
that, however.
For mingw32, those will be:
libfoo.la
libfoo.a
libfoo.<release>.dll
Note - no efforts or changes will be required from programmer's or
maintainer's side to support different names of run-time DLLs, their
different version or whatever - it will be completely hidden in implib
the wondeful thing.
====================================
CF> Expecting cygwin to change its conventions is just a tad
CF> bit arrogant, don't you think?
Chris, you often ask strange questions. If, I say - if, someone
would propose to change its conventions, I'd first listen one's
reasoning before making my opinion whether it is arrogant or not. But
what relation this has to our present conversation?
CF> cgf
--
Paul Sokolovsky, IT Specialist
http://www.brainbench.com/transcript.jsp?pid=11135
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re[2]: DLL naming conventions
2000-08-30 7:48 ` Charles Wilson
2000-08-30 7:52 ` Chris Faylor
@ 2000-08-31 5:07 ` Paul Sokolovsky
2000-08-31 8:58 ` Charles S. Wilson
2000-08-31 11:28 ` Re[2]: " Tor Lillqvist
[not found] ` <20000831230822.R7695@demon.co.uk>
2 siblings, 2 replies; 23+ messages in thread
From: Paul Sokolovsky @ 2000-08-31 5:07 UTC (permalink / raw)
To: Charles Wilson; +Cc: cygwin
Hello Charles,
Charles Wilson <cwilson@ece.gatech.edu> wrote:
CW> Paul Sokolovsky wrote:
>>
>> Hello cygwin,
>>
>> Existance of several GNU targets based on incompatible underlying
>> libraries brings (or will bring soon) problem of clashes between their
>> components. Mere installing software build with each of them into
>> separate directory and setting PATH to one of the in per-session
>> manner is not flexible since often one piece of software absent in
>> that or another distribution. Of particular importance here is
>> clashing of DLLs which is espicially hard to detect for end users. It
>> would be nice if there were some convention for naming DLLs build for
>> particular target. Cygwin did that for a some time, for example,
>> native builds of Tcl/Tk, etc. used to have 'cyg' prefix. However,
>> latest additions seem not to follow this practise.
CW> Yup, I know. Most the latest additions which have dll's were ones that
CW> I ported.
Exactly contemplating your releases, as well as my own activity of
doing same for mingw32, made me to raise this question.
CW> I did not want dependent packages to be required to modify
CW> their makefiles to use '-lcygtiff' or worse yet, '-lcygtiff35' when a
CW> plain '-ltiff' is already there and works.
Neither I even consider possibility to changes like that. If
something uses -ltiff on any other system, it will use -ltiff on
cygwin, mingw32, whatever. Period. I'm surprised that you considered
such possibility to the end of your mail, not from the very
beginning.
CW> I haven't seen too many reports of actual
CW> problems with windows dlls clashing with cygwin dlls; several folks have
CW> mentioned that 'it could happen, we should fix it before it does' but
CW> nobody has *actually* had it happen to them.
I'm yet another such person with cassandristic attitudes. However,
I can point the problem spot more precisely: just as you provide
zlib/libjpeg/libpng/libtiff for cygwin, I'm doing that for mingw32
( http://mingwrep.sourceforge.net )
CW> I've no interest in fixing a problem (and causing many many more
CW> problems) when the initial problem has not been demonstrated to affect
CW> real users.
Depending on different objective and subjective reasons, Tor
Lillqvist might use my builds in his GIMP-win32 distribution. I tried
to use versioned names for my libpng.2.1.dll (2.1 is *interface* name,
from README) and libjpeg.6.dll (I can point you where libjpeg.dll
already used: in Netscape Nav.). However, for libz.dll and libtiff.dll
it is not. Zlib has rock-solid API and I don't want to clutter dll
with any numbers. For libtiff, there's that stupid LZW problem. I
would like to have LZW-less dll to drop-in-replacable by LZW-contating
one, so they'd better not to have versioning numbers.
Ok, now suppose you installed some cygwin-hosted tool on computer
of secretary in your firm. Also, she's cool enough to prefer GIMP to
PhotoShop and she installed it. Suppose both dlls get on PATH (for
example, cygwin's was put by you, and GIMP's stupid shrink-wrapped
installer drop its to windows/system). Poor user.
CW> One less intrusive possibility I have thought of is:
CW> import lib: libtiff{ver?}.dll.a (built with
CW> --dllname=cyglibtiff{ver?}.dll)
CW> dll : cyglibtiff{ver?}.dll
CW> If this is done, then you no longer can link directly to the dll
CW> (without changing the makefile to say '-lcyglibtiff{ver}', but
CW> ordinarily you'd link using the import lib so everything would be ok,
CW> and you can still use '-ltiff' in the makefile.
Note, that my very question is about whether Cygwin people want
that to be automatically supported by libtool. I appreciate you
attention and comprehensive discussion, but I'll understand if you'll
simply say "I won't do that". But returning back to libtool, you wan't
be able to link directly to libtool-generated dll that way since it's by
default includes versioning info. And as you understand, FAQ entry
with "you've got to use --no-versioning switch to libtool when
building DLLs with cygwin" won't help. So, staying with implibs for
linking is only feasible alternative.
CW> I'm not really in favor of using version numbers on shared libs, since
CW> you'd also have to version the import libs also
As you know, you wouldn't and shouldn't.
>> More importantly, it can be automatically
>> supported on appropriate level (in libtool).
CW> No, it can't.
???
CW> Currently, libtool itself doesn't support *building* dlls.
Well, to be precise it *does*. In rather ungroundly complicated
way. But - it's currently. My port of libtool for pw32 does it
far more seamlessly. And, before going for inclusion these changes
into official distribution, I'd like it to work for all GNU/Win32
targets, not only mine.
CW> Also, you are assuming that every package that depends on
CW> dll-ized libraries uses libtool in its build process. While that would
CW> be great, it is not true. Unfortunately, *very* few packages use
CW> libtool, in my experience.
Once again, I have no ambition to force maintainers of not
configure-enabled libs to change namings of their dlls - that's up to
their own consideration, reasons was presented and discussed.
CW> Comments, anyone?
CW> --Chuck
--
Paul Sokolovsky, IT Specialist
http://www.brainbench.com/transcript.jsp?pid=11135
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re[2]: DLL naming conventions
2000-08-30 11:37 ` Chris Faylor
@ 2000-08-31 5:14 ` Paul Sokolovsky
0 siblings, 0 replies; 23+ messages in thread
From: Paul Sokolovsky @ 2000-08-31 5:14 UTC (permalink / raw)
To: Chris Faylor
Hello Chris,
Chris Faylor <cgf@cygnus.com> wrote:
CF> Here's the convention that makes sense to me "Cygwin's DLLs are named
CF> similarly to their counterparts on UNIX so that a library named libz.so
CF> on UNIX is named libz.dll under Cygwin. Under the bushwah GNU porting
CF> layer, similar libraries are named bushwalibz.dll."
You missed it! You missed it! "Bushwah GNU porting layer" uses
'libfoo.so' as the name for its DLLs! Well, but now I think: wasn't it
too arrogant? ;-)
CF> Works for me.
Great!
CF> cgf
--
Paul Sokolovsky, IT Specialist
http://www.brainbench.com/transcript.jsp?pid=11135
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: DLL naming conventions
2000-08-31 4:21 ` Re[2]: " Paul Sokolovsky
@ 2000-08-31 8:56 ` Chris Faylor
2000-09-01 9:10 ` Re[2]: " Paul Sokolovsky
2000-08-31 18:05 ` Gary V. Vaughan
1 sibling, 1 reply; 23+ messages in thread
From: Chris Faylor @ 2000-08-31 8:56 UTC (permalink / raw)
To: Chris Faylor; +Cc: paul-ml
On Thu, Aug 31, 2000 at 02:14:56PM +0300, Paul Sokolovsky wrote:
>From: Paul Sokolovsky <paul-ml@is.lg.ua>
>Chris Faylor <cgf@cygnus.com> wrote:
>CF> Of course, on reflection, the cygwin project doesn't really have to
>CF> change at all.
>
>Yes! Who here proposes to change something? Blame him, beat him, cut
>him! But we, as cicvilized people, let's talk about conventions, *not*
>about changing anything, ok?
If we're going to talk about technical issues, how about leaving out
incomprehensible hyperbole?
>CF> All of these other "GNU targets" which came along after
>CF> cygwin was well established, and benefitted from years of cygwin
>CF> development, should probably be making naming concessions if it is a
>CF> problem.
>
> Exactly! I knew you'll recommend that, so I'm going to submit
>patch to libtool which will use different naming convention for
>GNU/Win32 target I maintain. But not everyone so reflective as me, and
>there're at least two other targets cygwin and mingw32. Ok, we'll
>leave rock-solid cygwin aside. But what about poor mingw32? Chris, I
>understand your position: that's not cygwin problem. But what if you,
>maintainer of Cygwin, mother of all GNU-Win32 targets, considered that
>it is problem of - not Cygwin - whole GNU-Win32? Then, you might
>consider doing something. If you'd consider it, you might come with
>following thought: "Hey, but we already using 'cyg' prefix for some libs.
The reason that we use "cyg" on the tcl libs is that they contain local
cygwin mods, making those DLLs different from the ones already
distributed by Scriptics.
I think it is unlikely that a person will be attempting to use both the
cygwin and mingw libpng DLLs at the same time and have absolutely no
desire to engage in a massive DLL renaming campaign, especially given
the attendant confusion that will be a guaranteed result.
>At the same time, GNU has convention of prefixing libraries with
>'lib'.
This is a longstanding *UNIX* convention. It's not a GNU convention.
>Let's recommend for cygwin use prefix 'cyg' instead (for *dlls
>only*) - it is consistent with existing practise. As for mingw32,
>we'll leave it 'lib' - after all, it's the most native GNU-Win32
>target, let it use defualt conventions. All other, being
>superstructures on win32, to use distinguishable naming scheme".
If every package maintainer wants to follow this (to me) ill-considered
plan, that's fine. Just as long as I don't have to support it.
IMO, cygwin is supposed to be UNIX for Windows. If people are looking
for libraries, they don't look for 'cygreadline.dll' they look for
'libreadline.dll'.
>CF> Expecting cygwin to change its conventions is just a tad
>CF> bit arrogant, don't you think?
>
>Chris, you often ask strange questions. If, I say - if, someone would
>propose to change its conventions, I'd first listen one's reasoning
>before making my opinion whether it is arrogant or not. But what
>relation this has to our present conversation?
I was under the impression that you'd already submitted your reasoning.
Apparently you're having some kind of problems with library versioning
with your own project so your solution is to change cygwin's usages.
I'm sure that it must have occurred to you that cygwin has been using
the same conventions for years and that suddenly changing things now
will lead to confusion. I don't see any plan for dealing with the
confusion, however.
I assume that if your plan is implemented you'll just disappear from
this mailing list and leave others to deal with the fallout.
Perhaps this assumption is invalid, but I don't see you answering any
questions here on a day-to-day basis.
However, it's all moot. The base cygwin release that I control is
not going to change any of its naming conventions. If all of the
other contributors want to adopt a new plan, that's fine with me.
Isn't free software wonderful?
However, I will again state that I don't think that any change is
necessary.
cgf
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: DLL naming conventions
2000-08-31 5:07 ` Re[2]: " Paul Sokolovsky
@ 2000-08-31 8:58 ` Charles S. Wilson
2000-08-31 11:28 ` Re[2]: " Tor Lillqvist
1 sibling, 0 replies; 23+ messages in thread
From: Charles S. Wilson @ 2000-08-31 8:58 UTC (permalink / raw)
To: Paul Sokolovsky; +Cc: cygwin
Paul Sokolovsky wrote:
> CW> I've no interest in fixing a problem (and causing many many more
> CW> problems) when the initial problem has not been demonstrated to affect
> CW> real users.
>
> Depending on different objective and subjective reasons, Tor
> Lillqvist might use my builds in his GIMP-win32 distribution. I tried
> to use versioned names for my libpng.2.1.dll (2.1 is *interface* name,
> from README) and libjpeg.6.dll (I can point you where libjpeg.dll
> already used: in Netscape Nav.). However, for libz.dll and libtiff.dll
> it is not. Zlib has rock-solid API and I don't want to clutter dll
> with any numbers. For libtiff, there's that stupid LZW problem. I
> would like to have LZW-less dll to drop-in-replacable by LZW-contating
> one, so they'd better not to have versioning numbers.
Well, Netscape Communicator actually uses 'jpeg3240.dll', but your point
about the GIMP is well taken.
>
> Ok, now suppose you installed some cygwin-hosted tool on computer
> of secretary in your firm. Also, she's cool enough to prefer GIMP to
> PhotoShop and she installed it. Suppose both dlls get on PATH (for
> example, cygwin's was put by you, and GIMP's stupid shrink-wrapped
> installer drop its to windows/system). Poor user.
Okay, a demonstrated problem.
> Note, that my very question is about whether Cygwin people want
> that to be automatically supported by libtool. I appreciate you
> attention and comprehensive discussion, but I'll understand if you'll
> simply say "I won't do that". But returning back to libtool, you wan't
> be able to link directly to libtool-generated dll that way since it's by
> default includes versioning info. And as you understand, FAQ entry
> with "you've got to use --no-versioning switch to libtool when
> building DLLs with cygwin" won't help. So, staying with implibs for
> linking is only feasible alternative.
>
> CW> I'm not really in favor of using version numbers on shared libs, since
> CW> you'd also have to version the import libs also
>
> As you know, you wouldn't and shouldn't.
Hmmm....actually, you would if you truly wanted to support different
versions of a library that are incompatible at the source level (major
version number changes). 'Course, you'd also need to keep around
multiple versions of the header files....just too much work for me to
contemplate.
Nope. No version numbers on import libs. Not ever.
>
> >> More importantly, it can be automatically
> >> supported on appropriate level (in libtool).
>
> CW> No, it can't.
>
> ???
>
> CW> Currently, libtool itself doesn't support *building* dlls.
>
> Well, to be precise it *does*. In rather ungroundly complicated
> way. But - it's currently. My port of libtool for pw32 does it
> far more seamlessly. And, before going for inclusion these changes
> into official distribution, I'd like it to work for all GNU/Win32
> targets, not only mine.
Well, the problem with libtool is that it's a developer's tool. Take
the gettext package, for instance. It uses some version of libtool that
does not understand cygwin/dlls. The only way to 'fix' it is to replace
the libtool that is distributed WITH gettext, with a newer version.
See, libtool isn't a tool that lives on the end-user's system. It's a
couple of scripts that are distributed with each package that uses
libtool. So, you've probably got 27 versions of libtool on your system
right now.
Perhaps the current version of libtool groks cygwin dlls. (In the 'old'
dlltool way; I'm positive it doesn't use 'gcc -shared'). But none of
the commonly-used libraries or applications out there USE the most
current libtool.
Should libtool support dlls on cygwin? Yes, absolutely.
Should it version the dll's with the major and minor version numbers,
but not the micro or pico version numbers? Sure, as long as you can use
--no-versioning.
Should it create dlls with a 'cyg' prefix when running on CYGWIN instead
of a 'lib' prefix? Ummm...maybe, IMO.
See my other response in this thread, to Earnie Boyd (posted at 11:30am
EDT)
--Chuck
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re[2]: DLL naming conventions
2000-08-31 5:07 ` Re[2]: " Paul Sokolovsky
2000-08-31 8:58 ` Charles S. Wilson
@ 2000-08-31 11:28 ` Tor Lillqvist
2000-08-31 11:47 ` Chris Faylor
1 sibling, 1 reply; 23+ messages in thread
From: Tor Lillqvist @ 2000-08-31 11:28 UTC (permalink / raw)
To: cygwin
Paul Sokolovsky writes:
> GIMP's stupid shrink-wrapped installer drop its to
> windows/system).
No it doesn't. (It did at some point, a long time ago.) Currently it
puts the DLLs in \Program Files\Common Files\GNU.
Currently the GIMP for Windows does not use DLLs for the JPEG, Zlib or
TIFF libraries, precisely because of the lack of consensus in naming
etc. And if there is anything to learn from this discussion, it is
that it is best to stick to static libraries in the future, too...
One point that has not been brought up here is that it is not enough
that some library's API is stable, like for instance zlib. The ABI
must also be identical in order to be able to share the same DLL
between applications from different sources. With this I am thinking
of struct packing issues, i.e. whether gcc compilations use
-fnative-struct (MSVC-compatible bitfield packing) or not.
Sorry that this is mostly off-topic to the cygwin list.
--tml
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: DLL naming conventions
2000-08-31 11:28 ` Re[2]: " Tor Lillqvist
@ 2000-08-31 11:47 ` Chris Faylor
2000-08-31 12:07 ` Larry Hall (RFK Partners, Inc)
0 siblings, 1 reply; 23+ messages in thread
From: Chris Faylor @ 2000-08-31 11:47 UTC (permalink / raw)
To: cygwin
On Thu, Aug 31, 2000 at 09:25:34PM +0300, Tor Lillqvist wrote:
>Paul Sokolovsky writes:
> > GIMP's stupid shrink-wrapped installer drop its to
> > windows/system).
>
>No it doesn't. (It did at some point, a long time ago.) Currently it
>puts the DLLs in \Program Files\Common Files\GNU.
>
>Currently the GIMP for Windows does not use DLLs for the JPEG, Zlib or
>TIFF libraries, precisely because of the lack of consensus in naming
>etc. And if there is anything to learn from this discussion, it is
>that it is best to stick to static libraries in the future, too...
>
>One point that has not been brought up here is that it is not enough
>that some library's API is stable, like for instance zlib. The ABI
>must also be identical in order to be able to share the same DLL
>between applications from different sources. With this I am thinking
>of struct packing issues, i.e. whether gcc compilations use
>-fnative-struct (MSVC-compatible bitfield packing) or not.
>
>Sorry that this is mostly off-topic to the cygwin list.
I actually think that this is quite on topic for this discussion.
I guess the one thing that reading this mailing list for three
years has showed me is that any change is expensive. I never would
have thought that something like having the installer default to
putting cygwin stuff in its own directory would have caused
people's heads to explode but I was obviously naive.
This reaction to change has made me very reluctant to consider
user visible changes to cygwin since I can easily imagine the
onslaught of "newbies" looking for libz.dll.
Maybe you're right and we are starting to rely too much on DLLs for
things that are clearly established and relatively static (no pun
intended) like zlib. The benefit to shared libraries is that
you're sharing a common code base among many applications, making
upgrading due to bugs easier. Also, if multiple programs are
using shared libraries then there should be a reduction in load
times.
I'm not sure that these benefits outweigh the difficulties that
are being raised.
cgf
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: DLL naming conventions
2000-08-31 11:47 ` Chris Faylor
@ 2000-08-31 12:07 ` Larry Hall (RFK Partners, Inc)
0 siblings, 0 replies; 23+ messages in thread
From: Larry Hall (RFK Partners, Inc) @ 2000-08-31 12:07 UTC (permalink / raw)
To: cygwin
At 02:46 PM 8/31/2000, you wrote:
>On Thu, Aug 31, 2000 at 09:25:34PM +0300, Tor Lillqvist wrote:
> >Paul Sokolovsky writes:
> > > GIMP's stupid shrink-wrapped installer drop its to
> > > windows/system).
> >
> >No it doesn't. (It did at some point, a long time ago.) Currently it
> >puts the DLLs in \Program Files\Common Files\GNU.
> >
> >Currently the GIMP for Windows does not use DLLs for the JPEG, Zlib or
> >TIFF libraries, precisely because of the lack of consensus in naming
> >etc. And if there is anything to learn from this discussion, it is
> >that it is best to stick to static libraries in the future, too...
> >
> >One point that has not been brought up here is that it is not enough
> >that some library's API is stable, like for instance zlib. The ABI
> >must also be identical in order to be able to share the same DLL
> >between applications from different sources. With this I am thinking
> >of struct packing issues, i.e. whether gcc compilations use
> >-fnative-struct (MSVC-compatible bitfield packing) or not.
> >
> >Sorry that this is mostly off-topic to the cygwin list.
>
>I actually think that this is quite on topic for this discussion.
>
>I guess the one thing that reading this mailing list for three
>years has showed me is that any change is expensive. I never would
>have thought that something like having the installer default to
>putting cygwin stuff in its own directory would have caused
>people's heads to explode but I was obviously naive.
>
>This reaction to change has made me very reluctant to consider
>user visible changes to cygwin since I can easily imagine the
>onslaught of "newbies" looking for libz.dll.
>
>Maybe you're right and we are starting to rely too much on DLLs for
>things that are clearly established and relatively static (no pun
>intended) like zlib. The benefit to shared libraries is that
>you're sharing a common code base among many applications, making
>upgrading due to bugs easier. Also, if multiple programs are
>using shared libraries then there should be a reduction in load
>times.
>
>I'm not sure that these benefits outweigh the difficulties that
>are being raised.
>
>cgf
Quite true. Microsoft (a bad word I know!;-)) calls this all "DLL Hell"
and has plans to address it with their ".NET" initiative (interesting that
at their web site you find information about this under "Products"!;-))
Anyway, they plan to address the issue by grouping all dependencies (DLLs
in this case) together so that an application runs the DLLs it was shipped
with and not any others that exist on the system. This gets us back very
close to the idea of static libs, which I find an interesting turn of
events. In any case, I'm not advocating that people need to follow what
Microsoft does but it does point out that this is an issue, others have
thought about it, and at least one group has decided to mostly punt on the
idea of DLLs!
Those interested can look at:
http://msdn.microsoft.com/msdnmag/nettop.asp?page=/msdnmag/issues/0900/Framework/Framework.asp&ad=ads.ddj.com/msdnmag/premium.htm
http://msdn.microsoft.com/msdnmag/nettop.asp?page=/msdnmag/issues/1000/Framework2/Framework2.asp&ad=ads.ddj.com/msdnmag/premium.htm
but let's not let this discussion degrade into an analysis of whether
Microsoft is doing the right thing or not!;-)
Larry Hall lhall@rfk.com
RFK Partners, Inc. http://www.rfk.com
118 Washington Street (508) 893-9779 - RFK Office
Holliston, MA 01746 (508) 893-9889 - FAX
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Re[2]: DLL naming conventions
2000-08-31 4:21 ` Re[2]: " Paul Sokolovsky
2000-08-31 8:56 ` Chris Faylor
@ 2000-08-31 18:05 ` Gary V. Vaughan
1 sibling, 0 replies; 23+ messages in thread
From: Gary V. Vaughan @ 2000-08-31 18:05 UTC (permalink / raw)
To: Paul Sokolovsky; +Cc: Chris Faylor
On Thu, Aug 31, 2000 at 02:14:56PM +0300, Paul Sokolovsky wrote:
> [[snip]]
> I'm going to submit patch to libtool which (supposing it will be
> accepted) will make it use other naming scheme for PW32,
> posix-on-win32 layer I maintain. If it is in favor of Cygwin,
> community, I may do the same for cygwin too.
>
> Proposed naming conventions [only pertinent one shown]
>
> For some library 'foo', libtool will procude on
>
> Cygwin:
> libfoo.la - standard libtool wrapper
> libfoo.a - import library, thing against which objects are linked
> ("developer" part)
> cygfoo.<release>.dll - dll, this is what gets loaded in runtime
> ("user" part)
>
> Note that <release> is standard part of name of shared libraries
> produced by libtool. While it sequency of three arbitrary numbers,
> there's strictly recommended policy to using them - in two words, they
> should reflect interface version, never version of library itself. And
> yes, there's a way to disable putting it in name. Most packages don't do
> that, however.
> [[snip]
That's not how libtool works on cygwin -- remember that libtool only
want's you to see (and thus link against) the libfoo.la file. Behind
the scenes it maintains a static library, libfoo.a, and a dynamic
library, libfoo-<release>.dll. When you link against libfoo.la and
libtool decides you want dynamic linkage, it will generate an import
library from libfoo-<release>.dll *on the fly*.
I have no objections to using cyg instead of lib as the default prefix
for libtool built dlls on cygwin, but installing an import library
would be a step backwards IMHO. If you do want to install it (for
people who don't like libtool perhaps), I would suggest naming it
cygfoo.dll.a.
Cheers,
Gary.
--
___ _ ___ __ _ mailto: gvv@techie.com
/ __|__ _ _ ___ _| | / / | / /_ _ _ _ __ _| |_ __ _ ___ gary@gnu.org
| (_ / _` | '_|// / |/ /| |/ / _` | || / _` | ' \/ _` | _ \
\___\__,_|_|\_, /|___(_)___/\__,_|\_,_\__, |_||_\__,_|//_/
home page: /___/ /___/ gpg public key:
http://www.oranda.demon.co.uk http://www.oranda.demon.co.uk/key.asc
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: DLL naming conventions
[not found] ` <20000831230822.R7695@demon.co.uk>
@ 2000-08-31 18:58 ` Charles S. Wilson
2000-09-02 6:56 ` Gary V. Vaughan
0 siblings, 1 reply; 23+ messages in thread
From: Charles S. Wilson @ 2000-08-31 18:58 UTC (permalink / raw)
To: Gary V. Vaughan; +Cc: Paul Sokolovsky, cygwin
"Gary V. Vaughan" wrote:
>
> On Wed, Aug 30, 2000 at 10:51:36AM -0400, Charles Wilson wrote:
> > No, it can't. Currently, libtool itself doesn't support *building*
> > dlls.
>
> Ouch. Yes it does. I added support around Christmas 1998, and have
> been maintaining it ever since.
Thanks for the correction.
>
> Yes it does. And provided your libraries don't trip over the stupid
> dll limitation of "to export a non-function symbol you must edit your
> sources", it works easily. Even if you do export data symbols,
> libtool woll build and link against a dll for you (even generating an
> import lib along the way).
>
> Unfortunately libtool was developed for Unix and assumes a featureful
> shared library architecture, which doesn't map very easily onto win32
> dll's.
>
> I will be able to simplify the dll build process a little when DJ's
> patches to binutils arrive in a cygwin release (did this happen in
> 1.1? I have been so busy with m4 that I only upgraded from b20.1 a few
> weeks ago).
They landed in binutils-20000625, and were finetuned/tweaked to a fairly
stable point by binutils-20000722 (the current version in /latest).
Also, there were a few additions that changed ld's default search order
for libraries:
-Bstatic -lfoo :
looks for libfoo.a
-Bdynamic -lfoo :
looks for libfoo.dll.a (default name for an import lib)
then foo.dll.a (alt. name for an import lib)
then libfoo.dll (link directly to a dll)
then foo.dll (ditto, alt. name)
finally, libfoo.a (fall back to static lib)
The spec file for gcc (as of 2.95.2-2) changed so that:
gcc -static calls 'ld -Bstatic'
gcc calls 'ld -Bdynamic'
Finally, 'gcc -shared' will build a dll, but you need to pass linker
options like '-Wl,--out-implib=libfoo.dll.a' explicitly.
FWIW, all of the (non-libtool) libraries I've dll-ized do not use
dlltool at all, and rely only on gcc (and ld, indirectly).
--Chuck
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: DLL naming conventions
2000-08-30 3:36 DLL naming conventions Paul Sokolovsky
2000-08-30 7:26 ` Chris Faylor
2000-08-30 7:48 ` Charles Wilson
@ 2000-08-31 20:27 ` Charles S. Wilson
2 siblings, 0 replies; 23+ messages in thread
From: Charles S. Wilson @ 2000-08-31 20:27 UTC (permalink / raw)
To: Paul Sokolovsky; +Cc: cygwin
I just want to announce that I don't know what I'm talking about when it
comes to the 'standards' for versioning shared libraries. I just did
some research, and the following assumptions of mine were completely
wrong:
given package name "foo-X.Y.Z"
I stated that
1) "X" was incremented due to source-level incompatibilities (API
changes)
2) "Y" was incremented due to binary-level incompatibilities (ABI
changes)
wrong on both counts. Package name versions have NOTHING to do with
API/ABI changes -- unless the maintainers are 'nice'. Sometimes they
are. But assertion #2 is almost certainly wrong. Anyway, maintainers
are perfectly free to bump X because their dog died. They can bump Z to
indicate a complete rewrite from the ground up. Whatever.
So, API/ABI interface compatibility can be orthogonal to package
versioning. (*)
See the following two documents, but don't draw any conclusions until
you've read both
1) on shared libary naming conventions
http://www.debian.org/Lists-Archives/lsb-spec-9905/msg00011.html
2) on interface (API/ABI) versioning
http://www.gnu.org/software/libtool/manual.html#Versioning
http://www.gnu.org/software/libtool/manual.html#Release%20numbers
(*) This explains Chris's suggestion earlier in this thread:
> In your case, though, I don't see that there will be a problem until
> there actually is an API change. When that happens you can add a
> '1' to whatever DLL changed.
e.g. maintain API/ABI version numbers orthogonal to package versions,
just like cygnus does for the cygwin dll.
This makes me happy. I like this answer to the versioning question. The
'cyg' prefix question is still up in the air -- but only for 'my'
/contrib libraries, not the official /latest libraries. (Chris has
already said he's sticking with libfoo.dll for the official cygnus
packages). However, I'm leaning against 'cyg' too, given the solution
presented earlier in this thread:
> That means that the (so far hypothetical) DLL problems should be
> solvable by keeping the DLLs in the same directory as the executables.
Since all /contrib and /latest dll's & executables go into /usr/bin (==
/bin), the only problems -- within the cygwin sandbox -- imposed by this
solution are other cygwin packages that are installed into /usr/local/
but depend on dll's in /usr/bin. Those problems can be fixed by
1) cp /usr/bin/*.dll /usr/local/bin !! YUCK !!
2) insure that the path gets /usr/bin before /windows/system or
whatever
This works -- in the sandbox (e.g. Michael Ring's User1: see
http://sources.redhat.com/ml/cygwin/2000-08/msg01241.html )
> User1 is happy with cygwin as as 'linux light' on his pc. He uses
> cygwin only in it's own environment (means he first starts bash with
> the cygwin-icon and then works from within bash), his path will only
> include applications that reside inside the cygwin-tree.
However, what of Michael's User2: ?
> User2 is a NT-User who has found out that the standard tools that come
> with Windows/NT are not powerfull enough to assist him in doing his
> daily job. This user will have the cygwin directories somewhere in his
> path. And here the fun begins.
Still NOT a problem -- for the official cygwin programs -- since the
executables live in /usr/bin (== /bin) and the dll's are there, too.
The only problems are those local cygwin apps that do not live in
/usr/bin. User2 cannot play PATH games -- or his non-cygwin apps which
depend on dll's with names similar to cygwin's will get the cygwin dll's
by mistake. So, he must
1) cp /usr/bin/*.dll /usr/local/bin (yuck)
2) on NT/2K: ln /usr/bin/*.dll /usr/local/bin/...
hardlinks will work, I think
3) or put the non-cygwin app's dlls into its executable directory
(this applies as well to other Unix-on-windows systems; they're free to
use a 'pw' prefix or whatever instead of lib, or just insure that all
executables reside in the same directory with their dll's like cygwin is
trying to do.
So, it seems to me that changing the library prefix is not really
necessary -- since there are less intrusive ways to fix the problems.
Hasn't this discussion been fun? &-P
--Chuck
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re[2]: DLL naming conventions
2000-08-31 8:56 ` Chris Faylor
@ 2000-09-01 9:10 ` Paul Sokolovsky
0 siblings, 0 replies; 23+ messages in thread
From: Paul Sokolovsky @ 2000-09-01 9:10 UTC (permalink / raw)
To: Chris Faylor
Hello Chris,
Chris Faylor <cgf@cygnus.com> wrote:
CF> I think it is unlikely that a person will be attempting to use both the
CF> cygwin and mingw libpng DLLs at the same time and have absolutely no
CF> desire to engage in a massive DLL renaming campaign, especially given
CF> the attendant confusion that will be a guaranteed result.
Yes, you or me or other developer hardly will come to such
situation, simply because we know what installed where. But you know
those users - they always find their way to confusion.
>>At the same time, GNU has convention of prefixing libraries with
>>'lib'.
CF> This is a longstanding *UNIX* convention. It's not a GNU convention.
In this context, it matters that it is *GNU* convention. For
example, mingw32 hardly have something to do with Unix, still it's
Minimalist *GNU* target, so I do not consider dropping 'lib' prefix
for it (and thus, protect it from problems with compiler ABI differences
between msvc and gcc).
CF> I was under the impression that you'd already submitted your reasoning.
CF> Apparently you're having some kind of problems with library versioning
CF> with your own project so your solution is to change cygwin's usages.
CF> I'm sure that it must have occurred to you that cygwin has been using
CF> the same conventions for years and that suddenly changing things now
CF> will lead to confusion. I don't see any plan for dealing with the
CF> confusion, however.
Nope, my own project is under my control and I'll find way to make
*it* not to clutter with others. The same true for Cygwin - there's
authority to whom request can be made and either rejected or accepted
(or recommended or not). Unfortunately, there's noone to ask same
about Mingw32. Neither I myself could come to some decision concerning
it. For example, prefix for mingw32 could be changed, but to what?
Long names like 'mingw32' just too long. Short like "m32", "w32" are
missleading. Fairy understood like "gnu" is simply unright...
CF> I assume that if your plan is implemented you'll just disappear from
CF> this mailing list and leave others to deal with the fallout.
CF> Perhaps this assumption is invalid, but I don't see you answering any
CF> questions here on a day-to-day basis.
Sorry, I do not plan any fallout. Neither there're any "my" plan.
Instead, I asked do you have one. As for answering questions, I
decided that I'd better do something now, I somewhat better at hacking
than at PR.
CF> However, it's all moot. The base cygwin release that I control is
CF> not going to change any of its naming conventions. If all of the
CF> other contributors want to adopt a new plan, that's fine with me.
CF> Isn't free software wonderful?
CF> However, I will again state that I don't think that any change is
CF> necessary.
Ok. Thanks for discussion. I tried that and glad that it caught
some attention and it came that it's not all so bad (I'm about keeping
dll in the same dir as binaries, what is already done - sounds good for
me). Also, I'm glad that discussion catch attention of Gary Vaughan -
after all, he'd assessed my patch if I did it. So, if someone thinks that
*libtool* on cygwin should produce *dlls* with 'cyg' prefix, consider
dropping note to libtool@gnu.org , maybe it will be discussed there.
CF> cgf
--
Paul Sokolovsky, IT Specialist
http://www.brainbench.com/transcript.jsp?pid=11135
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: DLL naming conventions
2000-08-31 18:58 ` Charles S. Wilson
@ 2000-09-02 6:56 ` Gary V. Vaughan
0 siblings, 0 replies; 23+ messages in thread
From: Gary V. Vaughan @ 2000-09-02 6:56 UTC (permalink / raw)
To: Charles S. Wilson; +Cc: Paul Sokolovsky, cygwin
On Thu, Aug 31, 2000 at 09:58:24PM -0400, Charles S. Wilson wrote:
> FWIW, all of the (non-libtool) libraries I've dll-ized do not use
> dlltool at all, and rely only on gcc (and ld, indirectly).
It's worth its weight in gold! Thanks. I'll try and get rid of the
dlltool dependency before I release libtool-1.4.
Thanks for the info!
Gary.
--
___ _ ___ __ _ mailto: gvv@techie.com
/ __|__ _ _ ___ _| | / / | / /_ _ _ _ __ _| |_ __ _ ___ gary@gnu.org
| (_ / _` | '_|// / |/ /| |/ / _` | || / _` | ' \/ _` | _ \
\___\__,_|_|\_, /|___(_)___/\__,_|\_,_\__, |_||_\__,_|//_/
home page: /___/ /___/ gpg public key:
http://www.oranda.demon.co.uk http://www.oranda.demon.co.uk/key.asc
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Re[2]: DLL naming conventions
@ 2000-08-31 6:52 Earnie Boyd
0 siblings, 0 replies; 23+ messages in thread
From: Earnie Boyd @ 2000-08-31 6:52 UTC (permalink / raw)
To: Paul Sokolovsky, Charles Wilson; +Cc: cygwin
--- Paul Sokolovsky <paul-ml@is.lg.ua> wrote:
> Note, that my very question is about whether Cygwin people want
> that to be automatically supported by libtool.
Simple question, simple answer; *yes* libtool should support Cygwin. Thank-you
for asking.
Cheers,
=====
---
Earnie Boyd: < mailto:earnie_boyd@yahoo.com >
__Cygwin: POSIX on Windows__
Cygwin Newbies: < http://gw32.freeyellow.com/ >
__Minimalist GNU for Windows__
Mingw32 List: < http://www.egroups.com/group/mingw32/ >
Mingw Home: < http://www.mingw.org/ >
__________________________________________________
Do You Yahoo!?
Yahoo! Mail - Free email you can access from anywhere!
http://mail.yahoo.com/
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com
^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2000-09-02 6:56 UTC | newest]
Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-08-30 3:36 DLL naming conventions Paul Sokolovsky
2000-08-30 7:26 ` Chris Faylor
2000-08-31 4:21 ` Re[2]: " Paul Sokolovsky
2000-08-31 8:56 ` Chris Faylor
2000-09-01 9:10 ` Re[2]: " Paul Sokolovsky
2000-08-31 18:05 ` Gary V. Vaughan
2000-08-30 7:48 ` Charles Wilson
2000-08-30 7:52 ` Chris Faylor
2000-08-30 8:07 ` Norman Vine
2000-08-30 8:17 ` Charles Wilson
2000-08-30 8:19 ` Charles Wilson
2000-08-30 11:37 ` Chris Faylor
2000-08-31 5:14 ` Re[2]: " Paul Sokolovsky
2000-08-30 8:11 ` Charles Wilson
2000-08-31 5:07 ` Re[2]: " Paul Sokolovsky
2000-08-31 8:58 ` Charles S. Wilson
2000-08-31 11:28 ` Re[2]: " Tor Lillqvist
2000-08-31 11:47 ` Chris Faylor
2000-08-31 12:07 ` Larry Hall (RFK Partners, Inc)
[not found] ` <20000831230822.R7695@demon.co.uk>
2000-08-31 18:58 ` Charles S. Wilson
2000-09-02 6:56 ` Gary V. Vaughan
2000-08-31 20:27 ` Charles S. Wilson
2000-08-31 6:52 Re[2]: " Earnie Boyd
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).