Mantis - Resin
Viewing Issue Advanced Details
5089 block always 05-22-12 11:30 07-30-12 18:12
tokyoturnip sparc SUNW,T5140  
ferg Solaris  
normal 10  
closed 4.0.27  
resin-pro-4.0.27 fixed  
none    
none 4.0.30  
0005089: Can not compile mod_caucho on Solaris 10 64-bit resin-pro-4.0.27
Was able to compile Apache 2.2.21 64-bit successfully with
JAVA_HOME="/opt/app/java/jdk1.6.0_30" PATH=$JAVA_HOME/bin/sparcv9:$PATH CFLAGS=" -O2 -mcpu=v9 -m64" ./configure --with-port=80 --prefix=/opt/app/itas/apache_2.2.21-64 --disable-userdir --enable-module=so --enable-module=most --enable-nonportable-atomics=yes --enable-rewrite= --enable-rule=SHARED_CORE --enable-rule=SHARED_CHAIN --enable-shared=max --disable-ssl --with-mpm=worker

And was able to run configure for Resin without any errors with following:
JAVA_HOME="/opt/app/java/jdk1.6.0_30" PATH=$JAVA_HOME/bin:$PATH CC="gcc -m64" CFLAGS=" -O2 -mcpu=v9 -m64" ./configure --with-gnu-ld --disable-ssl --disable-jni --enable-64bit --enable-64bit-plugin --prefix=/opt/app/itas/resin_pro_4.0.27-64 --with-apxs=/opt/app/itas/apache_2.2.21-64/bin/apxs --with-java-home=/opt/app/java/jdk1.6.0_30/

However make fails:
(cd modules/c/src; make)
for dir in common apache2 resinssl resin; do (cd $dir; make); done
gcc -m64 -O2 -mcpu=v9 -m64 -DPOLL -D_POSIX_PTHREAD_SEMANTICS -DB64 -fPIC -fno-omit-frame-pointer -m64 -DHAS_SOCK_TIMEOUT -D__SOLARIS__ -DRESIN_HOME=\"/opt/app/itas/resin_pro_4.0.27-64\" -I../common -I../resin_os -DCPU=\"sparcv9\" -DOS= -fPIC -fno-omit-frame-pointer -m64 -fPIC -c ssl_stub.c
ssl_stub.c:11:17: jni.h: No such file or directory
In file included from ssl_stub.c:13:
../resin_os/resin_os.h:69: error: syntax error before "JNIEnv"
../resin_os/resin_os.h:69: warning: no semicolon at end of struct or union
../resin_os/resin_os.h:96: error: 'pipe' redeclared as different kind of symbol
/usr/include/unistd.h:406: error: previous declaration of 'pipe' was here
../resin_os/resin_os.h:96: error: 'pipe' redeclared as different kind of symbol
/usr/include/unistd.h:406: error: previous declaration of 'pipe' was here
../resin_os/resin_os.h:101: error: syntax error before '}' token
../resin_os/resin_os.h:112: error: syntax error before "JNIEnv"
../resin_os/resin_os.h:112: warning: no semicolon at end of struct or union
../resin_os/resin_os.h:139: error: conflicting types for 'ssl_lock'
../resin_os/resin_os.h:78: error: previous declaration of 'ssl_lock' was here
../resin_os/resin_os.h:140: error: syntax error before '}' token
../resin_os/resin_os.h:140: warning: data definition has no type or storage class
../resin_os/resin_os.h:143: error: syntax error before "ssl_config_t"
../resin_os/resin_os.h:143: warning: no semicolon at end of struct or union
../resin_os/resin_os.h:161: error: 'accept' redeclared as different kind of symbol
/usr/include/sys/socket.h:425: error: previous declaration of 'accept' was here
../resin_os/resin_os.h:161: error: 'accept' redeclared as different kind of symbol
/usr/include/sys/socket.h:425: error: previous declaration of 'accept' was here
../resin_os/resin_os.h:163: error: 'close' redeclared as different kind of symbol
/usr/include/unistd.h:244: error: previous declaration of 'close' was here
../resin_os/resin_os.h:163: error: 'close' redeclared as different kind of symbol
/usr/include/unistd.h:244: error: previous declaration of 'close' was here
../resin_os/resin_os.h:167: error: syntax error before "_localAddrBuffer"
../resin_os/resin_os.h:167: warning: data definition has no type or storage class
../resin_os/resin_os.h:168: error: syntax error before "_localAddrLength"
../resin_os/resin_os.h:168: warning: data definition has no type or storage class
../resin_os/resin_os.h:169: error: syntax error before "_localPort"
../resin_os/resin_os.h:169: warning: data definition has no type or storage class
../resin_os/resin_os.h:171: error: syntax error before "_remoteAddrBuffer"
../resin_os/resin_os.h:171: warning: data definition has no type or storage class
../resin_os/resin_os.h:172: error: syntax error before "_remoteAddrLength"
../resin_os/resin_os.h:172: warning: data definition has no type or storage class
../resin_os/resin_os.h:173: error: syntax error before "_remotePort"
../resin_os/resin_os.h:173: warning: data definition has no type or storage class
../resin_os/resin_os.h:175: error: syntax error before "_isSecure"
../resin_os/resin_os.h:175: warning: data definition has no type or storage class
../resin_os/resin_os.h:202: error: syntax error before "ssl_config_t"
../resin_os/resin_os.h:206: error: syntax error before '*' token
../resin_os/resin_os.h:207: error: syntax error before '*' token
../resin_os/resin_os.h:255: error: syntax error before '*' token
../resin_os/resin_os.h:262: error: syntax error before '*' token
ssl_stub.c:16: error: syntax error before "ssl_config_t"
ssl_stub.c:21: error: syntax error before "jint"
ssl_stub.c:22: error: syntax error before '*' token
ssl_stub.c:32: error: syntax error before "jint"
ssl_stub.c:33: error: syntax error before '*' token
ssl_stub.c: In function `Java_com_caucho_vfs_OpenSSLFactory_initConfig':
ssl_stub.c:46: error: `env' undeclared (first use in this function)
ssl_stub.c:46: error: (Each undeclared identifier is reported only once
ssl_stub.c:46: error: for each function it appears in.)
ssl_stub.c: At top level:
ssl_stub.c:52: error: syntax error before "void"
ssl_stub.c:53: error: syntax error before '*' token
ssl_stub.c:61: error: syntax error before "void"
ssl_stub.c:62: error: syntax error before '*' token
ssl_stub.c:70: error: syntax error before "void"
ssl_stub.c:71: error: syntax error before '*' token
ssl_stub.c:81: error: syntax error before "int"
ssl_stub.c:82: error: syntax error before '*' token
ssl_stub.c: In function `Java_com_caucho_vfs_OpenSSLFactory_open':
ssl_stub.c:87: error: `env' undeclared (first use in this function)
*** Error code 1
make: Fatal error: Command failed for target `ssl_stub.o'
Current working directory /home/itasconf/source/resin-pro-4.0.27/modules/c/src/resinssl
gcc -m64 -O2 -mcpu=v9 -m64 -DPOLL -D_POSIX_PTHREAD_SEMANTICS -DB64 -fPIC -fno-omit-frame-pointer -m64 -DHAS_SOCK_TIMEOUT -D__SOLARIS__ -DRESIN_HOME=\"/opt/app/itas/resin_pro_4.0.27-64\" -I../common -I../resin_os -DCPU=\"sparcv9\" -DOS= -fPIC -fno-omit-frame-pointer -m64 -fPIC -c ../resin_os/std.c
../resin_os/std.c:35:17: jni.h: No such file or directory
In file included from ../resin_os/std.c:42:
../resin_os/resin_os.h:69: error: syntax error before "JNIEnv"
../resin_os/resin_os.h:69: warning: no semicolon at end of struct or union
../resin_os/resin_os.h:96: error: 'pipe' redeclared as different kind of symbol
/usr/include/unistd.h:406: error: previous declaration of 'pipe' was here
../resin_os/resin_os.h:96: error: 'pipe' redeclared as different kind of symbol
/usr/include/unistd.h:406: error: previous declaration of 'pipe' was here
../resin_os/resin_os.h:101: error: syntax error before '}' token
../resin_os/resin_os.h:112: error: syntax error before "JNIEnv"
../resin_os/resin_os.h:112: warning: no semicolon at end of struct or union
../resin_os/resin_os.h:139: error: conflicting types for 'ssl_lock'
../resin_os/resin_os.h:78: error: previous declaration of 'ssl_lock' was here
../resin_os/resin_os.h:140: error: syntax error before '}' token
../resin_os/resin_os.h:140: warning: data definition has no type or storage class
../resin_os/resin_os.h:143: error: syntax error before "ssl_config_t"
../resin_os/resin_os.h:143: warning: no semicolon at end of struct or union
../resin_os/resin_os.h:161: error: 'accept' redeclared as different kind of symbol
/usr/include/sys/socket.h:425: error: previous declaration of 'accept' was here
../resin_os/resin_os.h:161: error: 'accept' redeclared as different kind of symbol
/usr/include/sys/socket.h:425: error: previous declaration of 'accept' was here
../resin_os/resin_os.h:163: error: 'close' redeclared as different kind of symbol
/usr/include/unistd.h:244: error: previous declaration of 'close' was here
../resin_os/resin_os.h:163: error: 'close' redeclared as different kind of symbol
/usr/include/unistd.h:244: error: previous declaration of 'close' was here
../resin_os/resin_os.h:167: error: syntax error before "_localAddrBuffer"
../resin_os/resin_os.h:167: warning: data definition has no type or storage class
../resin_os/resin_os.h:168: error: syntax error before "_localAddrLength"
../resin_os/resin_os.h:168: warning: data definition has no type or storage class
../resin_os/resin_os.h:169: error: syntax error before "_localPort"
../resin_os/resin_os.h:169: warning: data definition has no type or storage class
../resin_os/resin_os.h:171: error: syntax error before "_remoteAddrBuffer"
../resin_os/resin_os.h:171: warning: data definition has no type or storage class
../resin_os/resin_os.h:172: error: syntax error before "_remoteAddrLength"
../resin_os/resin_os.h:172: warning: data definition has no type or storage class
../resin_os/resin_os.h:173: error: syntax error before "_remotePort"
../resin_os/resin_os.h:173: warning: data definition has no type or storage class
../resin_os/resin_os.h:175: error: syntax error before "_isSecure"
../resin_os/resin_os.h:175: warning: data definition has no type or storage class
../resin_os/resin_os.h:202: error: syntax error before "ssl_config_t"
../resin_os/resin_os.h:206: error: syntax error before '*' token
../resin_os/resin_os.h:207: error: syntax error before '*' token
../resin_os/resin_os.h:255: error: syntax error before '*' token
../resin_os/resin_os.h:262: error: syntax error before '*' token
../resin_os/std.c: In function `write_exception_status':
../resin_os/std.c:67: error: dereferencing pointer to incomplete type
../resin_os/std.c:68: error: dereferencing pointer to incomplete type
../resin_os/std.c:69: error: dereferencing pointer to incomplete type
../resin_os/std.c:75: error: dereferencing pointer to incomplete type
../resin_os/std.c:76: error: dereferencing pointer to incomplete type
../resin_os/std.c:78: error: dereferencing pointer to incomplete type
../resin_os/std.c: In function `resin_tcp_set_recv_timeout':
../resin_os/std.c:105: error: dereferencing pointer to incomplete type
../resin_os/std.c: In function `std_read_nonblock':
../resin_os/std.c:129: error: dereferencing pointer to incomplete type
../resin_os/std.c: In function `std_read':
../resin_os/std.c:244: error: dereferencing pointer to incomplete type
../resin_os/std.c:246: error: dereferencing pointer to incomplete type
../resin_os/std.c:254: error: dereferencing pointer to incomplete type
../resin_os/std.c:257: error: dereferencing pointer to incomplete type
../resin_os/std.c:258: error: dereferencing pointer to incomplete type
../resin_os/std.c:259: error: dereferencing pointer to incomplete type
../resin_os/std.c:287: error: dereferencing pointer to incomplete type
../resin_os/std.c: In function `std_write':
../resin_os/std.c:320: error: dereferencing pointer to incomplete type
../resin_os/std.c:326: error: dereferencing pointer to incomplete type
../resin_os/std.c:328: error: dereferencing pointer to incomplete type
../resin_os/std.c:328: error: dereferencing pointer to incomplete type
../resin_os/std.c:341: error: dereferencing pointer to incomplete type
../resin_os/std.c: In function `std_write_nonblock':
../resin_os/std.c:367: error: dereferencing pointer to incomplete type
../resin_os/std.c: In function `conn_close':
../resin_os/std.c:392: error: dereferencing pointer to incomplete type
../resin_os/std.c:393: error: dereferencing pointer to incomplete type
../resin_os/std.c:395: error: dereferencing pointer to incomplete type
../resin_os/std.c:396: error: dereferencing pointer to incomplete type
../resin_os/std.c:398: error: dereferencing pointer to incomplete type
../resin_os/std.c:399: error: dereferencing pointer to incomplete type
../resin_os/std.c:402: warning: passing arg 1 of pointer to function makes pointer from integer without a cast
../resin_os/std.c:406: warning: passing arg 1 of pointer to function makes pointer from integer without a cast
../resin_os/std.c:410: warning: passing arg 1 of pointer to function makes pointer from integer without a cast
../resin_os/std.c: In function `std_accept':
../resin_os/std.c:430: error: dereferencing pointer to incomplete type
../resin_os/std.c:434: error: dereferencing pointer to incomplete type
../resin_os/std.c:452: error: dereferencing pointer to incomplete type
../resin_os/std.c:453: error: dereferencing pointer to incomplete type
../resin_os/std.c:454: error: dereferencing pointer to incomplete type
../resin_os/std.c:454: error: dereferencing pointer to incomplete type
../resin_os/std.c:455: error: dereferencing pointer to incomplete type
../resin_os/std.c:455: warning: passing arg 1 of pointer to function makes pointer from integer without a cast
../resin_os/std.c:455: error: too many arguments to function
../resin_os/std.c:465: error: dereferencing pointer to incomplete type
../resin_os/std.c:466: error: dereferencing pointer to incomplete type
../resin_os/std.c: In function `std_init':
../resin_os/std.c:474: error: dereferencing pointer to incomplete type
../resin_os/std.c:475: error: dereferencing pointer to incomplete type
../resin_os/std.c:479: error: dereferencing pointer to incomplete type
../resin_os/std.c:479: error: dereferencing pointer to incomplete type
../resin_os/std.c:481: error: dereferencing pointer to incomplete type
../resin_os/std.c:487: error: dereferencing pointer to incomplete type
../resin_os/std.c:499: error: dereferencing pointer to incomplete type
../resin_os/std.c:507: error: dereferencing pointer to incomplete type
../resin_os/std.c:510: error: dereferencing pointer to incomplete type
../resin_os/std.c:511: error: dereferencing pointer to incomplete type
../resin_os/std.c:515: error: dereferencing pointer to incomplete type
../resin_os/std.c:516: error: dereferencing pointer to incomplete type
../resin_os/std.c:516: error: dereferencing pointer to incomplete type
../resin_os/std.c:518: error: dereferencing pointer to incomplete type
../resin_os/std.c:519: error: dereferencing pointer to incomplete type
../resin_os/std.c:526: error: dereferencing pointer to incomplete type
../resin_os/std.c:526: error: dereferencing pointer to incomplete type
../resin_os/std.c:527: error: dereferencing pointer to incomplete type
../resin_os/std.c:536: error: dereferencing pointer to incomplete type
../resin_os/std.c:538: error: dereferencing pointer to incomplete type
../resin_os/std.c:538: error: dereferencing pointer to incomplete type
../resin_os/std.c:539: error: dereferencing pointer to incomplete type
../resin_os/std.c:540: error: dereferencing pointer to incomplete type
../resin_os/std.c: In function `std_close_ss':
../resin_os/std.c:561: error: dereferencing pointer to incomplete type
../resin_os/std.c:562: error: dereferencing pointer to incomplete type
../resin_os/std.c:590: warning: passing arg 1 of pointer to function makes pointer from integer without a cast
../resin_os/std.c:597: warning: passing arg 1 of pointer to function makes pointer from integer without a cast
../resin_os/std.c:597: error: void value not ignored as it ought to be
*** Error code 1
make: Fatal error: Command failed for target `../resin_os/std.o'
Current working directory /home/itasconf/source/resin-pro-4.0.27/modules/c/src/resin
*** Error code 1
make: Fatal error: Command failed for target `plugins'
Current working directory /home/itasconf/source/resin-pro-4.0.27/modules/c/src
*** Error code 1
make: Fatal error: Command failed for target `all'
related to 0005090closed  --disable-ssl does not disable SSL 
 submit_bug.txt [^] (15,409 bytes) 05-22-12 11:30

Notes
(0005778)
tokyoturnip   
05-23-12 07:37   
It appears the offending configure flag is "--disable-jni".
Removing "--disable-jni" compile and make complete successfully.
Except for minor errors, which I find to be acceptable because they do not appear to be fatal and similar to previous versions(4.0.18 pro) configure and make results.

stream.c: In function `select_host':
stream.c:1394: warning: cast from pointer to integer of different size

config.c:44:1: warning: "_POSIX_PTHREAD_SEMANTICS" redefined
<command line>:4:1: warning: this is the location of the previous definition

libtool: ignoring unknown tag CXX
gcc: unrecognized option `-64'


It appears that configure is also ignoring --disable-ssl flag.
Compile summary for 4.0.18 pro shows the following plugins.
plugins : common apache2
While compile summary for 4.0.27 pro shows the following plugins if --disable-jni is removed:
plugins : common apache2 resin_os resinssl resin
and if "--disabled-jni" is included (but will not make.):
plugins : common apache2 resinssl resin

I guess the issue is worked around. However, it leaves me bloated binaries, and potential other unexpected issues as a result.
(0005779)
tokyoturnip   
05-23-12 12:02   
Actually work around does not appear to have worked, only was enough of a work around to build.
Found in jvm log.
[12-05-23 14:15:49.677] {main} Found library 'resin_os' as '/opt/app/itas/resin_pro_4.0.27-64/libexec64/libresin_os.so', but the load failed. The JVM exception was: java.lang.UnsatisfiedLinkError: no resin_os in java.library.path

[12-05-23 14:17:20.652] {main} JNI file: Found library 'resin' as '/opt/app/itas/resin_pro_4.0.27-64/libexec64/libresin.so', but the load failed. The JVM exception was: java.lang.UnsatisfiedLinkError: no resin in java.library.path

[12-05-23 14:17:20.655] {main} JNI keepalive: Found library 'resin' as '/opt/app/itas/resin_pro_4.0.27-64/libexec64/libresin.so', but the load failed. The JVM exception was: java.lang.UnsatisfiedLinkError: no resin in java.library.path

[12-05-23 14:17:20.657] {main} JNI socket: Found library 'resin_os' as '/opt/app/itas/resin_pro_4.0.27-64/libexec64/libresin_os.so', but the load failed. The JVM exception was: java.lang.UnsatisfiedLinkError: no resin_os in java.library.path


Additionally, log is complining of missing libraries.

[12-05-23 14:17:27.500] {resin-35} warning: [path] bad path element "/opt/app/itas/resin_pro_4.0.27-64/lib/javaee-15.jar": no such file or directory
                       warning: [path] bad path element "/opt/app/itas/resin_pro_4.0.27-64/lib/resin-util.jar": no such file or directory
                       warning: [path] bad path element "/opt/app/itas/resin_pro_4.0.27-64/lib/license.jar": no such file or directory
                       warning: [path] bad path element "/opt/app/itas/resin_pro_4.0.27-64/lib/hessian.jar": no such file or directory
                       warning: [path] bad path element "/opt/app/itas/resin_pro_4.0.27-64/lib/quercus.jar": no such file or directory
                       warning: [path] bad path element "/opt/app/itas/resin_pro_4.0.27-64/lib/resin-kernel.jar": no such file or directory
                       warning: [path] bad path element "/opt/app/itas/resin_pro_4.0.27-64/lib/jcache-16.jar": no such file or directory
                       warning: [path] bad path element "/opt/app/itas/resin_pro_4.0.27-64/lib/jcifs.jar": no such file or directory
(0005780)
cowan   
05-23-12 14:13   
I've added a separate bug to fix --disable-ssl, see bug 0005090