Closed
Bug 217499
Opened 22 years ago
Closed 22 years ago
Clean up AIX libpath and configure script
Categories
(SeaMonkey :: Build Config, defect)
Tracking
(Not tracked)
VERIFIED
FIXED
People
(Reporter: pkwarren, Assigned: mozbugs-build)
Details
Attachments
(1 file)
|
5.11 KB,
patch
|
cls
:
review+
asa
:
approval1.5+
|
Details | Diff | Splinter Review |
By default, AIX builds include libpath information in binaries and shared
libraries, which is used as a search path to locate shared libraries on the
system. Mozilla builds do not explicitly set the libpath when linking, so often
times the libpath in the shared libraries can look like this:
../../dist/bin:../../dist/lib:/home/pkw/sb/moz14/src/nsmoz/mozilla/dist/lib
:/opt/freeware/lib:/usr/lpp/xlopt:/usr/lib/threads:/usr/vacpp/lib:/usr/lib:/lib
The Mozilla builds find the correct path to the shared libraries by explicitly
setting the LIBPATH variable in the startup script, but we should clean up the
libpath to just include the default /usr/lib:/lib.
We also need to clean up several things in the configure script for AIX to check
for a working compiler, use the recommended compiler flags for generating shared
libraries, and create some commonly used preprocessor defines.
| Reporter | ||
Comment 1•22 years ago
|
||
This patch does the following:
1) Sets the preprocessor define AIX in the configure script. This is used in
several places throughout the codebase and should be set automatically.
2) Changes the default command to create shared libraries from:
makeC++SharedLib_r -ldl -bM:SRE -p1 -brtl -bso -bsymbolic -bnortllib
to
$(CXX)/$(CC) -qmkshrobj=1 -G -bnoentry
This is the preferred method for building shared libraries with compiler
versions 5 and up. In addition, the makeC++SharedLib_r shell script has
problems with command line arguments of the form "-Wl,-brtl" which are
perfectly valid to pass to the compiler, and is no longer actively developed or
supported.
3) Adds a check for VisualAge C++ v5.0.2 or greater, which Mozilla is known to
compile with. Older versions of the compiler are out of service, not supported,
and no longer known to build Mozilla.
4) Adds a new check for the sys/inttypes.h header file. There was only one
usage of the preprocessor define AIX4_3 in the code, and that was to determine
whether to use the /usr/include/sys/inttypes.h header file which was added in
AIX 4.3. Previously the AIX4_3 define had to be manually specified in the
CFLAGS environment variable in order to build properly on AIX.
5) Sets the default libpath to /usr/lib:/lib.
| Reporter | ||
Updated•22 years ago
|
Attachment #130487 -
Flags: review?(cls)
Comment on attachment 130487 [details] [diff] [review]
Patch v1
The patch looks fine with the exception of the libpath change. The libpath
change looks akin to setting -rpath which we've had problems with beforehand.
If someone has mozilla installed on the system in /usr/lib and then runs
another copy from their homedir, will the binary use the copies of the libs
from the homedir or use the ones from /usr/lib? How about if the files are
compiled to use /usr/local as the prefix (which is the default)?
| Reporter | ||
Comment 3•22 years ago
|
||
The run-mozilla.sh script explicitly sets the LIBPATH environment variable to
${MOZ_DIST_BIN}:${MRE_HOME}${LIBPATH+":$LIBPATH"}, where ${MOZ_DIST_BIN} is the
directory where the run-mozilla.sh script is located. The LIBPATH variable is
always used before the libpath setting in the libraries. This change still
allows different installations of Mozilla (assuming the default startup script
is not changed), but it prevents Mozilla from ever looking in places
like /home/pkw/sb/moz14/src/nsmoz/mozilla/dist/lib for libraries. If a user was
really motivated, they could create their own custom system libraries in those
paths and override expected behavior.
Attachment #130487 -
Flags: review?(cls) → review+
| Reporter | ||
Comment 4•22 years ago
|
||
Comment on attachment 130487 [details] [diff] [review]
Patch v1
Requesting drivers approval for AIX specific configuration changes.
Attachment #130487 -
Flags: approval1.5?
Comment 5•22 years ago
|
||
Comment on attachment 130487 [details] [diff] [review]
Patch v1
a=asa (on behalf of drivers) for checkin to Mozilla 1.5
Attachment #130487 -
Flags: approval1.5? → approval1.5+
| Reporter | ||
Comment 6•22 years ago
|
||
Fix was checked in last Friday.
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Updated•21 years ago
|
Product: Browser → Seamonkey
You need to log in
before you can comment on or make changes to this bug.
Description
•