分享
 
 
 

COMPILING AND SETTING UP UNIX NETWORK PROGRAMMING (UNP) LIBRARY

王朝system·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

COMPILING AND SETTING UP UNIX NETWORK PROGRAMMING (UNP) LIBRARY

To develop

their automated traders in an external machine, you need to install the UNP

communication library provided by Richard Stevens' Unix Network Programming

book. The source code can be found at:

http://www.kohala.com/start/unpv12e/unpv12e.tar.gz

We assume you saved the file in a directory that we refer to as UNPV_DIR. After that, the user can use the command (to unzip and untar in the current directory):

tar -xvzf unpv12e.tar.gz

That should create a directory unpv12e

in UNPV_DIR, and uncompress all the necessary files inside

it.

The next step is to compile the network library without errors. Here

is Stevens' original compilation notes together with other comments added

to ease up the compilation process.

QUICK AND DIRTY (Originally by Richard Stevens, edited by PLAT Team)

Once you are inside UNPV_DIR,

cd unpv12e

./configure # try to figure out all

implementation differences

cd lib # build the basic

library that all programs need

make # use "gmake" everywhere

on BSD/OS systems

If you are unable to compile using '

make' (the last step above), then follow the

modifications suggested below and try again. The exact nature of the

modifications needed might differ from one configuration to another.

Below are general tips from our crux installation. After you change

something in the UNP source code, we recommend you execute '

make clean' before calling 'make' again to be certain that your changes are fully incorporated.

NOTES ON UNP INSTALLATION ON CRUX

The following are the particular changes we needed to make for the UNP

installation on crux (UNPV_DIR=/usr/local):

Commented out a structure because it was a redefinition of

a structure which was in the system's include libraries, with one extra

field: (UNPV_DIR/unpv12e/lib/unp.h, line 113)

/* Commented out the following because it is a redefinition of a structure

* with slightly different/missing fields defined in system's original

* header files.

*/

//struct in_pktinfo {

//struct in_addr ipi_addr; /* dst IPv4 address */

//int ipi_ifindex; /* received interface index */

//};

Replaced the call to mktemp with call to mkstemp instead, since the latter is obsolete, and modified the function MKtemp accordingly (for example, mktemp returns NULL on error, but mkstemp returns -1 on error): (UNPV_DIR/unpv12e/lib/wrapunix.c, line 96)

/* Changed the call to mktemp with call to mkstemp */

if (mkstemp(template) == -1 || template[0] == 0)

err_quit("mkstemp error");

That's all we needed to change for this part of the UNP installation

process, and then the compilation worked without errors (for the most part,

you can safely ignore any warnings you see during the UNP library compilation).

In general, one additional possible change you might need to make is to edit the file config.cache in the UNPV_DIR/unpv12e

directory. If you get an error, either during this step of building the

UNP library or the compilation of your strategies, regarding the

function getnameinfo, you want to make sure that the following line regarding getnameinfo in config.cache is exactly as follows:

ac_cv_func_getnameinfo=${ac_cv_func_getnameinfo=yes}

(i.e., make sure it is set to "yes" as above!). If you have to make

this change, you should re-execute the following sequence of commands

starting at the UNPV_DIR/unpv12e directory,

./configure

cd lib

make clean

make

Before finishing off with the UNP installation, you also need to execute the following:

cd UNPV_DIR/unpv12e/libfree

# continue building the basic library

make

If all that works (without errors!), you're done with the compilation of the network layer. If

you wish, you can now safely remove the compressed file UNP package

file you downloaded (or the tar file that resulted if you directly

uncompressed the file) after successfully building the UNP library.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有