The default bug view has changed. See this FAQ.

Need to add RPATH to 64-bit libraries on HP-UX

RESOLVED FIXED in 3.12.3

Status

NSS
Libraries
P2
normal
RESOLVED FIXED
9 years ago
8 years ago

People

(Reporter: Christophe Ravel, Assigned: Christophe Ravel)

Tracking

3.12.2
3.12.3
HP
HP-UX

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment, 2 obsolete attachments)

(Assignee)

Description

9 years ago
We fixed libnss3.sl in bug 335454.
We need to fix the other NSS public libraries: libssl3.sl and libsmime3.sl
(Assignee)

Comment 1

9 years ago
Created attachment 346974 [details] [diff] [review]
Add RPATH to libssl3.sl and libsmime3.so for HP-UX 64 bit

Do we need to set the rpath for other libraries ?
Attachment #346974 - Flags: review?(julien.pierre.boogz)

Updated

9 years ago
Attachment #346974 - Flags: review?(julien.pierre.boogz) → review+
(Assignee)

Comment 2

9 years ago
Comment on attachment 346974 [details] [diff] [review]
Add RPATH to libssl3.sl and libsmime3.so for HP-UX 64 bit

Note: the fix for libssl3.sl and libsmime3.sl is identical to what has been done for libnss3.sl.

Comment 3

9 years ago
We probably need this fix in every one of our public libraries.

I think libsoftokn3 may need it, as well as libnssckbi .

We should consider NSPR as well.

For the private libraries, ie. freebl, nssdbm, etc., I'm less sure how the HP-UX  64-bit linker works. We may want to add new test programs without setting SHLIB_PATH and see what happens.
(Assignee)

Comment 4

9 years ago
I searched all the config.mk files under nss/lib to check where we set the RPATH for Solaris as a comparison.

For Solaris, we set the RPATH in the following files:
nss/lib/ckfw/builtins/config.mk
nss/lib/ckfw/capi/config.mk
nss/lib/nss/config.mk
nss/lib/smime/config.mk
nss/lib/softoken/config.mk
nss/lib/softoken/legacydb/config.mk
nss/lib/sqlite/config.mk
nss/lib/ssl/config.mk
nss/lib/util/config.mk

For HP-UX, we currently set the RPATH in (including the proposed one in patch #1):
nss/lib/nss/config.mk
nss/lib/smime/config.mk
nss/lib/ssl/config.mk
nss/lib/util/config.mk

I'd suggest the we extend this list to match what we do for Solaris. Add:
nss/lib/ckfw/builtins/config.mk
nss/lib/ckfw/capi/config.mk
nss/lib/softoken/config.mk
nss/lib/softoken/legacydb/config.mk
nss/lib/sqlite/config.mk

Details of the search:
$ find nss/lib -name config.mk | xargs grep ORIGIN
nss/lib/ckfw/builtins/config.mk:# The -R '$ORIGIN' linker option instructs this library to search for its
nss/lib/ckfw/builtins/config.mk:MKSHLIB += -R '$$ORIGIN'
nss/lib/ckfw/capi/config.mk:# The -R '$ORIGIN' linker option instructs this library to search for its
nss/lib/ckfw/capi/config.mk:MKSHLIB += -R '$$ORIGIN'
nss/lib/nss/config.mk:# The -R '$ORIGIN' linker option instructs this library to search for its
nss/lib/nss/config.mk:MKSHLIB += -R '$$ORIGIN:/usr/lib/mps/secv1/64:/usr/lib/mps/64'
nss/lib/nss/config.mk:MKSHLIB += -R '$$ORIGIN:/usr/lib/mps/secv1:/usr/lib/mps'
nss/lib/nss/config.mk:MKSHLIB += -R '$$ORIGIN'
nss/lib/nss/config.mk:MKSHLIB += +b '$$ORIGIN'
nss/lib/smime/config.mk:# The -R '$ORIGIN' linker option instructs this library to search for its
nss/lib/smime/config.mk:MKSHLIB += -R '$$ORIGIN'
nss/lib/smime/config.mk:MKSHLIB += +b '$$ORIGIN'
nss/lib/softoken/config.mk:# The -R '$ORIGIN' linker option instructs this library to search for its
nss/lib/softoken/config.mk:MKSHLIB += -R '$$ORIGIN'
nss/lib/softoken/legacydb/config.mk:# The -R '$ORIGIN' linker option instructs this library to search for its
nss/lib/softoken/legacydb/config.mk:MKSHLIB += -R '$$ORIGIN'
nss/lib/sqlite/config.mk:# The -R '$ORIGIN' linker option instructs this library to search for its
nss/lib/sqlite/config.mk:MKSHLIB += -R '$$ORIGIN'
nss/lib/ssl/config.mk:# The -R '$ORIGIN' linker option instructs this library to search for its
nss/lib/ssl/config.mk:MKSHLIB += -R '$$ORIGIN'
nss/lib/ssl/config.mk:MKSHLIB += +b '$$ORIGIN'
nss/lib/util/config.mk:# The -R '$ORIGIN' linker option instructs this library to search for its
nss/lib/util/config.mk:MKSHLIB += -R '$$ORIGIN:/usr/lib/mps/secv1/64:/usr/lib/mps/64'
nss/lib/util/config.mk:MKSHLIB += -R '$$ORIGIN:/usr/lib/mps/secv1:/usr/lib/mps'
nss/lib/util/config.mk:MKSHLIB += -R '$$ORIGIN'
nss/lib/util/config.mk:MKSHLIB += +b '$$ORIGIN'
(Assignee)

Comment 5

9 years ago
Created attachment 348228 [details] [diff] [review]
Add RPATH to libssl3.sl, libsmime3.sl, libsqlite3.sl, libnssutil3.sl, libsoftokn3.sl, libnssdbm3.sl and libnssckbi.sl for HP-UX 64 bit
Attachment #346974 - Attachment is obsolete: true
Attachment #348228 - Flags: review?(julien.pierre.boogz)

Updated

9 years ago
Attachment #348228 - Flags: review?(julien.pierre.boogz) → review+

Comment 6

9 years ago
Comment on attachment 348228 [details] [diff] [review]
Add RPATH to libssl3.sl, libsmime3.sl, libsqlite3.sl, libnssutil3.sl, libsoftokn3.sl, libnssdbm3.sl and libnssckbi.sl for HP-UX 64 bit

This is all OK except for the lib/ckfw/capi/config.mk change . That module is only built on Windows, never on HP-UX . So the change should not go in for that file.
(Assignee)

Comment 7

9 years ago
Created attachment 348635 [details] [diff] [review]
Patch as checked in

I'll check in this patch when the tree is open again. Take's Julien comment about lib/ckfw/capi/config.mk into account.
Attachment #348228 - Attachment is obsolete: true
(Assignee)

Comment 8

9 years ago
Patch #3 checked in.

Checking in ckfw/builtins/config.mk;
/cvsroot/mozilla/security/nss/lib/ckfw/builtins/config.mk,v  <--  config.mk
new revision: 1.12; previous revision: 1.11
done
Checking in smime/config.mk;
/cvsroot/mozilla/security/nss/lib/smime/config.mk,v  <--  config.mk
new revision: 1.26; previous revision: 1.25
done
Checking in softoken/config.mk;
/cvsroot/mozilla/security/nss/lib/softoken/config.mk,v  <--  config.mk
new revision: 1.25; previous revision: 1.24
done
Checking in softoken/legacydb/config.mk;
/cvsroot/mozilla/security/nss/lib/softoken/legacydb/config.mk,v  <--  config.mk
new revision: 1.7; previous revision: 1.6
done
Checking in sqlite/config.mk;
/cvsroot/mozilla/security/nss/lib/sqlite/config.mk,v  <--  config.mk
new revision: 1.5; previous revision: 1.4
done
Checking in ssl/config.mk;
/cvsroot/mozilla/security/nss/lib/ssl/config.mk,v  <--  config.mk
new revision: 1.26; previous revision: 1.25
done
Status: ASSIGNED → RESOLVED
Last Resolved: 9 years ago
Priority: -- → P2
Resolution: --- → FIXED
(Assignee)

Updated

9 years ago
Attachment #348635 - Attachment description: Patch as it will be checked in → Patch as checked in

Comment 9

8 years ago
I need to do a update-roots-module-only release of NSS (by tomorrow, will discuss tomorrow in the NSS call).

If I take only the portion of the patch that lives in the ckfw subdirectory for the upcoming Firefox 3.0.6 release, is that OK ? Thanks!
(Assignee)

Comment 10

8 years ago
Do you deliver a 64 bit Firefox on HP-UX ? If the answer is no, then you don't need this patch.
But don't apply this patch partially in a tag. We need to go back to a clean situation with our tags.

Comment 11

8 years ago
I don't deliver such a Firefox.

But the effect of my proposal would be:
The official source tarball for Firefox 3.0.6 would contain only the ckfw subset from this bug and patch.

I hear you don't like that idea. Someone might try to use this official tarball to build for HP-UX 64.

I'll use a different approach for my problem, thanks.
You need to log in before you can comment on or make changes to this bug.