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

Reply via email to