Dear All:

 

I'm an embedded software engineer,recently I'm porting net-snmp on uclinux,my 
cross-compilation tools is arm-elf-, the configuration as follows:

 

./configure --build=i386-linux --host=arm-elf --target=arm-uclinux 
--disable-manuals --disable-applications --disable-scripts -enable-debugging 
--disable-testing --with-endianness="little" --with-cc="arm-elf-gcc" 
--with-ar="arm-elf-ar" --prefix="/home/uClinux/AMLY/net-snmp-5.2.5.1/install" 
--with-persistent-directory="/var/net-snmp" --with-default-snmp-version="3" 
--with-sys-contact="contact" --with-sys-location="location" 
--enable-shared="no" --enable-mini-agent --with-ldflags="-elf2flt -Bstatic"

 

My build process is successful,but when I run snmpd on my 
board(CPU:S3C2510)failed,as follows:

 

snmpd
No log handling enabled - turning on stderr logging
trace: main(): snmpd.c, 485:
signal: registering SIGTERM signal handler
trace: main( : snmpd.c, 489:
signal: registering SIGINT signal handler
trace: main(): snmpd.c, 496:
signal: registering SIGUSR1 signal handler
trace: main(): snmpd.c, 500:
signal: registering SIGPIPE signal handler
trace: netsnmp_ds_set_boolean(): default_store.c, 205:
net nmp_ds_set_boolean: Setting APP:3 = 0/False
trace: netsnmp_ds_set_int(): default_store.c, 257:
netsnmp_ds_set_int: Setting APP:4 = -1
trace: netsnmp_ds_set_int(): default_store.c, 257:
netsnmp_ds_set_int: Setting APP:5 = -1
trace: netsnmp_ds_set_int(): default_store.c, 257:
netsnmp_ds_set_int: Setting APP:10 = 5
trace: netsnmp_ds_set_boolean(): default_store.c, 205:
netsnmp_ds_set_boolean: Setting APP:1 = 0/False
daemonize: deamonizing...
daemonize: first fork returned -1.
first fork failed (errno 22) in netsnmp_daemonize()
Server Exiting with code 1

 

As I know that uClinux does not implement fork(),so I modified the file 
$(net-snmp-5.2.5.1)/ include/net-snmp/net-snmp-config.h add a line #define fork 
vfork, however,I also can’t run snmpd on my board and deadlocks happened,so I 
hope you can give my some advices about this,thanks!

 

The following is the snmpd run information when I change fork() into vfork();

snmpd

No log handling enabled - turning on stderr logging

trace: main(): snmpd.c, 485:

signal: registering SIGTERM signal handler

trace: main(): snmpd.c, 489:

signal: registering SIGINT signal handler

trace: man(: snmpd.c, 496:

signal: registering SIGUSR1 signal handler

trace: main(): snmpd.c, 500:

signal: registering SIGPIPE signal handler

trace: netsnmp_ds_set_boolean(): default_store.c, 205:

netsnmp_ds_set_boolean: Setting APP:3 = 0/False

trace: netsnmp_ds_set_int(): default_store.c, 257:

netsnmp_ds_set_int: Setting APP:4 = -1

trace: netsnmp_ds_set_int(): default_store.c, 257:

netsnmp_ds_set_int: Setting APP:5 = -1

trace: netsnmp_ds_set_int(): default_store.c, 257:

netsnmp_ds_set_int: Setting APP:10 = 5

trace: netsnmp_ds_set_boolean(): default_store.c, 205:

netsnmp_ds_set_boolean: Setting APP:1 = 0/False

daemonize: deamonizing...

daemonize: child continuing

trace: netsnmp_ds_set_boolean(): default_store.c, 205:

netsnmp_ds_set_boolean: Setting LIB:11 = 1/True

trace: netsnmp_register_handler(): agent_handler.c, 212:

handler::register: Registering  (::null) at .0

………………………………………………..

trace: read_config_store(): read_config.c, 1254:

read_config: storing: engineBoots 1

trace: read_config_store(): read_config.c, 1254:

read_config: storing: oldEngineID 0x80001f8880c22000002e000000

trace: snmp_call_callbacks(): callback.c, 231:

callback: END calling callbacks for maj=0 min=1 (5 called)

trace: snmp_clean_persistent(): read_config.c, 1367:

snmp_clean_persistent: cleaning snmpd files...

trace: main(): snmpd.c, 924:

signal: registering SIGHUP signal handler

trace: netsnmp_send_traps(): agent_trap.c, 654:

trap: send_trap 0 0 iso.3.6.1.4.1.8072.3.2.255

trace: snmp_call_callbacks(): callback.c, 205:

callback: START calling callbacks for maj=1 min=6

trace: snmp_call_callbacks(): callback.c, 231:

callback: END calling callbacks for maj=1 min=6 (0 called)

trace: snmp_call_callbacks(): callback.c, 205:

callback: START calling callbacks for maj=1 min=7

trace: snmp_call_callbacks(): callback.c, 231:

callback: END calling callbacks for maj=1 min=7 (0 called)

NET-SNMP version 5.2.5.1

trace: main(): snmpd.c, 1006:

snmpd/main: We're up.  Starting to process data.

trace: snmp_sess_select_info(): snmp_api.c, 5827:

sess_select: for all sessions: 5 3 

sess_select: next alarm 7363736.7364100 sec

sess_select: blocking:no session requests or alarms.

trace: receive(): snmpd.c, 1145:

snmpd/select: select( numfds=6, ..., tvp=(nil))
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Net-snmp-users mailing list
Net-snmp-users@lists.sourceforge.net
Please see the following page to unsubscribe or change other options:
https://lists.sourceforge.net/lists/listinfo/net-snmp-users

Reply via email to