Paul Hoffman wrote, On 2008-09-09 13:52:
> Greetings again. I'm trying to build 3.12 on FreeBSD 7.0. I follow 
> the directions on 
> <http://www.mozilla.org/projects/security/pki/nss/nss-3.11.4/nss-3.11.4-build.html>
>  
> and do the CVSing. 'gmake nss_build_all' ends with:

Since you're trying to build NSS 3.12, hopefully you checked out NSS
with the cvs tag NSS_3_12_RTM and NSPR with the tag NSPR_4_7_RTM.

NSS and NSPR are now defined cvs modules, which means that instead of
checking out by directory names, you can check out by module name.
Instead of the cvs commands shown on the page you cited above, you can
use
    cvs co -r NSPR_4_7_RTM NSPR
    cvs co -r NSS_3_12_RTM NSS

> /usr/bin/ld: cannot find -lsoftokn3
> gmake[2]: *** [FreeBSD7.0_DBG.OBJ/libnss3.so.1.0] Error 1
> gmake[2]: Leaving directory 
> `/usr/home/phoffman/NSS-312/mozilla/security/nss/lib/nss'
> gmake[1]: *** [libs] Error 2
> gmake[1]: Leaving directory 
> `/usr/home/phoffman/NSS-312/mozilla/security/nss/lib'
> gmake: *** [libs] Error 2

The NSS build should have built libsoftokn3.so long before it came to
this step of trying to build libnss3.so.  If it failed to build
libsoftokn3, that should have stopped the build at that point, long
before it got to this point.

There are two possible explanations that occur to me.
1) your checked out source files/directories are missing the directory
in which libsoftokn3 is built.  The make process just skips missing
directories, so maybe the build didn't build it, and also didn't fail,
because the directory was missing.

2) From the output above, it appears that someone has changed the
makefiles for BSD to use a different naming convention than NSS's
usual naming convention for Unix shared libraries.  I say that because
in the output above, I see libnss3.so.1.0 and that trailing .1.0 is
simply not part of NSS's present naming scheme for shared libraries.
Perhaps the problem is that your build built libsoftokn3.so.1.0 but
this linker command to link libnss3 is looking for the library by its
usual naming convention, which lacks the .1.0.

Perhaps some changes are needed to the BSD makefiles to correct this.
BSD is not directly supported by the NSS team.  None of us has BSD
systems, so we depend on BSD aficionados to build on BSD, to report
any make problems, and to contribute patches to fix those make problems.

> Any clues how I can move forwards on this?

See if the build actually built a .so whose name contains softokn3.
If so, then figure out why the link step for libnss3.so is using a
different name than the name of the .so that was actually built.
_______________________________________________
dev-tech-crypto mailing list
dev-tech-crypto@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-crypto

Reply via email to