如何使用64位Java JDK为Solaris Sparc 64位构建Tomcat本机
我正在使用Solaris Sparc 64位计算机。我想使用64位版本的Java构建Tomcat本机。我在Solaris机箱中根据安装了Java 当我检查Java版本时:如何使用64位Java JDK为Solaris Sparc 64位构建Tomcat本机,java,tomcat,tomcat7,solaris,Java,Tomcat,Tomcat7,Solaris,我正在使用Solaris Sparc 64位计算机。我想使用64位版本的Java构建Tomcat本机。我在Solaris机箱中根据安装了Java 当我检查Java版本时: /usr/jdk/jdk1.7.0_80/bin/java -version java version "1.7.0_80" Java(TM) SE Runtime Environment (build 1.7.0_80-b15) Java HotSpot(TM) Server VM (build 24.80-b11, mix
/usr/jdk/jdk1.7.0_80/bin/java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) Server VM (build 24.80-b11, mixed mode)
我还导出JAVA\u HOME
:
export JAVA_HOME=/usr/jdk/jdk1.7.0_80
我配置了:
./configure --with-apr=/usr/local/apr/bin/apr-1-config --with-java-home=$JAVA_HOME \
--with-ssl=/usr/local/ssl --prefix=$CATALINA_HOME
我可以使用此java 32位构建,但64位java存在于:
/usr/jdk/jdk1.7.0_80/bin/sparcv9/java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
如何让我的Tomcat原生配置使用64位java而不是32位java
这里的问题是,我可以用32位java构建,tomcat可以工作。但在生产中没有32位JRE,只有64位JRE。如果使用相同的32位Tomcat本机库,则会导致:
wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)]
更新#1
INFO: Loaded APR based Apache Tomcat Native library 1.1.33 using APR version 1.5.2.
Dec 12, 2015 8:02:42 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
Dec 12, 2015 8:02:42 PM org.apache.catalina.core.AprLifecycleListener initializeSSL
INFO: OpenSSL successfully initialized (OpenSSL 1.0.1p 9 Jul 2015)
Dec 12, 2015 8:02:43 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-apr-0.0.0.0-8081"]
Dec 12, 2015 8:02:43 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-apr-0:0:0:0:0:0:0:0-8081"]
Dec 12, 2015 8:02:43 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-apr-0.0.0.0-8444"]
ld.so.1: java: fatal: relocation error: file /tomcat7/lib/libtcnative-1.so.0.1.33: symbol EC_KEY_new_by_curve_name: referenced symbol not found
4月,
CFLAGS="-m64" ./configure
CFLAGS="-m64" ./configure --with-apr=/usr/local/apr/bin/apr-1-config --with-java-home=/usr/jdk/instances/jdk1.7.0/ --with-ssl=/usr/local/ssl --prefix=/tomcat7
export KERNEL_BITS=64
./config shared
make
make install
TC本机,
CFLAGS="-m64" ./configure
CFLAGS="-m64" ./configure --with-apr=/usr/local/apr/bin/apr-1-config --with-java-home=/usr/jdk/instances/jdk1.7.0/ --with-ssl=/usr/local/ssl --prefix=/tomcat7
export KERNEL_BITS=64
./config shared
make
make install
成功了强>
----------------------------------------------------------------
构建openssl,
CFLAGS="-m64" ./configure
CFLAGS="-m64" ./configure --with-apr=/usr/local/apr/bin/apr-1-config --with-java-home=/usr/jdk/instances/jdk1.7.0/ --with-ssl=/usr/local/ssl --prefix=/tomcat7
export KERNEL_BITS=64
./config shared
make
make install
构建APR
CC="cc" CFLAGS="-m64" LDFLAGS="-m64" ./configure
make
make install
构建tc本地版
CC="cc" CFLAGS="-m64 -fPIC" LDFLAGS="-m64" ./configure --with-apr=/usr/local/apr/bin/apr-1-config --with-java-home=/usr/jdk/jdk1.7.0_80/ --with-ssl=/usr/local/ssl --prefix=/tomcat
make
make install
似乎没有指定64位sparc目标的选项 也许构建系统会从编译器标志中自行识别它 我会尝试:
CFLAGS="-m 64" ./configure ...
Stack Overflow是一个关于编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。也看到了。谢谢,实际上这帮助我取得了一些进展。但我还是在tomcat日志中发现了这个错误。而tomcat并没有开始。请检查更新#1