Hi All,
I'm trying to install kamailio3.0.x on solaris 10 (sparc) as following:
gmake prefix="/usr/local/kamailio-3.0" include_modules="db_mysql dialplan" cfg gmake prefix="/usr/local/kamailio-3.0" all
but get the Broken Pipe error as below:
----snip -----
from cfg/cfg_struct.c:40: cfg/../atomic/atomic_sparc.h:39:2: warning: #warning "sparc32 atomic operations support not tested" gcc -g -O9 -funroll-loops -mtune=v8 -Wall -DNAME='"kamailio"' -DVERSION='"3.0.2"' -DARCH='"sparc"' -DOS='solaris_' -DOS_QUOTED='"solaris"' -DCOMPILER='"gcc 3.4.6"' -D__CPU_sparc -D__OS_solaris -DSER_VER=3000002 -DCFG_DIR='"/usr/local/kamailio-3.0/etc/kamailio/"' -DPKG_MALLOC -DSHM_MEM -DSHM_MMAP -DDNS_IP_HACK -DUSE_IPV6 -DUSE_MCAST -DUSE_TCP -DDISABLE_NAGLE -DHAVE_RESOLV_RES -DUSE_DNS_CACHE -DUSE_DNS_FAILOVER -DUSE_DST_BLACKLIST -DUSE_NAPTR -DF_MALLOC -DUSE_TLS -DTLS_HOOKS -DSTATISTICS -DMALLOC_STATS -DFAST_LOCK -DADAPTIVE_WAIT -DADAPTIVE_WAIT_LOOPS=1024 -DCC_GCC_LIKE_ASM -DHAVE_GETIPNODEBYNAME -DHAVE_SYS_SOCKIO_H -DHAVE_SCHED_YIELD -DHAVE_ALLOCA_H -DUSE_SIGACTION -DHAVE_DEVPOLL -DHAVE_SELECT -DHAVE_FILIO_H -c cfg/cfg.c -o cfg/cfg.o -MMD -MP In file included from cfg/../atomic/atomic_native.h:68, from cfg/../atomic_ops.h:166, from cfg/cfg_struct.h:38, from cfg/cfg.c:36: cfg/../atomic/atomic_sparc.h:39:2: warning: #warning "sparc32 atomic operations support not tested" yacc -d -b cfg cfg.y gmake: *** [cfg.tab.h] Broken Pipe
---end of snip ---
what is the cause of the issue? How should I fix it? Your help are greatly appreciated!
Thanks,
Kevin _________________________________________________________________ 约会说不清地方?来试试微软地图最新msn互动功能! http://ditu.live.com/?form=TL&swm=1
On Jun 01, 2010 at 19:31, JinKevin kevin.jzh@hotmail.com wrote:
Hi All,
I'm trying to install kamailio3.0.x on solaris 10 (sparc) as following:
gmake prefix="/usr/local/kamailio-3.0" include_modules="db_mysql dialplan" cfg gmake prefix="/usr/local/kamailio-3.0" all
but get the Broken Pipe error as below:
----snip -----
from cfg/cfg_struct.c:40:
cfg/../atomic/atomic_sparc.h:39:2: warning: #warning "sparc32 atomic operations support not tested"
This is unrelated to the error, but nevertheless it's strange, unless you really have gcc conifigured for 32 bit only or really sparc < 9. Could you send me the output of: gcc -dM -E -x c /dev/null
and isainfo -n uname -p uname -m
[...]
yacc -d -b cfg cfg.y
^^^^^^^^^^^^^^^^^^^^^
What yacc version do you have? Do you have also bison installed? If so, could you try gmake YACC=bison ?
Andrei
Hi Andrei,
gcc -dM -E -x c /dev/null #define __DBL_MIN_EXP__ (-1021) #define __FLT_MIN__ 1.17549435e-38F #define __CHAR_BIT__ 8 #define __WCHAR_MAX__ 2147483647 #define __DBL_DENORM_MIN__ 4.9406564584124654e-324 #define __FLT_EVAL_METHOD__ 0 #define __DBL_MIN_10_EXP__ (-307) #define __FINITE_MATH_ONLY__ 0 #define __GNUC_PATCHLEVEL__ 6 #define sparc 1 #define __SHRT_MAX__ 32767 #define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L #define __unix 1 #define __LDBL_MAX_EXP__ 16384 #define __SCHAR_MAX__ 127 #define __USER_LABEL_PREFIX__ #define __STDC_HOSTED__ 1 #define __LDBL_HAS_INFINITY__ 1 #define __DBL_DIG__ 15 #define __FLT_EPSILON__ 1.19209290e-7F #define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L #define __unix__ 1 #define __DECIMAL_DIG__ 36 #define __LDBL_HAS_QUIET_NAN__ 1 #define __GNUC__ 3 #define __DBL_MAX__ 1.7976931348623157e+308 #define __DBL_HAS_INFINITY__ 1 #define __SVR4 1 #define __DBL_MAX_EXP__ 1024 #define __LONG_LONG_MAX__ 9223372036854775807LL #define __sparc__ 1 #define __GXX_ABI_VERSION 1002 #define __FLT_MIN_EXP__ (-125) #define __DBL_MIN__ 2.2250738585072014e-308 #define __DBL_HAS_QUIET_NAN__ 1 #define __sun 1 #define __REGISTER_PREFIX__ #define __NO_INLINE__ 1 #define __FLT_MANT_DIG__ 24 #define __VERSION__ "3.4.6" #define __sparc 1 #define sun 1 #define unix 1 #define __SIZE_TYPE__ unsigned int #define __ELF__ 1 #define __FLT_RADIX__ 2 #define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L #define __FLT_HAS_QUIET_NAN__ 1 #define __FLT_MAX_10_EXP__ 38 #define __LONG_MAX__ 2147483647L #define __FLT_HAS_INFINITY__ 1 #define __PRAGMA_REDEFINE_EXTNAME 1 #define __LDBL_MANT_DIG__ 113 #define __WCHAR_TYPE__ long int #define __FLT_DIG__ 6 #define __INT_MAX__ 2147483647 #define __FLT_MAX_EXP__ 128 #define __DBL_MANT_DIG__ 53 #define __WINT_TYPE__ long int #define __LDBL_MIN_EXP__ (-16381) #define __LDBL_MAX_10_EXP__ 4932 #define __DBL_EPSILON__ 2.2204460492503131e-16 #define __sun__ 1 #define __svr4__ 1 #define __FLT_DENORM_MIN__ 1.40129846e-45F #define __FLT_MAX__ 3.40282347e+38F #define __FLT_MIN_10_EXP__ (-37) #define __GNUC_MINOR__ 4 #define __DBL_MAX_10_EXP__ 308 #define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L #define __PTRDIFF_TYPE__ int #define __LDBL_MIN_10_EXP__ (-4931) #define __LDBL_DIG__ 33
isainfo -n sparcv9
isainfo -b 64
uname -m sun4u
uname -a SunOS AppSer01 5.10 Generic_137137-09 sun4u sparc SUNW,UltraAX-i2
uname -p sparc
And bison is also installed,
yacc -V bison (GNU Bison) 2.4.1 Written by Robert Corbett and Richard Stallman.
Copyright (C) 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Thanks,
Kevin
Date: Tue, 1 Jun 2010 17:15:25 +0200 From: andrei@iptel.org To: kevin.jzh@hotmail.com CC: sr-users@lists.sip-router.org Subject: Re: [SR-Users] gmake: *** [cfg.tab.h] Broken Pipe while make kamailio on solaris 10
On Jun 01, 2010 at 19:31, JinKevin kevin.jzh@hotmail.com wrote:
Hi All,
I'm trying to install kamailio3.0.x on solaris 10 (sparc) as following:
gmake prefix="/usr/local/kamailio-3.0" include_modules="db_mysql dialplan" cfg gmake prefix="/usr/local/kamailio-3.0" all
but get the Broken Pipe error as below:
----snip -----
from cfg/cfg_struct.c:40: cfg/../atomic/atomic_sparc.h:39:2: warning: #warning "sparc32 atomic operations support not tested"
This is unrelated to the error, but nevertheless it's strange, unless you really have gcc conifigured for 32 bit only or really sparc < 9. Could you send me the output of: gcc -dM -E -x c /dev/null
and isainfo -n uname -p uname -m
[...]
yacc -d -b cfg cfg.y
^^^^^^^^^^^^^^^^^^^^^
What yacc version do you have? Do you have also bison installed? If so, could you try gmake YACC=bison ?
Andrei
_________________________________________________________________ 想知道明天天气如何?必应告诉你! http://cn.bing.com/search?q=%E5%A4%A9%E6%B0%94%E9%A2%84%E6%8A%A5&form=MI...
On Jun 02, 2010 at 08:32, JinKevin kevin.jzh@hotmail.com wrote:
Hi Andrei,
gcc -dM -E -x c /dev/null #define __sparc__ 1
[...]
isainfo -n sparcv9
isainfo -b 64
uname -m sun4u
Now I remembered :-) The problem on sparcv9 is that you can build either sparc32 or sparc64 code. The make system tries to use the configured compiler and use its default architecture, in this case sparc32. This changed from older ser or kamailio version, where IIRC 64 bits was always used on sparcv9 (the isainfo arch was used). The change was needed for better cross-compiler support, snow leopard (boots 32 bits kernel, but gcc is configured to produce 64 bit binaries).
So if you have all the needed 64 bits libs installed, you should compile for sparc64. Either make config CC_EXTRA_OPTS=-m64 or make config ARCH=sparc64 should do it (don't forget to re-run it after any make proper).
[...]
And bison is also installed,
yacc -V
I couldn't reproduce the yacc/bison problem. For me it compiles flawlessly on an old sparcv9 (solaris 9, bison 1.875d).
Could you try running: yacc -d -b cfg cfg.y by hand and see what happens? (any error? cfg.tab.h and cfg.tab.c created?)
Andrei
Date: Wed, 2 Jun 2010 16:54:26 +0200 From: andrei@iptel.org To: kevin.jzh@hotmail.com CC: sr-users@lists.sip-router.org Subject: Re: [SR-Users] gmake: *** [cfg.tab.h] Broken Pipe while make kamailio on solaris 10
On Jun 02, 2010 at 08:32, JinKevin kevin.jzh@hotmail.com wrote:
Hi Andrei,
gcc -dM -E -x c /dev/null #define __sparc__ 1
[...]
isainfo -n sparcv9
isainfo -b 64
uname -m sun4u
Now I remembered :-) The problem on sparcv9 is that you can build either sparc32 or sparc64 code. The make system tries to use the configured compiler and use its default architecture, in this case sparc32. This changed from older ser or kamailio version, where IIRC 64 bits was always used on sparcv9 (the isainfo arch was used). The change was needed for better cross-compiler support, snow leopard (boots 32 bits kernel, but gcc is configured to produce 64 bit binaries).
So if you have all the needed 64 bits libs installed, you should compile for sparc64. Either make config CC_EXTRA_OPTS=-m64 or make config ARCH=sparc64 should do it (don't forget to re-run it after any make proper).
[...]
And bison is also installed,
yacc -V
I couldn't reproduce the yacc/bison problem. For me it compiles flawlessly on an old sparcv9 (solaris 9, bison 1.875d).
Could you try running: yacc -d -b cfg cfg.y by hand and see what happens? (any error? cfg.tab.h and cfg.tab.c created?)
It just reports "Broken Pipe"
$ yacc -d -b cfg cfg.y Broken Pipe
If I removed the bison , then got some other error as below:
$ yacc -d -b cfg cfg.y "cfg.y", line 103: fatal: invalid escape, or illegal reserved word: expect
Thanks,
Kevin
_________________________________________________________________ SkyDrive电子画册,带你领略精彩照片,分享“美”时“美”刻! http://www.windowslive.cn/campaigns/e-magazine/ngmchina/?a=c
On Jun 03, 2010 at 01:36, JinKevin kevin.jzh@hotmail.com wrote:
Date: Wed, 2 Jun 2010 16:54:26 +0200 From: andrei@iptel.org To: kevin.jzh@hotmail.com CC: sr-users@lists.sip-router.org Subject: Re: [SR-Users] gmake: *** [cfg.tab.h] Broken Pipe while make kamailio on solaris 10
On Jun 02, 2010 at 08:32, JinKevin kevin.jzh@hotmail.com wrote:
Hi Andrei,
gcc -dM -E -x c /dev/null #define __sparc__ 1
[...]
isainfo -n sparcv9
isainfo -b 64
uname -m sun4u
Now I remembered :-) The problem on sparcv9 is that you can build either sparc32 or sparc64 code. The make system tries to use the configured compiler and use its default architecture, in this case sparc32. This changed from older ser or kamailio version, where IIRC 64 bits was always used on sparcv9 (the isainfo arch was used). The change was needed for better cross-compiler support, snow leopard (boots 32 bits kernel, but gcc is configured to produce 64 bit binaries).
So if you have all the needed 64 bits libs installed, you should compile for sparc64. Either make config CC_EXTRA_OPTS=-m64 or make config ARCH=sparc64 should do it (don't forget to re-run it after any make proper).
[...]
And bison is also installed,
yacc -V
I couldn't reproduce the yacc/bison problem. For me it compiles flawlessly on an old sparcv9 (solaris 9, bison 1.875d).
Could you try running: yacc -d -b cfg cfg.y by hand and see what happens? (any error? cfg.tab.h and cfg.tab.c created?)
It just reports "Broken Pipe"
$ yacc -d -b cfg cfg.y Broken Pipe
Looks like your bison or bison package is broken. One cause might be that you don't have GNU m4 installed or it's not in the PATH (it's used by bison). See http://old.nabble.com/Broken-pipe-td1225149.html.
If I removed the bison , then got some other error as below:
$ yacc -d -b cfg cfg.y "cfg.y", line 103: fatal: invalid escape, or illegal reserved word: expect
You can safely comment out "%expect 5" at line 103. It's just a warning killer and for some unkown reason the solaris yacc doesn't seem to like it (bison understands it and berkley yacc just ignores it). If you want to compile with this yacc version (after removing %expect from cfg.y), you would need to run something like: make config YACC=/usr/ccs/bin/yacc
Andrei
Date: Wed, 2 Jun 2010 19:51:01 +0200 From: andrei@iptel.org To: kevin.jzh@hotmail.com CC: sr-users@lists.sip-router.org Subject: Re: [SR-Users] gmake: *** [cfg.tab.h] Broken Pipe while make kamailio on solaris 10
On Jun 03, 2010 at 01:36, JinKevin kevin.jzh@hotmail.com wrote:
Date: Wed, 2 Jun 2010 16:54:26 +0200 From: andrei@iptel.org To: kevin.jzh@hotmail.com CC: sr-users@lists.sip-router.org Subject: Re: [SR-Users] gmake: *** [cfg.tab.h] Broken Pipe while make kamailio on solaris 10
On Jun 02, 2010 at 08:32, JinKevin kevin.jzh@hotmail.com wrote:
Hi Andrei,
gcc -dM -E -x c /dev/null #define __sparc__ 1
[...]
isainfo -n sparcv9
isainfo -b 64
uname -m sun4u
Now I remembered :-) The problem on sparcv9 is that you can build either sparc32 or sparc64 code. The make system tries to use the configured compiler and use its default architecture, in this case sparc32. This changed from older ser or kamailio version, where IIRC 64 bits was always used on sparcv9 (the isainfo arch was used). The change was needed for better cross-compiler support, snow leopard (boots 32 bits kernel, but gcc is configured to produce 64 bit binaries).
So if you have all the needed 64 bits libs installed, you should compile for sparc64. Either make config CC_EXTRA_OPTS=-m64 or make config ARCH=sparc64 should do it (don't forget to re-run it after any make proper).
[...]
And bison is also installed,
yacc -V
I couldn't reproduce the yacc/bison problem. For me it compiles flawlessly on an old sparcv9 (solaris 9, bison 1.875d).
Could you try running: yacc -d -b cfg cfg.y by hand and see what happens? (any error? cfg.tab.h and cfg.tab.c created?)
It just reports "Broken Pipe"
$ yacc -d -b cfg cfg.y Broken Pipe
Looks like your bison or bison package is broken. One cause might be that you don't have GNU m4 installed or it's not in the PATH (it's used by bison). See http://old.nabble.com/Broken-pipe-td1225149.html.
If I removed the bison , then got some other error as below:
$ yacc -d -b cfg cfg.y "cfg.y", line 103: fatal: invalid escape, or illegal reserved word: expect
You can safely comment out "%expect 5" at line 103. It's just a warning killer and for some unkown reason the solaris yacc doesn't seem to like it (bison understands it and berkley yacc just ignores it). If you want to compile with this yacc version (after removing %expect from cfg.y), you would need to run something like: make config YACC=/usr/ccs/bin/yacc
Andrei, Many thanks!
After comment out the "%expect 5" at line 103, it can go through the "yacc -d -b cfg cfg.y" as below:
====snip=====
gcc -g -O9 -funroll-loops -m64 -mcpu=ultrasparc -mtune=ultrasparc -Wall -DNAME='"kamailio"' -DVERSION='"3.0.2"' -DARCH='"sparc64"' -DOS='solaris_' -DOS_QUOTED='"solaris"' -DCOMPILER='"gcc 3.4.6"' -D__CPU_sparc64 -D__OS_solaris -DSER_VER=3000002 -DCFG_DIR='"/usr/local/kamailio-3.0/etc/kamailio/"' -DPKG_MALLOC -DSHM_MEM -DSHM_MMAP -DDNS_IP_HACK -DUSE_IPV6 -DUSE_MCAST -DUSE_TCP -DDISABLE_NAGLE -DHAVE_RESOLV_RES -DUSE_DNS_CACHE -DUSE_DNS_FAILOVER -DUSE_DST_BLACKLIST -DUSE_NAPTR -DF_MALLOC -DUSE_TLS -DTLS_HOOKS -DSTATISTICS -DMALLOC_STATS -DFAST_LOCK -DADAPTIVE_WAIT -DADAPTIVE_WAIT_LOOPS=1024 -DCC_GCC_LIKE_ASM -DSPARC64_MODE -DHAVE_GETIPNODEBYNAME -DHAVE_SYS_SOCKIO_H -DHAVE_SCHED_YIELD -DHAVE_ALLOCA_H -DUSE_SIGACTION -DHAVE_DEVPOLL -DHAVE_SELECT -DHAVE_FILIO_H -c cfg.tab.c -o cfg.tab.o -MMD -MP /usr/ccs/bin/yaccpar:5: warning: ignoring #pragma ident /usr/ccs/bin/yaccpar: In function `yyparse': /usr/ccs/bin/yaccpar:164: warning: label `yynewstate' defined but not used gcc -m64 -O2 action.o atomic_ops.o basex.o bit_scan.o cfg_core.o cfg_parser.o core_cmd.o crc.o daemonize.o data_lump_rpl.o data_lump.o dns_cache.o dprint.o dset.o dst_blacklist.o endianness.o error.o events.o flags.o forward.o hash_func.o id.o io_wait.o ip_addr.o local_timer.o lock_ops.o lvalue.o main.o md5.o md5utils.o mod_fix.o modparam.o msg_translator.o nonsip_hooks.o pass_fd.o proxy.o pt.o pv_core.o pvapi.o qvalue.o re.o receive.o resolve.o route_struct.o route.o rpc_lookup.o rvalue.o script_cb.o sctp_options.o sctp_server.o select_buf.o select_core.o select.o ser_stun.o shm_init.o signals.o sip_msg_clone.o socket_info.o sr_compat.o sr_module.o stats.o switch.o tcp_main.o tcp_options.o tcp_read.o timer_proc.o timer.o tls_hooks.o tsend.o udp_server.o usr_avp.o ut.o xavp.o mem/dl_malloc.o mem/f_malloc.o mem/ll_malloc.o mem/mem.o mem/memtest.o mem/q_malloc.o mem/sf_malloc.o mem/shm_mem.o parser/hf.o parser/msg_parser.o parser/parse_allow.o parser/parse_body.o parser/parse_content.o parser/parse_cseq.o parser/parse_date.o parser/parse_disposition.o parser/parse_diversion.o parser/parse_event.o parser/parse_expires.o parser/parse_fline.o parser/parse_from.o parser/parse_hname2.o parser/parse_hostport.o parser/parse_identity.o parser/parse_identityinfo.o parser/parse_methods.o parser/parse_nameaddr.o parser/parse_param.o parser/parse_refer_to.o parser/parse_retry_after.o parser/parse_rpid.o parser/parse_rr.o parser/parse_sipifmatch.o parser/parse_subscription_state.o parser/parse_to.o parser/parse_uri.o parser/parse_via.o parser/parser_f.o parser/digest/digest_parser.o parser/digest/digest.o parser/digest/param_parser.o parser/contact/contact.o parser/contact/parse_contact.o parser/sdp/sdp_helpr_funcs.o parser/sdp/sdp.o rand/fastrand.o rand/isaac/rand.o cfg/cfg_ctx.o cfg/cfg_script.o cfg/cfg_select.o cfg/cfg_struct.o cfg/cfg.o lex.yy.o cfg.tab.o -ldl -lresolv -L/usr/local/lib -lxnet -lnsl -lrt -o kamailio
====snip====
Hope this is as expected and I can go forward.
Thanks
Kevin
_________________________________________________________________ 想知道明天天气如何?必应告诉你! http://cn.bing.com/search?q=%E5%A4%A9%E6%B0%94%E9%A2%84%E6%8A%A5&form=MI...
On Thursday 03 June 2010, JinKevin wrote:
[..] /usr/ccs/bin/yaccpar:5: warning: ignoring #pragma ident /usr/ccs/bin/yaccpar: In function `yyparse': /usr/ccs/bin/yaccpar:164: wa rning: label `yynewstate' defined but not used gcc -m64 -O2 action.o atomic_ops.o basex.o bit_scan.o cfg_core.o [..] cfg.tab.o -ldl -lresolv -L/usr/local/lib - lxnet -lnsl -lrt -o kamailio Hope this is as expected and I can go forward.
Hi Kevin,
it seems that it compiled and linked now a 'kamailio' binary, so you should be able to give it a first try. The warnings above from yacc should be harmless.
Cheers,
Henning
Many thanks, Henning Yes, I have completed the compile.
I'm going on to install it but got some other issue as posted in another thread :(.
From: henning.westerholt@1und1.de To: sr-users@lists.sip-router.org Subject: Re: [SR-Users] gmake: *** [cfg.tab.h] Broken Pipe while make kamailio on solaris 10 Date: Fri, 4 Jun 2010 11:11:27 +0200 CC: kevin.jzh@hotmail.com; andrei@iptel.org
On Thursday 03 June 2010, JinKevin wrote:
[..] /usr/ccs/bin/yaccpar:5: warning: ignoring #pragma ident /usr/ccs/bin/yaccpar: In function `yyparse': /usr/ccs/bin/yaccpar:164: wa rning: label `yynewstate' defined but not used gcc -m64 -O2 action.o atomic_ops.o basex.o bit_scan.o cfg_core.o [..] cfg.tab.o -ldl -lresolv -L/usr/local/lib - lxnet -lnsl -lrt -o kamailio Hope this is as expected and I can go forward.
Hi Kevin,
it seems that it compiled and linked now a 'kamailio' binary, so you should be able to give it a first try. The warnings above from yacc should be harmless.
Cheers,
Henning
_________________________________________________________________ 想知道明天天气如何?必应告诉你! http://cn.bing.com/search?q=%E5%A4%A9%E6%B0%94%E9%A2%84%E6%8A%A5&form=MI...