Tomcat

編譯tomcat連接器時沒有生成mod_jk.so

  • August 7, 2013

當我嘗試從原始碼編譯 tomcat 連接器時,一切看起來都很好,除了沒有創建 mod_jk.so 文件。

軟體版本:RHEL6 x86_64

httpd-2.4.3

tomcat-connector 1.2.37

命令:

在製作過程中唯一的警告資訊是: 警告!在 /usr/local/tomcat-connectors-1.2.37-src/native/apache-2.0/mod_jk.la 中找不到 dlname。`cd native

./configure –with-apxs=/usr/local/apache2/bin/apxs

make

cd apache-2.0

ls`

有人對如何生成 mod_jk.so 文件有任何建議嗎?

我最終得到了這個工作。事實證明,我遇到的問題不僅僅是 tomcat 連接器。

首先,要在 64 位 Linux 上編譯 apache,我需要做幾件事。我遇到了建構錯誤,例如:

relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC 

為了解決這個問題,OpenSSL 必須有一個特殊的配置選項:

./configure -fPIC

所以我重新編譯了 OpenSSL,它允許 Apache 正確編譯 ssl 模組。然後我在 apache 期間遇到了另一個錯誤make install

libtool: install: error: relink `libaprutil-1.la' with the above command before installing it

為了解決這個問題,APR 類在編譯期間需要一個特殊的配置選項:

CC="gcc -m64" ./configure --prefix=/usr/local/apr
CC="gcc -m64" ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

單獨編譯這些意味著我需要在 Apache 建構中使用 –with-apr 選項而不是 –with-included-apr :

./configure ... --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util

在 Apache 配置過程中,我也一直在使用一個奇怪的配置選項:

--with-apxs2=...

應該是:

--with-apxs=...

在理順所有這些事情並重新編譯 apache 之後,我再次嘗試使用 tomcat 連接器建構。然後正確生成了 mod_jk.so 文件。

引用自:https://serverfault.com/questions/457098