수요일, 7월 28, 2010

HP-UX에서 GCC로 JNI 어플리케이션을 만들 수 있을까?

누구 경험있는 사람이 있으면 좋겠다는 생각이다.

HP-UX용 Java Virtual Machine은 aCC로 컴파일이 되었다는 확인되지 않은 정보를 접했고,
GCC로 빌드한 라이브러리와 aCC로 빌드한 라이브러리를 혼합해서 사용할 수 없다는 정보도 접했다.

이것이 문제다.

표준 C++ 함수를 GCC로 구현한 shared library(so)인 libstdc++.so 와 HP-UX의 aCC로 구현한 libstd_v2.so 를 혼합해서 사용할 수 없었다.

결국은 aCC로 모든 static library를 다시 빌드했고 JNI에서 호출 할 수 있었다.

참고로, aCC를 이용해서 64bit shared library를 빌드하는 방법이다.

aCC +DD64 +Z -AA -mt -c -D_REENTARANT jniapp.cpp
aCC +DD64 +Z -b -o jniapp.so jniapp.o -lstd_v2 -lstream -lCsup -lc -lm


정말로 GCC로는 빌드할 수 없을까?

조금 더 구체적인 내용은 HP-UX Java - Using Java 2 JNI on HP-UX 를 참고한다.