On Wed, Dec 21, 2011 at 5:14 PM, Geilow, John <[email protected]> wrote: > The steps I am taking are > > ./aimk -only-depend > scripts/zerodepend > ./aimk depend > I get this at the end of this command > _____Making JAVA targets_____ > ant: Command not found > not done
SGE uses Apache ant as the build tool, so ant needs to be configured if the Java code is needed. http://ant.apache.org/ To turn off Java & JNI code in SGE, use aimk flags "-no-java -no-jni". > configure:3807: checking whether the C compiler works > configure:3829: gcc -fast -xchip=generic -xcache=generic -xarch=sse2 -m64 > conftest.c >&5 > gcc: language arch=sse2 not recognized > gcc: language arch=sse2 not recognized Those are SUN Studio (now Solaris Studio) flags. Since SGE itself is built by SUN Studio, hwloc is also inheriting the C compiler flags. However, seems like you also have gcc installed, and configure has picked gcc to compile Hwloc. Without hiding gcc from the $PATH or using other hacks, you can change line 2055 in aimk: set HWLOC_CFLAGS = "$OFLAG $MEMFLAG" To set HWLOC_CFLAGS = "-m64" to force gcc to build 64-bit binaries but without picking up the arch & chip settings for Sun Studio. > Therefore, I uninstall the gcc compiler > I then retry the 2 set of command above and get to the same point with this > error. > cc -DSGE_ARCH_STRING=\"sol-amd64\" -Xc -v -fast -xchip=generic > -xcache=generic -xarch=sse2 -m64 -ftrap=division -D_LARGEFILE64_SOURCE=1 > -DHAS_SOCKLEN_T -DLOAD_OPENSSL -I/build/berkeleydb/include/ -DTARGET_64BIT > -DSPOOLING_dynamic -DSECURE -I/build/openssl-install/include -DSOLARIS > -DSOLARISAMD64 -D__EXTENSIONS__ -D_POSIX_C_SOURCE=199506L -DGETHOSTBYNAME_R5 > -DGETHOSTBYADDR_R7 -DUSE_POLL -errwarn=%all -DCOMPILE_DC > -D__SGE_COMPILE_WITH_GETTEXT__ -D__SGE_NO_USERMAPPING__ -DTHREADBINDING > -DHWLOC -I../common -I../libs -I../libs/uti -I../libs/juti -I../libs/gdi > -I../libs/japi -I../libs/sgeobj -I../libs/cull -I../libs/rmon -I../libs/comm > -I../libs/comm/lists -I../libs/sched -I../libs/evc -I../libs/evm > -I../libs/mir -I../libs/lck -I../daemons/common -I../daemons/qmaster > -I../daemons/execd -I../daemons/schedd -I../clients/common -I. -I/usr/include > -I/usr/include/solaris > -I/root/GE2011.11/source/3rdparty/hwloc/hwloc-1.2.2/include/ > -I/root/GE2011.11/source/3rdparty/hwloc/hwloc-1.2.2/SOLARISAMD64/include > -KPIC -c ../libs/sgeobj/str2nm_converter.c > "../libs/sgeobj/str2nm_converter.h", line 40: cannot find include file: > <jni.h> > > So I modify the aimk.site file and add the path to the jni.h file. > I set the CORE_INCLUDE with these two additional paths > " -I/usr/jdk/instances/jdk1.6.0/include > -I/usr/jdk/instances/jdk1.6.0/include/solaris" > If I only do the first path, then it error with this. > "/usr/jdk/instances/jdk1.6.0/include/jni.h", line 27: cannot find include > file: "jni_md.h" If $JAVA_HOME is set, can you check if $JAVA_HOME contains jni.h in the include directory? > > > Then the next error is the one that I start this email session with > I modify the cl_ssl_framework.c and add the "_" in front of the STACK on line > 238,239,1703and 1710. > > Then that bring me to the next error I am on. Which is the > "../libs/spool/berkeleydb/sge_bdb.c", line 207: undefined symbol: DB_RPCCLIENT I tried to reproduce the problem on Solaris 10 (on SPARC), and it worked for me! Can you send me the preprocessed sge_bdb.c file? Eg: $ cc -DSGE_ARCH_STRING=\"sol-amd64\" -Xc -v -fast -xchip=generic -xarch=v9 -xcache=generic -ftrap=division -D_LARGEFILE64_SOURCE=1 -DHAS_SOCKLEN_T -DLOAD_OPENSSL -I/home/sgeport/tmp1221/db-4.4.20/build_unix -DTARGET_64BIT -DSPOOLING_dynamic -DSECURE -I/usr/include/openssl/include -DSOLARIS -DSOLARISAMD64 -D__EXTENSIONS__ -D_POSIX_C_SOURCE=199506L -DGETHOSTBYNAME_R5 -DGETHOSTBYADDR_R7 -DUSE_POLL -errwarn=%all -DCOMPILE_DC -D__SGE_COMPILE_WITH_GETTEXT__ -D__SGE_NO_USERMAPPING__ -DTHREADBINDING -DHWLOC -I../common -I../libs -I../libs/uti -I../libs/juti -I../libs/gdi -I../libs/japi -I../libs/sgeobj -I../libs/cull -I../libs/rmon -I../libs/comm -I../libs/comm/lists -I../libs/sched -I../libs/evc -I../libs/evm -I../libs/mir -I../libs/lck -I../daemons/common -I../daemons/qmaster -I../daemons/execd -I../daemons/schedd -I../clients/common -I. -I/usr/include -I/usr/include/solaris -I/root/GE2011.11/source/3rdparty/hwloc/hwloc-1.2.2/include/ -I/root/GE2011.11/source/3rdparty/hwloc/hwloc-1.2.2/SOLARISAMD64/include -KPIC -E ../libs/spool/berkeleydb/sge_bdb.c >& sge_bdb_preprocessed.out > > In this example I did not edit the aimk.site and add in the directory of > Berkeley DB because I get the same failure with it define and not. > > I then ran the ./aimk -I clean > And at the end I get this > _____Making JAVA targets_____ > ant: Command not found > not done > > I then run the command ./aimk -spool-classic > And get this error but this is the short version of the output. > cc -DSGE_ARCH_STRING=\"sol-amd64\" -Xc -v -fast -xchip=generic > -xcache=generic -xarch=sse2 -m64 -ftrap=division -D_LARGEFILE64_SOURCE=1 > -DHAS_SOCKLEN_T -DLOAD_OPENSSL -I/build/berkeleydb/include/ -DTARGET_64BIT > -DSPOOLING_classic -DSECURE -I/build/openssl-install/include -DSOLARIS > -DSOLARISAMD64 -D__EXTENSIONS__ -D_POSIX_C_SOURCE=199506L -DGETHOSTBYNAME_R5 > -DGETHOSTBYADDR_R7 -DUSE_POLL -errwarn=%all -DCOMPILE_DC > -D__SGE_COMPILE_WITH_GETTEXT__ -D__SGE_NO_USERMAPPING__ -DTHREADBINDING > -DHWLOC -I../common -I../libs -I../libs/uti -I../libs/juti -I../libs/gdi > -I../libs/japi -I../libs/sgeobj -I../libs/cull -I../libs/rmon -I../libs/comm > -I../libs/comm/lists -I../libs/sched -I../libs/evc -I../libs/evm > -I../libs/mir -I../libs/lck -I../daemons/common -I../daemons/qmaster > -I../daemons/execd -I../daemons/schedd -I../clients/common -I. > -I/usr/jdk/instances/jdk1.6.0/include > -I/usr/jdk/instances/jdk1.6.0/include/solaris -I/usr/include > -I/usr/include/solaris > -I/root/GE2011.11/source/3rdparty/hwloc/hwloc-1.2.2/include/ > -I/root/GE2011.11/source/3rdparty/hwloc/hwloc-1.2.2/SOLARISAMD64/include > -KPIC -ULOAD_OPENSSL -c ../libs/comm/cl_ssl_framework.c -o > cl_ssl_framework_static.o > "../libs/comm/cl_ssl_framework.c", line 1846: assignment type mismatch: > .... > .... > .... > cc: acomp failed for ../libs/comm/cl_ssl_framework.c > *** Error code 2 > make: Fatal error: Command failed for target `cl_ssl_framework_static.o' > not done > > If anyone has an idea what I am doing wrong, please let me know. I think I > have listen all the error and steps I have taken so far other than modifying > the aimk.site to define the path of openssl and Berkeley DB. Which I have > done and I still get the same errors of " DB_RPCCLIENT" above and " > cl_ssl_framework.c", line 1846: assignment type mismatch". You can workaround the SSL problem by compiling with aimk -no-secure. And let me know the version of openssl, and I will also try to reproduce the compilation problem on my systems. Rayson > > John > > > > -----Original Message----- > From: Rayson Ho [mailto:[email protected]] > Sent: Wednesday, December 21, 2011 1:37 PM > To: Geilow, John > Cc: [email protected] > Subject: Re: [EXTERNAL] Re: [gridengine users] Problem compiling Grid engine > on Solaris > > If you just want to try Grid Engine, you can compile with aimk flag > "-spool-classic" (run "aimk -i clean" first before recompiling with > -spool-classic) to enable just text spooling. However, I still don't quite > understand why the compiler is not picking up your Berkeley 4.4 header file > (which has DB_RPCCLIENT defined). > > BTW, I have not uploaded the Solaris SPARC/AMD64 binaries. I tested GE > 2011.11 on SPARC & AMD64 Solaris but did not upload the binaries to the > dropbox folder. Let me know the version of Solaris you are on (I tested GE > 2011.11 on Solaris 10 on SPARC & Solaris Express on AMD64 and I have access > to a few other Solaris 10 machines), and I will see if I can offer > pre-compiled binaries for your version of Solaris. > > Rayson > _______________________________________________ users mailing list [email protected] https://gridengine.org/mailman/listinfo/users
