Closed Bug 395850 Opened 17 years ago Closed 17 years ago

build of libpkix tests creates links to nonexistant shared libraries and breaks windows build

Categories

(NSS :: Build, defect, P1)

3.12
defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: alvolkov.bgs, Assigned: alvolkov.bgs)

References

Details

(Whiteboard: PKIXTEST)

Attachments

(1 file)

this regression was committed with patch for bug 301213.
Whiteboard: PKIXTEST
Attached patch patch v1Splinter Review
Attachment #280560 - Flags: review?(nelson)
Priority: -- → P1
Target Milestone: --- → 3.12
Assignee: alexei.volkov.bugs → nobody
Component: Test → Build
QA Contact: test → build
Alexei, write a description of the problem, and what your patch changes to 
fix the problem.  I'll review the patch when that description exists.
Status: NEW → ASSIGNED
Summary: build of libpkix tests creates links into unexisting so libraries and breaks windows build → build of libpkix tests creates links to nonexistant shared libraries and breaks windows build
Assignee: nobody → alexei.volkov.bugs
Status: ASSIGNED → NEW
Status: NEW → ASSIGNED
Currently for each directory, except pkixutil, we build .a library and copy it into  a build directory in nss/cmd/libpkix for late use in pkixutil linking. Now since symbols SHARED_LIBRARY, IMPORT_LIBRARY, PROGRAM were not set (SHARED_LIBRARY is the most important one), make also copies unexisting .so file into the same directory.

It was not cached before, because on unix we use sym links(ln does not complain when making a link to an unexisting file). But we copy files on Windows.  
We should not be copying or symlinking .a's.  
We can link with the .a files where they were built.  

See how we build libNSS3.so.  We don't copy or symlink the .a files from 
which it is built.  We link the .so from those .a files right where they 
are built.  The same think should be done for linking the libPKIX tests.
Actually, all .a libraries get copied into mozilla/dist/TargetOS/lib directory. But for libnss3.so linking, from what I see in rules.mk, we use a list of object files that is created by traversing search for object files in a set of directories specified in SHARED_LIBRARY_DIRS variable.

Also, our rules are defined in the way that if a library is build, it will get installed.

IMO, the process we use now is similar to how lib nss is built.
Your analysis in comment 3 suggests that we cannot build NSS with libPKIX
now on Windows.  The bug summary says that Windows builds are broken. 
But we can and do build NSS with libPKIX on Windows.  
So, I still don't understand what this bug wants to fix.  
If these non-existant files are a problem, why do the builds succeed?  
Comment on attachment 280560 [details] [diff] [review]
patch v1

This patch seems like goodness, so I'm giving it r+, even though I personally have not experienced the problem that it purports to fix in Windows' builds.
I still want that explanation.
Attachment #280560 - Flags: review?(nelson) → review+
> I personally
> have not experienced the problem that it purports to fix in Windows' builds.
> I still want that explanation.
Nelson,
Did you set BUILD_LIBPKIX_TESTS in your env?

Patch is integrated into the trunk.
Status: ASSIGNED → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
> Did you set BUILD_LIBPKIX_TESTS in your env?
Yes
Blocks: 396598
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: