Closed
Bug 68604
Opened 24 years ago
Closed 17 years ago
Solaris installer should statically link against libstdc++ or not at all
Categories
(SeaMonkey :: Installer, defect)
Tracking
(Not tracked)
RESOLVED
INVALID
People
(Reporter: ted, Unassigned)
Details
(Keywords: relnote)
Neithe Mozilla 0.7 nor nightly builds will install
on my UltraSparc running Solaris8 (64 bit). Missing
libstdc++.so should this library be included with
the builds since it's not a standard part of the OS?
Probably the same for glib and GTK, I have GNOME installed
so those are found.
-Thomas
Updated•24 years ago
|
QA Contact: gemal → gbush
Comment 1•24 years ago
|
||
Thats a standard library..Does it work when you have that library?
| Reporter | ||
Comment 2•24 years ago
|
||
Standard from where? I have Solaris 8 w/ gnome and enlightenment from
the Sun CDs. I download mozilla-sparc-sun-solaris2.8-0.7.tar.gz from
mozilla.org cd to package and:
$./mozilla-installer-bin
ld.so.1: ./mozilla-installer-bin: fatal: libstdc++.so.2.10.0: open failed: No
such file or directory
Killed
$ldd ./mozilla-installer-bin
libgtk-1.2.so.0 => /usr/local/lib/libgtk-1.2.so.0
libgdk-1.2.so.0 => /usr/local/lib/libgdk-1.2.so.0
libgmodule-1.2.so.0 => /opt/sfw/lib/libgmodule-1.2.so.0
libglib-1.2.so.0 => /opt/sfw/lib/libglib-1.2.so.0
libdl.so.1 => /usr/lib/libdl.so.1
libXext.so.0 => /usr/openwin/lib/libXext.so.0
libX11.so.4 => /usr/openwin/lib/libX11.so.4
libsocket.so.1 => /usr/lib/libsocket.so.1
libnsl.so.1 => /usr/lib/libnsl.so.1
librt.so.1 => /usr/lib/librt.so.1
libm.so.1 => /usr/lib/libm.so.1
libstdc++.so.2.10.0 => (file not found)
libpthread.so.1 => /usr/lib/libpthread.so.1
libc.so.1 => /usr/lib/libc.so.1
libmp.so.2 => /usr/lib/libmp.so.2
libaio.so.1 => /usr/lib/libaio.so.1
libthread.so.1 => /usr/lib/libthread.so.1
/usr/platform/SUNW,Ultra-1/lib/libc_psr.so.1
So where is libstdc++.so.2.10.0 supposed to come from?
Where should it be installed?
I just grabbed a new nightly build,
20001-02-15-21-Mtrunk/mozilla-sparc-sun-solaris2.6.tar.gz
$ldd mozilla-bin
libgkgfx.so => (file not found)
libxpcom.so => (file not found)
libmozjs.so => (file not found)
libjsj.so => (file not found)
libplds4.so => (file not found)
libplc4.so => (file not found)
libnspr4.so => (file not found)
libpthread.so.1 => /usr/lib/libpthread.so.1
libposix4.so.1 => /usr/lib/libposix4.so.1
libsocket.so.1 => /usr/lib/libsocket.so.1
libdl.so.1 => /usr/lib/libdl.so.1
libm.so.1 => /usr/lib/libm.so.1
libc.so.1 => /usr/lib/libc.so.1
libaio.so.1 => /usr/lib/libaio.so.1
libnsl.so.1 => /usr/lib/libnsl.so.1
libmp.so.2 => /usr/lib/libmp.so.2
libthread.so.1 => /usr/lib/libthread.so.1
/usr/platform/SUNW,Ultra-1/lib/libc_psr.so.1
( note that . isn't in my normal LD_LIBRARY_PATH )
notice noy libstdc++ needed, and mozilla comes up,
even grabs my old netscape profile :)
Will the Mozilla 0.8 Sparc-Solaris buld be like this
or need libstdc++?
Comment 3•24 years ago
|
||
Sorry on Red Hat Linux I have always had it installed automatically...Thats me
opening my big mouth again. Not sure where to get it then :)
Comment 7•24 years ago
|
||
I am seeing this as well. I have a Solaris 8 install. It is brand new.
I've looked all over for a library called libstdc++* and don't see it
anywhere. Mozilla 0.8 will not run or install. Its ironic, I upgraded
to Solaris 8 just to get the mozilla builds. :-(
Comment 8•24 years ago
|
||
It is true that libstdc++ does not come with solaris. This is available though
through sun's release of Netscape6. Download from the following URL..
www.sun.com/solaris/netscape
This package/bundle is shipped with the libstdc++ library present in it.
Comment 9•24 years ago
|
||
Marking NEW as per comments but this i am pretty sure can be moved to documentation.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Summary: Cannot install in Solaris → Cannot install in Solaris without libstdc++
Comment 10•24 years ago
|
||
CCing endico for possible release note comment.
Comment 11•24 years ago
|
||
For fun, please try:
$ run-mozilla.sh ldd mozilla-bin
see also bug 79065.
girish/ssu: for Solaris, it looks like we should do static linkage for the
installer binary.
Keywords: mozilla1.0
Comment 12•24 years ago
|
||
to answer my own question:
y:/tmp/obj-sparc-sun-solaris2.7/dist/bin: setenv LD_LIBRARY_PATH .:./components
y:/tmp/obj-sparc-sun-solaris2.7/dist/bin: ldd mozilla-bin
libgkgfx.so => ./libgkgfx.so
libxpcom.so => ./libxpcom.so
libmozjs.so => ./libmozjs.so
libjsj.so => ./libjsj.so
libplds4.so => ./libplds4.so
libplc4.so => ./libplc4.so
libnspr4.so => ./libnspr4.so
libdl.so.1 => /usr/lib/libdl.so.1
librt.so.1 => /usr/lib/librt.so.1
libsocket.so.1 => /usr/lib/libsocket.so.1
libm.so.1 => /usr/lib/libm.so.1
libpthread.so.1 => /usr/lib/libpthread.so.1
libc.so.1 => /usr/lib/libc.so.1
libnsl.so.1 => /usr/lib/libnsl.so.1
libthread.so.1 => /usr/lib/libthread.so.1
libaio.so.1 => /usr/lib/libaio.so.1
libmp.so.2 => /usr/lib/libmp.so.2
/usr/platform/SUNW,Ultra-2/lib/libc_psr.so.1
cls: this is the reason that we should statically link against libstdc++.
Summary: Cannot install in Solaris without libstdc++ → Solaris installer should statically link against libstdc++
Comment 13•24 years ago
|
||
timeless, you're preaching to the choir. Take it to staff & drivers.
Comment 14•24 years ago
|
||
A design goal of installer is to be as small as possible with the initially
downloaded bits. Statically linking anything to the application will be contrary
to that goal.
I suspect what has happened is that libstdc++ got majically added to the list of
libs we link to (I may be wrong, I need to pull a build and investigate). If
that is the case, I want to see if we can make some Makefile.in changes within
the xpinstaller component so that we don't gratuitously link in this library as
a part of the install wizard. If we don't use the library, we shouldn't be
linking (we may need it, I don't know, again I need to pull and find out).
Another solution would be to produce platform specific builds for the installer
binary if we can't find some other workaround, builds that dynamically link in
whatever is the correct libs for the *nix platform being shipped. Probably
#ifdef foo inside the Makefile.in can handle this.
Comment 15•24 years ago
|
||
Yeah I remember the design goal about being small. However it should work out
of the box too (ie, i shouldn't need to get the entire mozilla to run the
installer).
Syd: does that mean you're volunteering to investigate this? I don't have
enough experience or knowledge to do this, although I could be tutored.
Reporter: you originally asked about gtk/gdk, since this installer will install
a gtk version of mozilla, it's fair that we require it. Yes you can build
mozilla xlib (I do) or Qt (I do that too), but they would probably want to
build their own installers (or just packagers perhaps a .deb).
Summary: Solaris installer should statically link against libstdc++ → Solaris installer should statically link against libstdc++ or not at all
| Reporter | ||
Comment 16•24 years ago
|
||
> Reporter: you originally asked about gtk/gdk, since this installer will
> install a gtk version of mozilla, it's fair that we require it. Yes you
> can build mozilla xlib (I do) or Qt (I do that too), but they would probably
> want to build their own installers (or just packagers perhaps a .deb).
I guess what matters is that if a library is missing, the mozilla install
should configure that. Especially on non-linux systems that don't
use gtk+ or Qt yet. Since all Solaris/AIX/HP-UX systems have Motif
it wasn't needed for Navigator, but the linux builds included a runtime/static
copy most systems didn't have Motif. Mozilla should do the same.
Comment 17•24 years ago
|
||
For solaris the problem also occurs with gtk+/glib which are dynamically linked.
Thus for our Sun's Netscape 6 releases we statically linmk these libraries in too.
The size does increase but then use "strip" and it is much better.
Comment 18•24 years ago
|
||
I'm working on a patch to make the libstdc++ static. This will probibly take up
about ~20k. I'll get back to you guys with it when it's done.
Comment 19•24 years ago
|
||
you guys might find this kind of interisting, but I did a little checking.
Communicator 4.x requires libstdc++ too. Maybe we should consider this a
pre-req, and leave it alone?
Comment 20•24 years ago
|
||
We need to go ahead and add to the release notes that libgtk-1.2.so.0 and
libgfx_gtk.so are required as well on Solaris. Probably need to mention
where these can be found as well. Are they in the ns6 install?
Comment 21•24 years ago
|
||
Yes it is in the ns6install. The netscape6 downloadable from Sun's website for
solaris has all the pre-reqs bundled in.
Comment 22•24 years ago
|
||
libstdc++ is a part of gcc if you're working with a GNU toolset. Older
Sun-packaged gcc's, i.e. the one I d/l'd from BigAdmin a few months ago, did not
come with a shared libstdc++ (the result of not compiling with
--enable-shared). Newer ones do, i.e. the one on the Solaris 8 4/01 Software
Companion CD.
Just a little contribution since nobody has mentioned it yet.
Comment 23•24 years ago
|
||
No longer working on Mozilla.
Assignee: girish.manwani → ssu
QA Contact: gbush → gemal
Updated•24 years ago
|
QA Contact: gemal → ktrina
Comment 24•24 years ago
|
||
another wrinkle: the netscape6 download at sun is solaris 7 and 8 only. if
you're using 2.6 you can't install it and thus can't get the libstdc++.
yes, you could try and take the package apart (i'm doing that now), but....
IMHO it REALLY should be included. like timeless says, its must at least
install...
Comment 25•24 years ago
|
||
Question is whether a commercial product like Netscape 6 should be build with
gcc (which ends-up in this libstdc++ issues and other pain) ?
Why isn't it simply possible to use Sun Workshop/Forte in this case ?
Comment 26•24 years ago
|
||
gcc vs. forte is certainly a valid question, but i don't think that is the point
of this bug.
regardless of which is chosen, it should Just Work (and install)
without having to chase down libraries. worse, in this case, the given chase
location doesn't work in all cases (solaris 2.6).
Comment 27•24 years ago
|
||
i think the priority of this bug should be raised significantly - it
is, strictly speaking, a blocker but with a workaround of chasing down the
library. it also looks REALLY bad (when it shows up; solaris).
Comment 29•23 years ago
|
||
The release notes contain this item.
"To install Mozilla on Solaris8 (64 bit), you must first install
libstdc++. Download the Sun Netscape 6 install package and install
libstdc++ from that package before installing or running Mozilla . In
addition the following patches from http://sunsolve.sun.com need to be
installed: 109147-09, 108434-02 108435-02. (Bug 68604)"
Apparently this is no longer correct because the latest
versions of Netscape no longer contain libstdc++. What
should it say now?
In email, paul asked:
" Maybe I misunderstood this note, but I interpreted this as
meaning that I should install the libraries from Netscape 6.01 (which
put them in /opt/SUNWns6/dist/lib) and set
LD_LIBRARY_PATH=/opt/SUNWns6/dist/lib to pick up libstdc++ for mozilla.
Unfortunately, as far as I can tell, Netscape 6.21 does not include
libstdc++ anymore - either the SPARC or the Intel version. Also, I've
been using these libraries from the /opt/SUNWns6/dist/lib directory,
/opt/SUNWns6/dist/lib//libgdk-1.2.so.0
/opt/SUNWns6/dist/lib//libglib-1.2.so.0
/opt/SUNWns6/dist/lib//libgmodule-1.2.so.0
/opt/SUNWns6/dist/lib//libgtk-1.2.so.0
Of course, these don't exist anymore either, but luckily the
/opt/sfw/lib contains these libraries.
The Solaris 8 Intel version that I've been building seems
dependent on the libstdc++ library. The SPARC version does not.
Currently, I'm investigating my Solaris Intel installation, and I'm
hoping to be able to reconfigure my Solaris Intel box to re-build
Mozilla such that it doesn't require the library.
Any thoughts on this? Or, whom I need to contact about the
missing libstdc++ library situation for Mozilla?
"
Comment 30•23 years ago
|
||
AFAIK all newer Netscape releases for Solaris are build using the Sun Workshop
compiler which does not need libstdc++.
We either build our nightlies with Sun Workshop, too (preferred because Sun
Workshop builds are much faster - and the newer JDK/JRE releases do not support
a JAVA-plugin for gcc builds aynmore) or provide somehow access to libstdc++
binaries (seperate download, include them in the tarball (preferred - you need
exactly the same libstdc++ version as the one used for building the Zilla or you
end-up in various issues ("missing symbol" for example)) or link statically) ...
| Reporter | ||
Comment 31•23 years ago
|
||
Since the SPARC nightlies are so erradic, I've started building
from the nightly tarball. I just checked and
I've got gcc-2.95.3 (20010315) installd recently.
The builds DO NOT use libstdc++ now.
When did it change?
| Reporter | ||
Comment 32•23 years ago
|
||
I grabbed the RC2 file.
The libstdc++ issue is back.
And NS6.01 is nolonger on the sun website.
So where does one get this?
Why is it back?
RC1 didn't need it and was built with gcc according to the README.
RC1 used gcc-2.95.2 and RC2 used 2.95.3
Comment 33•23 years ago
|
||
Hooray, RC3 doesn't seem to need libstdc++.so !
Comment 34•23 years ago
|
||
Therefore the release notes are now wrong.
http://www.mozilla.org/releases/mozilla1.0/#compatible
Comment 35•23 years ago
|
||
is it fixed on the trunk too?
i.e., do the builds builds in this directory require it?
ftp://ftp.mozilla.org/pub/mozilla/nightly/latest/
Comment 36•23 years ago
|
||
I got ask from Dawn to investigate this problem,
Comment 37•23 years ago
|
||
Thanks Bruce for helping to investigate this, It is the response from Bruce Gao,
hope is helps
***************************************************
Jay,
If we build using gcc,then libstdc++ is required,the release will ship libstdc++
at the same time .
If we build usging CC,libstdc++ can be removed from both the build process and
release binary.
Generally speaking,now Sun build Netscape using CC, so Netscape for Solaris(Sun
released) doesn't need
libstdc++ any more,while other mozilla builds may require it,depending on build
tools.
Bruce
*********************************************************
Comment 38•23 years ago
|
||
Bruce Gao is added into the CC list.
Comment 39•23 years ago
|
||
libstdc++.so is not available on Soalris 8 by default. It is provided by glib.
Thanks,
Tian
siyuan.tian@sun.com
The following is from bruce.gao@sun.com:
If we build using gcc,then libstdc++ is required,the release will ship libstdc++
at the same time .
If we build usging CC,libstdc++ can be removed from both the build process and
release binary.
Generally speaking,now Sun build Netscape using CC, so Netscape for Solaris(Sun
released) doesn't need
libstdc++ any more,while other mozilla builds may require it,depending on build
tools.
Bruce
| Reporter | ||
Comment 40•23 years ago
|
||
The README in RC3 claims it was built with gcc.
But it's not looking for libstdc++, which is contrary to
the claim that it's a gcc dependency.
Tian, where does glib provide that?
I have the gnome-1.4 preview from Solaris8, which uses glib,
but not libstdc++. Which package is it in? Where does it
get installed?
Comment 41•23 years ago
|
||
I got
glib-1.2.10-sol8-sparc-local.gz
from
www.sunfreeware.com
After install it, I got
/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3/libstdc++.so
/usr/local/lib/libstdc++.so.2.10.0
Comment 42•23 years ago
|
||
I just checked using the following command,and make sure that libstdc++ should
come from gcc package not glib.
Tian may oversighted it.
# pkgchk -l SMCgcc | grep libstdc
Pathname: /usr/local/doc/gcc/install/dec-osf-shlibstdc++.patch
Pathname: /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.2/libstdc++.a
Source of link: ../../../libstdc++.a.2.10.0
Pathname: /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.2/libstdc++.so
Source of link: ../../../libstdc++.so.2.10.0
Pathname: /usr/local/lib/libstdc++.a.2.10.0
Pathname: /usr/local/lib/libstdc++.so.2.10.0
# pkgchk -l SMCglib | grep libstdc
#(no output)
| Reporter | ||
Comment 43•23 years ago
|
||
gcc here is built by the system admin.
It doesn't have libsdtc++.so, only libstdc++.a
Can we include libstdc++.so, as used by the build
on mozilla.org? Or find a way to not link against
for the builds.
RC1 didn't need it, RC2 did, then was fixed, and RC3
doesn't so far.
Still, the Release notes must be changed. Downloading
Netscape 6+ for Sun does NOT provide libstdc++. If sun
could distribute a copy of libsdtc++, mozilla should be
able to do that.
Comment 44•23 years ago
|
||
Misc comments:
1. AFAIK (better: As far as I can remember) we cannot provide libstdc++.so
binaries build from gcc 2.x sources with the mozilla distribution due unclear
legal reasons (cls please correct me if I am wrong) - we had that problem with
Linux, too
2. ANSI-C-only-*.so: Only shared libraries build with Sun Workshop/Forte can
work with both gcc binaries and Sun Workshop binaries. Shared libraries build
with gcc only work with gcc binaries - not with binaries build with Sun
Workshop. If we want binary compatibility we MUST build with Sun Workshop/Forte.
3. C++-*.so: Name mangeling between Sun Workshop and gcc 2.x is different and
completly incompatible (that's the reason why we currently need two JAVA2
plugins - one for gcc (e.g. /usr/java/jre/plugin/sparc/ns600/) and one for Sun
Workshop builds (e.g. /usr/java/jre/plugin/sparc/ns610/))
4. gcc binaries are slow as molasses compared to Sun Workshop binaries (and Sun
Workshop builds may use far higher optimisation levels before running into
compiler bugs (WS6U2+patches can be used with --enable-optimize="-dalign -xO4
-xtarget=generic -xbuiltin=%all -xlibmil" without problems))
Conclusion:
Please do not build official builds with gcc or you hit issues [1]-[4] ...
Comment 45•23 years ago
|
||
Well, I'm not sure if point 1 of comment 44 is relevant. We may not be able to
distribute libstdc++*so, but we don't have. Just statically link in libstdc++*.a
and the problem is avoided. Of course Roland's other points still stand, so
forte is probably preferred when available.
Comment 46•21 years ago
|
||
So what is the "Mozilla" bug here?
Is this not an issue for whoever is building the installer? If you want to
statically link against libstdc++, go ahead. The Solaris releases are
contributed and the Solaris nightlies are bare tarballs (no installer).
Updated•20 years ago
|
Product: Browser → Seamonkey
Updated•17 years ago
|
Assignee: dprice → nobody
QA Contact: ktrina → general
Comment 47•17 years ago
|
||
resolving INVALID
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → INVALID
You need to log in
before you can comment on or make changes to this bug.
Description
•