Closed
Bug 53727
Opened 25 years ago
Closed 20 years ago
none of the libraries created contain soversions
Categories
(SeaMonkey :: Build Config, defect, P3)
SeaMonkey
Build Config
Tracking
(Not tracked)
RESOLVED
WONTFIX
People
(Reporter: frb, Unassigned)
References
Details
(Keywords: topembed-)
None of the libraries created by the mozilla build that are intended to be
used by other applications have soversions, this causes problems on unix.
Especially if you change the API without changing the soversion.
Comment 1•25 years ago
|
||
->cls
I agree and think we should do library versioning on unix, but i'm not sure what
implications this has.
Assignee: pavlov → cls
Status: UNCONFIRMED → NEW
Ever confirmed: true
I thought we were waiting on soversions until we actually started freezing
apis? If this is the case, does anyone know where we can get a list of APIs
(and corresponding libs) to be frozen for PR3/moz 0.9 ?
Status: NEW → ASSIGNED
Comment 3•25 years ago
|
||
Vidur can help with API freeze questions.
/be
Comment 4•25 years ago
|
||
Well...the short of it is that we're deferring freezing APIs till post-Netscape
6/Mozilla 0.9. Not all embedding-related API changes could be done in time and
the ones remaining will now be applied to the trunk.
The API review meetings will start again shortly and we'll delve back into
freezing part or all of XPCOM. This means that we (actually developers who were
hoping for a freeze) are SOL with respect to Netscape 6. By early next year
(most probably in time for Mozilla 1.0) we'll have a complete set of frozen
XPCOM and embedding interfaces.
As I just posted in the "Freezing Embedding interfaces" thread in m.xpcom, I
think the only truly XP way of doing shared library versioning is to follow
nspr's example of including the major number (should be major & minor though) as
part of the library name. If XP file names are not a concern, then sonames
should work fine on the platforms that support them.
The important piece that needs to be acknowledged by owners of the libs we want
to start versioning is the importance of the frozen APIs and what will be
expected once we start versioning the libraries. I ran across this paper which
seems to sufficiently define what library versioning means (and should mean to us):
http://www.usenix.org/publications/library/proceedings/als2000/full_papers/browndavid/browndavid_html/#pgfId-998540
Right now, I guess I'm really only concerned about versioning the non-component
libraries. Components will require an additional level of versioning to be
handled by the component manager so I'm not sure what additional benefits soname
versioning will give us since we load the libraries directly.
Depends on: 98278
Comment 6•24 years ago
|
||
I am not sure exactly if this will be fixed prior to mozilla 1.0.
Comment 7•24 years ago
|
||
dougt: I'm here to say, on behalf of mozilla.org, that this needs to be fixed
before any major, long-lived branch such as mozilla1.0 is cut. Vendors and
distributors will need to identify pre-installed "system libraries" and see
whether they're up to snuff. Or we can give up, and tell everyone to bundle his
own copy -- ask chofmann and others @netscape.com if they want that kind of
avoidable bloat on RedHat future releases that already have libxpcom.so.
cls: are there bugs on file for Windows and Mac versioning? If not, will you do
the deeds? Thanks,
/be
Comment 8•24 years ago
|
||
there are already bugs filed for windows dll and exe versioning, but not broken
down on a component basis.
http://bugzilla.mozilla.org/show_bug.cgi?id=23560
Comment 9•24 years ago
|
||
Brendan, et. al, I do not think that this bug needs to be fixed for vendors and
distributors to identify what they are bundling. What I and others (even some
non-netscape employees!) have proposed is grouping/coupling all of the mozilla
libraries and public interfaces into a single reference. What are mozilla.org
thoughts on this?
Comment 10•24 years ago
|
||
dougt: please define "single reference".
What about systems (such as RH Linux) that have existing conventions for naming
and versioning system libraries? We are not going to bend the world around our
idea of a single standard for all Mozilla APIs and libraries, even if that were
a good idea (it's not: Mozilla purveys too many distinct API sets and libs --
why should they all be dumped into one versionable bin? My contention that we
need versioning for mozilla1.0 should not be read to mean we need *one single
version-lump* for mozilla1.0, only that mozilla1.0 bundles a bunch of versioned
things together in a coherent, long-lasting, supportable fashion).
We should take this to the newsgroups. m.builds and m.xpcom, with followups set
to m.xpcom? Or the underused m.platform? Leaf, cls, please guide us.
/be
Comment 11•24 years ago
|
||
brendan, this bug should really be a meta-bug, if you want individual components
to version themselves. How many components do we have that are owned strongly
with owners that are going to bother with version numbers?
NSPR and NSS, maybe, and XPCOM, if we can snooker doug into doing it :)
Do we even have a list of components that are distinct and can actually be used
from without the mozilla tree?
Comment 12•24 years ago
|
||
Just to be clear, I am not objecting to adding versioning to libraries - we need
to do this at some point. I am just questioning if it is needed as soon as some
suggest.
Comment 13•24 years ago
|
||
dougt: don't mince words, what do you mean? "Some suggest" might refer to me,
who thinks we should have had this per-library versioning info long ago (RH has
already shipped a Mozilla-based browser). Exactly *when* would you want to fix
this bug, if not by mozilla1.0? Or, what criteria do you think should apply in
deciding when to fix this bug?
/be
Comment 14•24 years ago
|
||
My criteria:
1. Stable, long-lived, supported CVS branch.
2. Useful sets of frozen, supported-till-next-super/major-version APIs.
3. Some kind of ABI commitment (if you use compiler X on OS Y, your code can
link with version Z of our lib -- for a given Z, there may be several valid X,Y
pairs).
All of these apply to mozilla1.0, and none before it. So I say mozilla1.0 is
the right goal.
/be
Comment 15•24 years ago
|
||
Hrm. So this bug seems to be morphing quite a bit so let me recap & refocus.
The original bug is on our lack of soversions in libraries "that are intended to
be used by other applications". For simplicity, I'm going to interpret that as
just the libraries that mozilla directly links against. Most of our components
(bin/components) are not ready to be frozen and I don't want to hold up 1.0
waiting for them. (Note: people will probably come looking for our high profile
components (gecko,necko,etc) when 1.0 is released so it wouldn't hurt to have
those frozen either).
I think we have consensus now that using the platform native library versioning
scheme is the way to go.
Before we can start versioning the libraries however, we need to make sure that
the APIs are frozen. Agreed?
The list of "public" libraries are:
libgkgfx
libmozjs
libjsj
libxpcom
libnspr4
libplc4
libplds4
NSPR (nspr,plc,plds) is already frozen. I'm not sure about the states of gfx,
js & liveconnect (jsj). xpcom is in the process of being frozen.
Having these libraries versioned should be mozilla1.0 criteria since mozilla1.0
is greatly perceived as the "hey, I'm stable; come use me!" release.
Comment 16•24 years ago
|
||
I think that we should fix this bug after we have a defined set of APIs which
can and will be supported by a stated libary version number. Anything prior to
this is IMO pointless.
Comment 17•24 years ago
|
||
It's not pointless to figure out *how* our build system will need to be tweaked
to do the right version-stamping. The people working on build-fu and the people
working on API freezes form almost disjoint sets.
/be
Comment 18•24 years ago
|
||
I think that this bug is somewhat orthoganal to API freezing.
I agree with leaf that this should really be a meta bug that tracks the adoption
of version-info in *each* mozilla DLL.
To some extent this is really a DLL packaging issue more than an API freezing
issue...
I totally agree that this work needs to be done for mozilla 1.0, but i consider
it secondary to actually defining the frozen APIs for mozilla 1.0
-- rick
Updated•24 years ago
|
Keywords: mozilla1.0
Comment 19•24 years ago
|
||
*** Bug 50627 has been marked as a duplicate of this bug. ***
Comment 20•24 years ago
|
||
*** Bug 86853 has been marked as a duplicate of this bug. ***
Comment 21•24 years ago
|
||
this bug is also for version resources on the windows platform. See bug 50627.
And it's not only in GTK widgets. It's on all .dll and *.exe files on the
windows platform.
OS: Linux → All
Hardware: PC → All
Updated•23 years ago
|
Keywords: mozilla1.0+
Updated•23 years ago
|
Keywords: mozilla1.0
Updated•23 years ago
|
Comment 22•23 years ago
|
||
I realize they have already been removed from the discussion on the basis of
expedience, but I suggest that this bug should not apply to component modules at
all. Component modules are not linked against, and versioning them can (and
should) be taken care of using contractIDs.
Comment 23•23 years ago
|
||
*** Bug 145914 has been marked as a duplicate of this bug. ***
Updated•23 years ago
|
Severity: normal → major
Priority: P3 → P2
Target Milestone: mozilla1.0 → mozilla1.1beta
Comment 24•23 years ago
|
||
Moving milestone out to future since we've obviously missed the 1.1beta.
Target Milestone: mozilla1.1beta → Future
Comment 25•23 years ago
|
||
*** Bug 182422 has been marked as a duplicate of this bug. ***
Comment 26•23 years ago
|
||
EDT triage on 1/10: removing topembed+ keyword.
Comment 27•23 years ago
|
||
juan meant to minus this one earlier.
Comment 28•23 years ago
|
||
Comment 29•22 years ago
|
||
Mass reassign to default build config owner
Assignee: cls → mozbugs-build
Status: ASSIGNED → NEW
Priority: P2 → --
Mass reassign of Build/Config bugs to Leaf.
Assignee: mozbugs-build → leaf
Component: Embedding: GTK Widget → Build Config
Target Milestone: Future → ---
Comment 31•21 years ago
|
||
What's the current status of this bug?
We seem to keep running into issues with these libraries when they break API
compatibility with things like galeon, and it would be nice to fix it correctly.
See debian bug http://bugs.debian.org/265626
Updated•21 years ago
|
Assignee: leaf → cmp
Priority: -- → P3
Updated•21 years ago
|
Product: Browser → Seamonkey
Comment 32•20 years ago
|
||
Mass reassign of open bugs for chase@mozilla.org to build@mozilla-org.bugs.
Assignee: chase → build
Comment 33•20 years ago
|
||
WONTFIX. Because of interdependencies and support files, the correct way to link against a particular version of gecko is to use the standalone glue.
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•