如何为FreeBSD 8.1构建WSO2WSF/PHP 2.1.0


How to build WSO2 WSF/PHP 2.1.0 for FreeBSD 8.1?

我在FreeBSD 8.1上构建WSO2 WSF/PHP时遇到问题。似乎有什么东西在源头上坏了。

我检查了所有先决条件,然后运行./configure && make并收到下一个错误:

在平台中制作/unix/usr/local/bin/bash../..//libtool--tag=CC--mode=编译gcc-DHAVE_CONFIG_H-I-I./../..-I./..//包括-I./..//包括/平台-I./..//包括/platforms/unix-g-O2-D_LARGEFILE64_SOURCE-ansi-Wall-Wno隐式函数声明-D_GNU_SOURCE-MT uuid_gen_unix.lo-MD-MP-MF.deps/uuid_gen _unix.Tpo-c-o uuid_gen-_unix.lo uuid_gend_unix.cmkdir.libsgcc-DHAVE_CONFIG_H-I-I./../..-I./..//包括-I./..//包括/平台-I./..//包括/platforms/unix-g-O2-D_LARGEFILE64_SOURCE-ansi-Wall-Wno隐式函数声明-D_GNU_SOURCE-MT uuid_gen_unix.lo-MD-MP-MF.deps/uuid_gen _unix.Tpo-c uuid_gen-_unix.c-fPIC-DPIC-o.libs/uuid_gen_unik.ouuid_gen_unix.c:在函数"axutil_uid_get_mac_addr"中:uuid_gen_unix.c:332:错误:未声明"SIOCGARP"(此函数中首次使用)

在谷歌上搜索后,我发现了一个用./configure 'CPPFLAGS=-DHAVE_GETIFADDRS'配置的建议。之后,make命令几乎完成,但在结束时死亡,并提供以下信息:

gcc-g-O2-D_LARGEFILE64_SOURCE-ansi-Wall-Wno隐式函数声明-o.libs/test test.o..//axiom/src/om/.libs/libaxis2_axiom.so../util/src/.libs/libaxutil.so../src/.libs/libneethi.so/usr/home/alisachenko/src/wso2-sf-php-src-2.1.0/wsf_c/axis2c/axiom/src/om/.libs/libraxis2_ashiom.so/usr/home/aliachenko/src/wso2-sw-php-src-2.1.0/ws_c/axis2c/aaxio/src/parser/guththila/.libs/libaxis2_parser所以/usr/home/alisachenko/src/wso2-sf-hp-src-2.1.0/wsf_c/axis2c/guththila/src/.libs/libguththila.so/usr/home/alisachenko/src/wso2-sf/axs2c/util/src/.libs/libaxutil.so-lpthread-lz-Wl,--rpath-Wl,/usr/local/wsf_c/lib../../util/src/.libs/libaxutil.so:对"ftime"的未定义引用

我应该怎么做才能在我的FreeBSD上完全构建WSO2?

UPD1./configure 'CPPFLAGS=-DHAVE_GETIFADDRS' 'LDFLAGS=-lcompat' 之后的建筑

gcc-共享-Wl,--整个存档/src/platforms/unix/.libs/libaxis2_unix.a-Wl,--no whole archive-lcompat-lpthread-lz-Wl,-soname-Wl,libaxutil.so.4-o.libs/libraxutil.so.4/usr/bin/ld:/usr/lib/libcompt.a(ftime.o):在创建共享对象时,不能使用relocation R_X86_64_32;使用-fPIC重新编译/usr/lib/libcompt.a:无法读取符号:值错误

UPD2./configure CPPFLAGS='-fPIC -DHAVE_GETIFADDRS' 'LDFLAGS=-lcompat' 后的建筑

gcc-共享.libs/hash.o.libs/allocater.o.libs/env.o.libs/error.o.libs/stream.o.libs/log.o.libs/cstring.o.libs/string_util.o.libs/qname.o.libs/array_list.o.libs/linked_list.o.lib/utils.o.libs/dir_handler.o.lbs/file_handler.o.libs/class_loader.o.libs/network_handler/o.libs/file.o.lib/uuid_gen.o.libs/thread_pool.o.libs/属性.o.libs/stypes.o.libs/param.o.libs/param_container.o.libs/dll_desc.o.libs/url.o.libs/stack.o.libs/general_obj.o.libs/base64.o.libs/uri.o.libs/date_time.o.libs/sbase64_binary.o.libs/属性.o.libs/http_chunked_stream.o.libs/rand.o.libs/cate_time_util.o.libs/version.o.libs/duration.o.libs/serame.o.lib/stomd.o.libs/mds 5.o.libs/digest_calc.o-Wl,--整个存档/src/platforms/unix/.libs/libaxis2_unix.a-Wl,--no whole archive-lcompat-lpthread-lz-Wl,-soname-Wl,libaxutil.so.4-o.libs/libraxutil.so.4/usr/bin/ld:/usr/lib/libcompt.a(ftime.o):在创建共享对象时,不能使用relocation R_X86_64_32;使用-fPIC重新编译/usr/lib/libcompt.a:无法读取符号:值错误***错误代码1在/usr/src/wso2-sf-hp-src-2.1.0/wsf_c/axis2c/util/src中停止。
./configure 'CPPFLAGS=-DHAVE_GETIFADDRS LDFLAGS==-lcompat'


我还试图在各种FreeBSD AMD64

上运行WSO2,但没有成功
我正在ezjail之上建造的监狱中编译WSO2。由于需要重新编译libcompat,所以我在"main"系统中进行了重新编译。剩下的都在监狱里完成。
  1. 在主系统(没有监狱)中,我在makefile中用-fPIC重新编译了libcompat(/usr/src/lib/libcompt),所以现在这行看起来像:

    CFLAGS+=-fPIC-DLIBC_SCS-DSYSLIBC_SCCS-I${.CURDIR}/../libc/locale

    [root@system/usr/src/lib/libcompt]#进行安装
    安装-C-o root-g wheel-m 444 libcompat.a/usr/lib
    安装-C-o root-g wheel-m 444 libcompat_p.a/usr/lib

  2. 然后我把libcompat.a和libcompat_p.a复制到basejail中,然后转到监狱,在那里我做了一个编译

我发现:http://bsd.dischaos.com/2008/05/14/wso-web-services-framework-on-freebsd/这激励了我。
我修改了wsf_c/axis2c/util/src/platforms/unix/uuid_gen_unix.c并添加了
#包括<sys/param.h>
(我在这里放了^^^^空格,因为stackoverflow门户网站错误地解析了它)

3。然后我修改了config.m4,并放置了以下路径PHP_ADD_INCLUDE(/usr/local/INCLUDE/libxml2/libxml)替换原来的

4。然后仍然存在编译问题,我添加了这些环境变量export CPATH=/usr/local/include:/usr/local/includ/libxml2:/usr/local/ssl/include/openssl::/usr/local/sls/include
export LD_LIBRARY_PATH=/usr/local/lib

5。最后,我成功地编译了没有错误的

/configure"CPPFLAGS=-fPIC-DHAVE_GETIFADDRS"LDFLAGS=-lcompat"
制作
进行安装

我在远程服务器上的测试监狱还没有可用的web界面,因此我无法在提供的示例上测试此安装,但我非常确信我会成功,因为在make和make安装过程中都没有错误
Php-m显示wsf模块没有任何segfault
样品也运行良好<我还不能拿到wsdls,但这只是时间问题>

您可能面临的重要问题是openssl。如果我没有记错的话,它一定在0.9.8以上。我使用的是1.x。不过
虽然这个设置在Freebsd8.x上运行良好,但我无法让它在FreeBSD6.x上运行。在6.x上,我最终成功地构建了WSO2,但在php配置中包含wsf.so时出现了segfault。。。然后我放弃了6.x,专注于freebsd 8.x,在那里它似乎很好。。。刚刚开始用这个模块做一些编程。