[Freeswitch-dev] Issues building freeswitch (git-co) on Nexenta CP3
Hi, Having run away from OpenSolaris (but not too far) I've recently migrated to Nexenta and had a go at building / running FreeSWITCH. I run a few low-throughput SIP-based projects and have thus far been running Asterisk (is that a dirty word in these parts?) on a Debian VM which horribly exploded when I tried to build on nexenta. Not being much of a fan of Asterisk, I decided to give FS a go. For reference, my git repo HEAD is at 6cdd3e2a2e4677b061b9fbb9ee516fae9601cd16. It wasn't a clean build, per se, but I managed it with a couple of compile non-default switches and a slight hack that I figured I'd offer back for comment / improvement; * configure guessed my platform as "i386-pc-solaris2.11" which caused a multitude of issues, principally bad linker behaviour meaning the libtool libraries failed with gcc complaining about bad file format (or something along those lines) for the generated .lo files half way through the build, as well as some atomic lock symbols missing from the c-library which I believe are emulated in libraries for i386 processors, but present on the amd64 host. (not an expert on these things). These were fixed (after a while picking through non-obvious errors) by simply adding the configure arg --build=amd64-pc-solaris5.11 Apologies if this is obvious to some, but it wasn't to me and took a while to figure out. * a couple of modules wouldn't build cleanly but because I didn't require them I just commented them out from modules.conf. Trying to be useful I tried to build as many as I could and ended up with these modules removed: #applications/mod_osp #applications/mod_hash #applications/mod_spandsp #applications/mod_memcache #codecs/mod_sangoma_codec #codecs/mod_dahdi_codec ##directories/mod_ldap #endpoints/mod_dingaling ##endpoints/mod_portaudio #endpoints/mod_loopback ##endpoints/mod_alsa ##endpoints/mod_opal ##endpoints/mod_skinny ##endpoints/mod_skypopen #endpoints/mod_h323 ##../../libs/openzap/mod_openzap ##../../libs/freetdm/mod_freetdm #asr_tts/mod_unimrcp #asr_tts/mod_flite #asr_tts/mod_pocketsphinx #asr_tts/mod_cepstral ##asr_tts/mod_tts_commandline #event_handlers/mod_erlang_event #formats/mod_portaudio_stream #languages/mod_python #languages/mod_spidermonkey #languages/mod_perl #languages/mod_java #languages/mod_managed #xml_int/mod_xml_ldap I believe a lot of these were simply missing 3rd party libraries but, since I didn't need them, I didn't spend much time working it out. I can do this if anyone is particularly interested. * I had a couple of missing symbols (herror was one) which was simply resolved by adding LDFLAGS='-lresolv' to the configure command * I had some issue with compiler warnings complaining about C-standards (don't have the error to hand), but I sorted this by simply adding CFLAGS='-fgnu89-inline', again to the configure. * The only other fix was a missing definition for strcasecmp, which I struggled to sort the problem as <strings.h> was included in the appropriate files. I'm a little ashamed to say that I sorted this out by simply adding these library prototypes (lifted from strings.h) to libs/esl/src/include/esl.h: extern int ffs(int); extern int strcasecmp(const char *, const char *); extern int strncasecmp(const char *, const char *, size_t); After this the build proceeded (after quite some time) without issue and installed (and ran) fine. If anyone wants the specific errors in each case, I'll run through a build and try to reproduce and also file a bug if this is appropriate. Now to figure out the Freeswitch configuration :) Thomas.
On Tue, Aug 31, 2010 at 4:44 AM, Thomas Haggett <lists@haggett.org> wrote:
* a couple of modules wouldn't build cleanly but because I didn't require them I just commented them out from modules.conf. Trying to be useful I tried to build as many as I could and ended up with these modules removed:
#applications/mod_hash #applications/mod_spandsp
Both of these modules are pretty important. spandsp gives you lots of codecs. hash is used in the default dialplan. I can't help with spandsp, but could you give me the errors you get when mod_hash is included? -- -Rupa
Hi, Just re-compiled with hash enabled and got this build error (it was the C99 failure, it turns out); making all mod_hash In file included from /usr/include/time.h:35, from /root/freeswitch/libs/esl/src/include/esl.h:159, from src/esl.c:34: /usr/include/sys/feature_tests.h:357:2: error: #error "Compiler or options invalid; UNIX 03 and POSIX.1-2001 applications require the use of c99" make[5]: *** [src/esl.o] Error 1 make[4]: *** [/root/freeswitch/libs/esl/libesl.so] Error 2 make[3]: *** [mod_hash-all] Error 1 make[2]: *** [all-recursive] Error 1 and mod_spandsp causes these errors; cd /root/freeswitch/libs/spandsp && make -j1 make[1]: Entering directory `/root/freeswitch/libs/spandsp' Making all in src make[2]: Entering directory `/root/freeswitch/libs/spandsp/src' make all-am make[3]: Entering directory `/root/freeswitch/libs/spandsp/src' gcc -o make_modem_filter ../src/make_modem_filter.c ../src/filter_tools.c -DHAVE_CONFIG_H -I../src -lm /var/tmp//ccpvaWbv.o: In function `make_tx_filter': make_modem_filter.c:(.text+0x131): undefined reference to `__tgmath_fabs' make_modem_filter.c:(.text+0x159): undefined reference to `__tgmath_fabs' /var/tmp//ccpvaWbv.o: In function `make_rx_filter': make_modem_filter.c:(.text+0x582): undefined reference to `__tgmath_fabs' make_modem_filter.c:(.text+0x5aa): undefined reference to `__tgmath_fabs' make_modem_filter.c:(.text+0x726): undefined reference to `__tgmath_cos' make_modem_filter.c:(.text+0x761): undefined reference to `__tgmath_sin' /var/tmp//ccqvaWbv.o: In function `expj': filter_tools.c:(.text+0x3a5): undefined reference to `__tgmath_sin' filter_tools.c:(.text+0x3bb): undefined reference to `__tgmath_cos' /var/tmp//ccqvaWbv.o: In function `compute_raised_cosine_filter': filter_tools.c:(.text+0x542): undefined reference to `__tgmath_cos' filter_tools.c:(.text+0x634): undefined reference to `__tgmath_sqrt' filter_tools.c:(.text+0x6a5): undefined reference to `__tgmath_sin' /var/tmp//ccqvaWbv.o: In function `apply_hamming_window': filter_tools.c:(.text+0x8b8): undefined reference to `__tgmath_cos' /var/tmp//ccqvaWbv.o: In function `truncate_coeffs': filter_tools.c:(.text+0x94b): undefined reference to `__tgmath_pow' /var/tmp//ccqvaWbv.o: In function `fix': filter_tools.c:(.text+0xa29): undefined reference to `__tgmath_floor' filter_tools.c:(.text+0xa47): undefined reference to `__tgmath_floor' collect2: ld returned 1 exit status make[3]: *** [make_modem_filter] Error 1 make[3]: Leaving directory `/root/freeswitch/libs/spandsp/src' make[2]: *** [all] Error 2 make[2]: Leaving directory `/root/freeswitch/libs/spandsp/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/root/freeswitch/libs/spandsp' make: *** [/root/freeswitch/libs/spandsp/src/libspandsp.la] Error 2 As I say, I have a working build without these modules and that seemed easier than investigating what header files / libraries were and were not present. Cheers, Thomas. On 31 Aug 2010, at 16:28, Rupa Schomaker wrote:
On Tue, Aug 31, 2010 at 4:44 AM, Thomas Haggett <lists@haggett.org> wrote: * a couple of modules wouldn't build cleanly but because I didn't require them I just commented them out from modules.conf. Trying to be useful I tried to build as many as I could and ended up with these modules removed: #applications/mod_hash #applications/mod_spandsp
Both of these modules are pretty important.
spandsp gives you lots of codecs.
hash is used in the default dialplan.
I can't help with spandsp, but could you give me the errors you get when mod_hash is included?
-- -Rupa _______________________________________________ FreeSWITCH-dev mailing list FreeSWITCH-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
Ok, esl issue. I'll pass on trying to fix that. On Tue, Aug 31, 2010 at 10:54 AM, Thomas Haggett <lists@haggett.org> wrote:
Just re-compiled with hash enabled and got this build error (it was the C99 failure, it turns out);
making all mod_hash In file included from /usr/include/time.h:35, from /root/freeswitch/libs/esl/src/include/esl.h:159, from src/esl.c:34: /usr/include/sys/feature_tests.h:357:2: error: #error "Compiler or options invalid; UNIX 03 and POSIX.1-2001 applications require the use of c99" make[5]: *** [src/esl.o] Error 1 make[4]: *** [/root/freeswitch/libs/esl/libesl.so] Error 2 make[3]: *** [mod_hash-all] Error 1 make[2]: *** [all-recursive] Error 1
-- -Rupa
Asterisk is not a dirty word here. Many people use it still. Not my favorite VoIP app but definitely a pioneer in the industry. On Tue, Aug 31, 2010 at 4:44 AM, Thomas Haggett <lists@haggett.org> wrote:
Hi, Having run away from OpenSolaris (but not too far) I've recently migrated to Nexenta and had a go at building / running FreeSWITCH. I run a few low-throughput SIP-based projects and have thus far been running Asterisk (is that a dirty word in these parts?) on a Debian VM which horribly exploded when I tried to build on nexenta. Not being much of a fan of Asterisk, I decided to give FS a go. For reference, my git repo HEAD is at 6cdd3e2a2e4677b061b9fbb9ee516fae9601cd16. It wasn't a clean build, per se, but I managed it with a couple of compile non-default switches and a slight hack that I figured I'd offer back for comment / improvement; * configure guessed my platform as "i386-pc-solaris2.11" which caused a multitude of issues, principally bad linker behaviour meaning the libtool libraries failed with gcc complaining about bad file format (or something along those lines) for the generated .lo files half way through the build, as well as some atomic lock symbols missing from the c-library which I believe are emulated in libraries for i386 processors, but present on the amd64 host. (not an expert on these things). These were fixed (after a while picking through non-obvious errors) by simply adding the configure arg --build=amd64-pc-solaris5.11 Apologies if this is obvious to some, but it wasn't to me and took a while to figure out. * a couple of modules wouldn't build cleanly but because I didn't require them I just commented them out from modules.conf. Trying to be useful I tried to build as many as I could and ended up with these modules removed:
#applications/mod_osp #applications/mod_hash #applications/mod_spandsp #applications/mod_memcache #codecs/mod_sangoma_codec #codecs/mod_dahdi_codec ##directories/mod_ldap #endpoints/mod_dingaling ##endpoints/mod_portaudio #endpoints/mod_loopback ##endpoints/mod_alsa ##endpoints/mod_opal ##endpoints/mod_skinny ##endpoints/mod_skypopen #endpoints/mod_h323 ##../../libs/openzap/mod_openzap ##../../libs/freetdm/mod_freetdm #asr_tts/mod_unimrcp #asr_tts/mod_flite #asr_tts/mod_pocketsphinx #asr_tts/mod_cepstral ##asr_tts/mod_tts_commandline #event_handlers/mod_erlang_event #formats/mod_portaudio_stream #languages/mod_python #languages/mod_spidermonkey #languages/mod_perl #languages/mod_java #languages/mod_managed #xml_int/mod_xml_ldap
I believe a lot of these were simply missing 3rd party libraries but, since I didn't need them, I didn't spend much time working it out. I can do this if anyone is particularly interested. * I had a couple of missing symbols (herror was one) which was simply resolved by adding LDFLAGS='-lresolv' to the configure command * I had some issue with compiler warnings complaining about C-standards (don't have the error to hand), but I sorted this by simply adding CFLAGS='-fgnu89-inline', again to the configure. * The only other fix was a missing definition for strcasecmp, which I struggled to sort the problem as <strings.h> was included in the appropriate files. I'm a little ashamed to say that I sorted this out by simply adding these library prototypes (lifted from strings.h) to libs/esl/src/include/esl.h:
extern int ffs(int); extern int strcasecmp(const char *, const char *); extern int strncasecmp(const char *, const char *, size_t);
After this the build proceeded (after quite some time) without issue and installed (and ran) fine. If anyone wants the specific errors in each case, I'll run through a build and try to reproduce and also file a bug if this is appropriate. Now to figure out the Freeswitch configuration :) Thomas.
_______________________________________________ FreeSWITCH-dev mailing list FreeSWITCH-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale@hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org googletalk:conf+888@conference.freeswitch.org pstn:+19193869900
'twas a joke :) (not asterisk, the comment.) I've had years of faithful service (albeit with small-ish projects) and lots of fun playing around with it's many features. Freeswitch does, however, feel much cleaner and seems to be much easier to manage, even with my limited experience of it thus far. Apologies if anyone took offence (my British humour to blame, obviously...) Thomas. On 31 Aug 2010, at 17:04, Anthony Minessale wrote:
Asterisk is not a dirty word here. Many people use it still. Not my favorite VoIP app but definitely a pioneer in the industry.
On Tue, Aug 31, 2010 at 4:44 AM, Thomas Haggett <lists@haggett.org> wrote:
Hi, Having run away from OpenSolaris (but not too far) I've recently migrated to Nexenta and had a go at building / running FreeSWITCH. I run a few low-throughput SIP-based projects and have thus far been running Asterisk (is that a dirty word in these parts?) on a Debian VM which horribly exploded when I tried to build on nexenta. Not being much of a fan of Asterisk, I decided to give FS a go. For reference, my git repo HEAD is at 6cdd3e2a2e4677b061b9fbb9ee516fae9601cd16. It wasn't a clean build, per se, but I managed it with a couple of compile non-default switches and a slight hack that I figured I'd offer back for comment / improvement; * configure guessed my platform as "i386-pc-solaris2.11" which caused a multitude of issues, principally bad linker behaviour meaning the libtool libraries failed with gcc complaining about bad file format (or something along those lines) for the generated .lo files half way through the build, as well as some atomic lock symbols missing from the c-library which I believe are emulated in libraries for i386 processors, but present on the amd64 host. (not an expert on these things). These were fixed (after a while picking through non-obvious errors) by simply adding the configure arg --build=amd64-pc-solaris5.11 Apologies if this is obvious to some, but it wasn't to me and took a while to figure out. * a couple of modules wouldn't build cleanly but because I didn't require them I just commented them out from modules.conf. Trying to be useful I tried to build as many as I could and ended up with these modules removed:
#applications/mod_osp #applications/mod_hash #applications/mod_spandsp #applications/mod_memcache #codecs/mod_sangoma_codec #codecs/mod_dahdi_codec ##directories/mod_ldap #endpoints/mod_dingaling ##endpoints/mod_portaudio #endpoints/mod_loopback ##endpoints/mod_alsa ##endpoints/mod_opal ##endpoints/mod_skinny ##endpoints/mod_skypopen #endpoints/mod_h323 ##../../libs/openzap/mod_openzap ##../../libs/freetdm/mod_freetdm #asr_tts/mod_unimrcp #asr_tts/mod_flite #asr_tts/mod_pocketsphinx #asr_tts/mod_cepstral ##asr_tts/mod_tts_commandline #event_handlers/mod_erlang_event #formats/mod_portaudio_stream #languages/mod_python #languages/mod_spidermonkey #languages/mod_perl #languages/mod_java #languages/mod_managed #xml_int/mod_xml_ldap
I believe a lot of these were simply missing 3rd party libraries but, since I didn't need them, I didn't spend much time working it out. I can do this if anyone is particularly interested. * I had a couple of missing symbols (herror was one) which was simply resolved by adding LDFLAGS='-lresolv' to the configure command * I had some issue with compiler warnings complaining about C-standards (don't have the error to hand), but I sorted this by simply adding CFLAGS='-fgnu89-inline', again to the configure. * The only other fix was a missing definition for strcasecmp, which I struggled to sort the problem as <strings.h> was included in the appropriate files. I'm a little ashamed to say that I sorted this out by simply adding these library prototypes (lifted from strings.h) to libs/esl/src/include/esl.h:
extern int ffs(int); extern int strcasecmp(const char *, const char *); extern int strncasecmp(const char *, const char *, size_t);
After this the build proceeded (after quite some time) without issue and installed (and ran) fine. If anyone wants the specific errors in each case, I'll run through a build and try to reproduce and also file a bug if this is appropriate. Now to figure out the Freeswitch configuration :) Thomas.
_______________________________________________ FreeSWITCH-dev mailing list FreeSWITCH-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm MSN:anthony_minessale@hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org googletalk:conf+888@conference.freeswitch.org pstn:+19193869900
_______________________________________________ FreeSWITCH-dev mailing list FreeSWITCH-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
I highly doubt anyone took offense =p I just waned to be a good neighbor lol However, I doubt you'll get the same sentiment if you ask their mailing list about us =D On Tue, Aug 31, 2010 at 11:14 AM, Thomas Haggett <lists@haggett.org> wrote:
'twas a joke :) (not asterisk, the comment.)
I've had years of faithful service (albeit with small-ish projects) and lots of fun playing around with it's many features. Freeswitch does, however, feel much cleaner and seems to be much easier to manage, even with my limited experience of it thus far.
Apologies if anyone took offence (my British humour to blame, obviously...)
Thomas.
On 31 Aug 2010, at 17:04, Anthony Minessale wrote:
Asterisk is not a dirty word here. Many people use it still. Not my favorite VoIP app but definitely a pioneer in the industry.
On Tue, Aug 31, 2010 at 4:44 AM, Thomas Haggett <lists@haggett.org> wrote:
Hi, Having run away from OpenSolaris (but not too far) I've recently migrated to Nexenta and had a go at building / running FreeSWITCH. I run a few low-throughput SIP-based projects and have thus far been running Asterisk (is that a dirty word in these parts?) on a Debian VM which horribly exploded when I tried to build on nexenta. Not being much of a fan of Asterisk, I decided to give FS a go. For reference, my git repo HEAD is at 6cdd3e2a2e4677b061b9fbb9ee516fae9601cd16. It wasn't a clean build, per se, but I managed it with a couple of compile non-default switches and a slight hack that I figured I'd offer back for comment / improvement; * configure guessed my platform as "i386-pc-solaris2.11" which caused a multitude of issues, principally bad linker behaviour meaning the libtool libraries failed with gcc complaining about bad file format (or something along those lines) for the generated .lo files half way through the build, as well as some atomic lock symbols missing from the c-library which I believe are emulated in libraries for i386 processors, but present on the amd64 host. (not an expert on these things). These were fixed (after a while picking through non-obvious errors) by simply adding the configure arg --build=amd64-pc-solaris5.11 Apologies if this is obvious to some, but it wasn't to me and took a while to figure out. * a couple of modules wouldn't build cleanly but because I didn't require them I just commented them out from modules.conf. Trying to be useful I tried to build as many as I could and ended up with these modules removed:
#applications/mod_osp #applications/mod_hash #applications/mod_spandsp #applications/mod_memcache #codecs/mod_sangoma_codec #codecs/mod_dahdi_codec ##directories/mod_ldap #endpoints/mod_dingaling ##endpoints/mod_portaudio #endpoints/mod_loopback ##endpoints/mod_alsa ##endpoints/mod_opal ##endpoints/mod_skinny ##endpoints/mod_skypopen #endpoints/mod_h323 ##../../libs/openzap/mod_openzap ##../../libs/freetdm/mod_freetdm #asr_tts/mod_unimrcp #asr_tts/mod_flite #asr_tts/mod_pocketsphinx #asr_tts/mod_cepstral ##asr_tts/mod_tts_commandline #event_handlers/mod_erlang_event #formats/mod_portaudio_stream #languages/mod_python #languages/mod_spidermonkey #languages/mod_perl #languages/mod_java #languages/mod_managed #xml_int/mod_xml_ldap
I believe a lot of these were simply missing 3rd party libraries but, since I didn't need them, I didn't spend much time working it out. I can do this if anyone is particularly interested. * I had a couple of missing symbols (herror was one) which was simply resolved by adding LDFLAGS='-lresolv' to the configure command * I had some issue with compiler warnings complaining about C-standards (don't have the error to hand), but I sorted this by simply adding CFLAGS='-fgnu89-inline', again to the configure. * The only other fix was a missing definition for strcasecmp, which I struggled to sort the problem as <strings.h> was included in the appropriate files. I'm a little ashamed to say that I sorted this out by simply adding these library prototypes (lifted from strings.h) to libs/esl/src/include/esl.h:
extern int ffs(int); extern int strcasecmp(const char *, const char *); extern int strncasecmp(const char *, const char *, size_t);
After this the build proceeded (after quite some time) without issue and installed (and ran) fine. If anyone wants the specific errors in each case, I'll run through a build and try to reproduce and also file a bug if this is appropriate. Now to figure out the Freeswitch configuration :) Thomas.
_______________________________________________ FreeSWITCH-dev mailing list FreeSWITCH-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm MSN:anthony_minessale@hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org googletalk:conf+888@conference.freeswitch.org pstn:+19193869900
_______________________________________________ FreeSWITCH-dev mailing list FreeSWITCH-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
_______________________________________________ FreeSWITCH-dev mailing list FreeSWITCH-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale@hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org googletalk:conf+888@conference.freeswitch.org pstn:+19193869900
Hello, On Tue, Aug 31, 2010 at 11:44 AM, Thomas Haggett <lists@haggett.org> wrote: ...
##endpoints/mod_skinny Do you still have the issue on mod_skinny? If so, can you please provide the build log?
Thanks Mathieu Parent
participants (4)
-
Anthony Minessale
-
Mathieu Parent
-
Rupa Schomaker
-
Thomas Haggett