At 2:56 PM -0700 9/9/08, Nelson B Bolyard wrote:
>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

<sigh> Good call. Maybe it would be good to have a page for building 
3.12. 
<http://www.mozilla.org/projects/security/pki/nss/nss-3.12/nss-3.12-release-notes.html#docs>
 
says that the instructions for "Build Instructions for NSS 3.11.4 and 
above" is 
<http://www.mozilla.org/projects/security/pki/nss/nss-3.11.4/nss-3.11.4-build.html>,
 
so I kind of assumed that it reall meant "and above".

I nuked mozilla/* and used the two cvs commands above. The make now ends with:

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

>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.

Well, the new checkout (for 3.12) shouldn't have done it twice....

>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.

I'm happy to make a FreeBSD system available to the team.

>  > 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.

Nope.

phoffman-FreeBSD7.0:/home/phoffman/NSS-312/mozilla/security/nss# find 
. -name "*\.so*" -print
./lib/sqlite/FreeBSD7.0_DBG.OBJ/libsqlite3.so.1.0
./lib/util/FreeBSD7.0_DBG.OBJ/libnssutil3.so.1.0

At 3:07 PM -0700 9/9/08, Wan-Teh Chang wrote:
>The relevant makefile code that Nelson pointed out about
>the .so.1.0 suffix is:
>http://mxr.mozilla.org/security/source/security/coreconf/FreeBSD.mk#68
>
>
>68 MOZ_OBJFORMAT           := $(shell test -x /usr/bin/objformat &&
>/usr/bin/objformat || echo elf)
>69
>70 ifeq ($(MOZ_OBJFORMAT),elf)
>71 DLL_SUFFIX              = so
>72 else
>73 DLL_SUFFIX              = so.1.0
>74 endif
>
>What is the output of the command /usr/bin/objformat on your
>FreeBSD 7.0 system?

phoffman-FreeBSD7.0:/home/phoffman/NSS-312/mozilla/security/nss# 
/usr/bin/objformat
-bash: /usr/bin/objformat: No such file or directory

Maybe that is a hint. :-) FWIW, that command worked on FreeBSD 6. 
OTOH, the man page for objformat in FreeBSD 6 says that is was 
deprecated long ago and will be removed in 7.

>The intended code path for current versions of FreeBSD is line 71.

But that test seems to fail and go to line 73.

_______________________________________________
dev-tech-crypto mailing list
dev-tech-crypto@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-crypto

Reply via email to