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

Reply via email to