I just ran into this error and was about to post saying wtf but figured
out my issue and am posting this in case someone else runs into the same
problem.
If the JAVA_HOME isn't set properly, something in the build process
might eat a slash and the jss4.dll can't be built.
This happened a little ways into running (g)make:
<snip>
cd jss; make libs
make[3]: Entering directory
`/c/Users/dstutzman/mozilla-build/nss-3.12.4-with-nspr-4.8/mozilla/security/jss/org/mozilla/jss'
cl -FoWINNT6.0_OPT.OBJ/CryptoManager.obj -c -O2 -W3 -nologo
-D_CRT_SECURE_NO_WARNINGS -MD -we4002 -we4003 -we4004 -we4006 -we4009
-we4013 -we4015 -we4028 -we4033 -we4035 -we4045 -we4047 -we4053 -we405
4 -we4063 -we4064 -we4078 -we4087 -we4098 -we4390 -we4551 -we4553
-we4715 -GT -DXP_PC -UDEBUG -U_DEBUG -DNDEBUG -DWIN32 -D_X86_ -D_WINDOWS
-DWINNT -DUSE_UTIL_DIRECTLY -I../../../../../dist/WINNT6.0_OP
T.OBJ/include -I../../../../../dist/public/jss
-I../../../../../dist/private/jss -IC:jdk1.6.0_17/include
-IC:jdk1.6.0_17/include/win32 -I../../../../../dist/public/nspr20
-I../../../../../dist/public/
nss
/c/Users/dstutzman/mozilla-build/nss-3.12.4-with-nspr-4.8/mozilla/security/jss/org/mozilla/jss/CryptoManager.c
CryptoManager.c
../../../../../dist/private/jss\_jni/org_mozilla_jss_CryptoManager.h(2)
: fatal error C1083: Cannot open include file: 'jni.h': No such file or
directory
Took me a few minutes to realize the futzed path
(-IC:jdk1.6.0_17/include -IC:jdk1.6.0_17/include/win32). mozilla-build
uses MSYS and what actually ended up working was setting my JAVA_HOME as
such:
export JAVA_HOME=C:/jdk1.6.0_17 <-correct
Wrong answers:
export JAVA_HOME=/jdk1.6.0_17 <-nothing will compile
export JAVA_HOME=\jdk1.6.0_17 <-nothing will compile
export JAVA_HOME=C:\jdk1.6.0_17 <-Java will compile, JNI won't
export JAVA_HOME=C:\Program Files\Java\jdk1.6.0_17 <-space messes stuff
up and NOTHING will compile
Hope this helps,
Dave
--
dev-tech-crypto mailing list
dev-tech-crypto@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-crypto