簡體   English   中英

如何使用64位Java JDK為Solaris Sparc 64位構建Tomcat原生

[英]How to build Tomcat-native for Solaris Sparc 64 bit using 64-bit Java JDK

我正在使用Solaris Sparc 64位計算機。 我想使用64位版本的Java構建Tomcat本機。 我根據Oracle Solaris操作系統上的JDK 7安裝在 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, mixed mode)

我也導出JAVA_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

我可以使用此32位Java構建,但其中包含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

年利率

 CFLAGS="-m64" ./configure

TC原生

 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

工作了! -------------------------------------------------- ---------------------

構建openssl,

export KERNEL_BITS=64
./config shared
make 
make install

建立APR

CC="cc" CFLAGS="-m64" LDFLAGS="-m64" ./configure
make
make install

建立本機

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 ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM