Last Comment Bug 395850 - build of libpkix tests creates links to nonexistant shared libraries and breaks windows build
: build of libpkix tests creates links to nonexistant shared libraries and brea...
Status: RESOLVED FIXED
PKIXTEST
:
Product: NSS
Classification: Components
Component: Build (show other bugs)
: 3.12
: All All
: P1 normal (vote)
: 3.12
Assigned To: Alexei Volkov
:
:
Mentors:
Depends on:
Blocks: 396598
  Show dependency treegraph
 
Reported: 2007-09-11 22:04 PDT by Alexei Volkov
Modified: 2007-09-18 14:21 PDT (History)
1 user (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---


Attachments
patch v1 (33.42 KB, patch)
2007-09-11 22:38 PDT, Alexei Volkov
nelson: review+
Details | Diff | Splinter Review

Description Alexei Volkov 2007-09-11 22:04:23 PDT
this regression was committed with patch for bug 301213.
Comment 1 Alexei Volkov 2007-09-11 22:38:23 PDT
Created attachment 280560 [details] [diff] [review]
patch v1
Comment 2 Nelson Bolyard (seldom reads bugmail) 2007-09-12 13:16:54 PDT
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.
Comment 3 Alexei Volkov 2007-09-12 14:09:41 PDT
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.  
Comment 4 Nelson Bolyard (seldom reads bugmail) 2007-09-12 14:37:26 PDT
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.
Comment 5 Alexei Volkov 2007-09-12 16:07:33 PDT
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.
Comment 6 Nelson Bolyard (seldom reads bugmail) 2007-09-17 18:18:10 PDT
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 7 Nelson Bolyard (seldom reads bugmail) 2007-09-17 18:22:35 PDT
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.
Comment 8 Alexei Volkov 2007-09-18 09:37:01 PDT
> 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?

Comment 9 Alexei Volkov 2007-09-18 09:58:44 PDT
Patch is integrated into the trunk.
Comment 10 Nelson Bolyard (seldom reads bugmail) 2007-09-18 10:34:54 PDT
> Did you set BUILD_LIBPKIX_TESTS in your env?
Yes

Note You need to log in before you can comment on or make changes to this bug.