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