首页 > 代码库 > 构建ubuntu下的JXTA-C开发环境
构建ubuntu下的JXTA-C开发环境
概述:
因为网络上关于这个JXTA-C源码编译的文章较少,所以我在此首先写一份编译的完整过程,以供网友们参考。
JXTA-C源码所在地址:http://download.java.net/jxta/
1、操作系统环境
leekwen@ubuntu:~$ cat /etc/issue Ubuntu 12.04.4 LTS \n \l leekwen@ubuntu:~$ file /bin/ls /bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0x83531f308f1fa18221be53eaf399303400c14638, stripped
2、安装编译JXTA-C源码所需的基本库
leekwen@ubuntu:~$ sudo apt-get install -y libtool automake autoconf libxml2 libxml2-dev libapr1-dev libaprutil1-dev [sudo] password for leekwen: Reading package lists... Done Building dependency tree Reading state information... Done
3、下载JXTA-C-2.5.2.tar.bz2源码包
leekwen@ubuntu:~$ wget -c http://download.java.net/jxta/jxta-c/2.5.2/jxta-c-2.5.2.tar.bz2
4、测试APR及APU的环境是否安装OK?
leekwen@ubuntu:~$ apr-config --includedir /usr/include/apr-1.0 leekwen@ubuntu:~$ apu-config --includedir /usr/include/apr-1.0
leekwen@ubuntu:~$ grep APU_HAVE_DB /usr/include/apr-1.0/apu.h #define APU_HAVE_DB 1 #if APU_HAVE_DB #define APU_HAVE_DB_VERSION 5
5、配置JXTA-C源码
leekwen@ubuntu:~$ tar jxvf jxta-c-2.5.2.tar.bz2 leekwen@ubuntu:~$ cd jxta-c-2.5.2 leekwen@ubuntu:~/jxta-c-2.5.2$ ./configure --without-apr --with-dbm=db
如果没有缺少库文件的错误的话,最终会显示出如下的配置:
JXTA has been configured with the following options: Debug enabled : no Compression enabled : yes Decompression enabled : yes Mono support enabled : no libxml2 Path : /usr APR Path : APU Path : sqlite Path : /usr openssl Path : /usr Thread pool availability: jxta/jpr
6、编译JXTA-C源码
leekwen@ubuntu:~/jxta-c-2.5.2$ make -j 2
结果如下:
creating whisp make[2]: Leaving directory `/home/leekwen/jxta-c-2.5.2/tutorials‘ make[2]: Entering directory `/home/leekwen/jxta-c-2.5.2‘ make[2]: Leaving directory `/home/leekwen/jxta-c-2.5.2‘ make[1]: Leaving directory `/home/leekwen/jxta-c-2.5.2‘
7、运行jxtashell
leekwen@ubuntu:~/jxta-c-2.5.2$ cd shell/ leekwen@ubuntu:~/jxta-c-2.5.2/shell$ ./jxtaShell Starting logger with selector : *.warning-fatal [JXTA]-warning-[05/19 00:34:30:863264][TID: 0xb70ba700] - [jxta_tta.c:386] Deprecated API jxta_TCPTransportAdvertisement_set_InterfaceAddress called. [CM]-error-[05/19 00:34:30:930237][TID: 0xb70ba700] - Failed to load driver file apr_dbd_sqlite3.so [CM]-error-[05/19 00:34:30:931425][TID: 0xb70ba700] - db_id: 1 -- error creating tables db return 20019 [CM]-error-[05/19 00:34:30:932410][TID: 0xb70ba700] - Failed to open dbd database: .cm/jxta-NetGroup.sqdb with error 20019 [CM]-error-[05/19 00:34:30:933554][TID: 0xb70ba700] - Error processing address spaces -- 120007 Segmentation fault (core dumped)
如果运行jxtashell出现的错误如上的话,请安装JXTASHELL运行所依赖的连接库sqlite的库文件:
leekwen@ubuntu:~/jxta-c-2.5.2/shell$ sudo apt-get install libaprutil1-dbd-sqlite3
安装完毕后,再次执行jxtashell:
leekwen@ubuntu:~/jxta-c-2.5.2/shell$ ./jxtaShell Starting logger with selector : *.warning-fatal [JXTA]-warning-[05/19 00:36:40:275230][TID: 0xb70e5700] - [jxta_tta.c:386] Deprecated API jxta_TCPTransportAdvertisement_set_InterfaceAddress called. [PV]-warning-[05/19 00:36:41:260503][TID: 0xb70e5700] - [jxta_peerview.c:711] Could not find the endpoint service params [JXTA]-warning-[05/19 00:36:41:261929][TID: 0xb70e5700] - [jxta_endpoint_service.c:1416] Deprecated API jxta_endpoint_service_add_listener called. [JXTA]-warning-[05/19 00:36:41:309777][TID: 0xb70e5700] - [jxta_endpoint_service.c:1416] Deprecated API jxta_endpoint_service_add_listener called. ========================================================= ========= Welcome to the JXTA-C Shell Version 2.5.2 ====== ========================================================= The JXTA Shell provides an interactive environment to the JXTA platform. The Shell provides basic commands to discover peers and peergroups, to join and resign from peergroups, to create pipes between peers, and to send pipe messages. The Shell provides environment variables that permit binding symbolic names to Jxta platform objects. Environment variables allow Shell commands to exchange data between themselves. The shell command ‘env‘ displays all defined environment variables in the current Shell session. A ‘man‘ command is available to list the commands available. To exit the Shell, use the ‘exit‘ command. JXTA>[RELAY]-warning-[05/19 00:36:41:333294][TID: 0xb579eb40] - Not seeded with any valid relay addresses JXTA>man For which command do you want help? TestApplication env cat whoami kdb peers talk join groups search leave rdvstatus rdvcontrol publish JXTA>exit Exiting Jxta shell [HTTP_TRANSPORT]-warning-[05/19 00:36:52:358205][TID: 0xb70e5700] - don‘t know how to stop yet. [JXTA]-warning-[05/19 00:36:53:441809][TID: 0xb70e5700] - [jxta_endpoint_service.c:1443] Deprecated API jxta_endpoint_service_remove_listener called. [JXTA]-warning-[05/19 00:36:53:442622][TID: 0xb70e5700] - [jxta_endpoint_service.c:1443] Deprecated API jxta_endpoint_service_remove_listener called. [SERVICE]-warning-[05/19 00:36:53:443634][TID: 0xb70e5700] - Jxta_service_init is not called?? [SERVICE]-warning-[05/19 00:36:53:443673][TID: 0xb70e5700] - Jxta_service_init is not called?? [SERVICE]-warning-[05/19 00:36:53:443752][TID: 0xb70e5700] - Jxta_service_init is not called?? [SERVICE]-warning-[05/19 00:36:53:443767][TID: 0xb70e5700] - Jxta_service_init is not called??
到此JXTA-C的编译算是完成了!!#转载请注明出处 #leekwen
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。