"David Stutzman" <dstutz.m...@nospam.dstutz.com> wrote in message
news:ee2dnsu-tqouolrwnz2dnuvz_jodn...@mozilla.org...
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
...(snip)
The very last "wrong" example you give might be partially fixed by using the
short file name without spaces:
"c:\progra~1\Java\jdk1.6.0_17". Aside from that, it is better *not* to
install Java into a directory containing spaces. I think Sun just wants to
conform to the MS Windows convention of using "\Program Files" as the
default but some other programs such as Apache Ant have problems with
directories containing spaces.
--
dev-tech-crypto mailing list
dev-tech-crypto@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-crypto