【发布时间】:2014-09-09 15:50:29
【问题描述】:
我正在尝试在我的 Oracle 12 HTTP 服务器中使用 mod_auth_cas。但是,Oracle 在其无限的wizdumb 中删除了 mod_ssl 并使用了自己的 ossl。所以现在我的 mod_auth_cas 不起作用,因为它与 openSSL 链接。 (我收到“未定义符号 SSL_connect”错误)
查看代码 (https://github.com/Jasig/mod_auth_cas/tree/master/src) 我看到了这个:
#include <openssl/crypto.h>
#include <openssl/x509.h>
#include <openssl/pem.h>
#include <openssl/ssl.h>
#include <openssl/err.h>
我知道我可以通过 gcc 编译器静态链接它,但是它使用 Makefile 并且我绝不(我是 Java 人)我有能力在 makefile 中执行此操作。
所以我的问题是:
- 我可以强制编译器从代码本身静态链接 openssl,这样我就不必弄乱 makefile(比如有没有 #includestatic 指令)
或
- 我需要生成文件吗?我可以只创建一行 gcc 来编译我需要的东西吗(它只有 2 个 .c 文件和 2 个 .h 文件)
或
- 我可以根据 oracle 使用的 mod_ossl 编译它吗?我将如何去做,因为我不知道我在这里做什么。 :)
感谢您的任何提示!
【问题讨论】:
-
你在哪里构建
mod_auth_cas以便它可以在构建时找到 openssl 但在运行时不可用?你不能在运行的系统上安装那个 openssl 吗? -
他们是从 fedora 项目中预构建的。
-
为这样的事情混合来源通常不是一个好主意。但是为了继续这个概念,他们应该尝试从那里包含 openssl 库。