Quoting Philip.Pirozhkov@ontarget-group.com: I've figured out how to fix esl rubymod build for both Ruby 1.9 and 1.8 Patch attached. BR, Phil
BR, Phil
Quoting Philip.Pirozhkov@ontarget-group.com:
Patch attached. I've removed esl_wrap.cpp here since it can always be recreated by swig.
BR, Phil
Quoting Philip.Pirozhkov@ontarget-group.com:
Ok, I screwed up a bit and forgot to call ./configure. But its output makes me sad: freeswitch]$ ./configuregit format-patch -o . 6f87ac55d6db945f7004b528ef8cb0f3e6c0c6f9 configure: error: cannot find install-sh, install.sh, or shtool in build/config "."/build/config
Ok, forget it and let's get back to libs/esl and run make rubymod
And here we go, ESL.so is finally here!
I'll generalise ruby 1.8/1.9 path configuration and will attach a patch.
BR, Phil
Quoting Philip.Pirozhkov@ontarget-group.com:
Okay, I've figured out how to point ld to these ruby libs, and the error is completely different and it's related to missing ESL.so we are referring to in these buildfiles.
So, aside from all these makefile patches:
1. Output of autoconf: freeswitch]$ autoconf configure.in:122: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body ../../lib/autoconf/lang.m4:194: AC_LANG_CONFTEST is expanded from... ../../lib/autoconf/general.m4:2591: _AC_COMPILE_IFELSE is expanded from... ../../lib/autoconf/general.m4:2607: AC_COMPILE_IFELSE is expanded from... ../../lib/m4sugar/m4sh.m4:606: AS_IF is expanded from... ../../lib/autoconf/general.m4:2032: AC_CACHE_VAL is expanded from... ../../lib/autoconf/general.m4:2053: AC_CACHE_CHECK is expanded from... configure.in:122: the top level configure.in:16: error: possibly undefined macro: AM_INIT_AUTOMAKE If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. configure.in:140: error: possibly undefined macro: AM_PROG_CC_C_O configure.in:141: error: possibly undefined macro: AC_PROG_LIBTOOL configure.in:356: error: possibly undefined macro: AM_CONDITIONAL
2. Output of automake http://pastebin.com/XFFkNxVg
Or can anybody send me an ESL.so please?
BR, Phil
Quoting Philip.Pirozhkov@ontarget-group.com:
Forgot to mention I'm using latest stable Ruby 1.9.3-p0 Seems that LOCAL_LDFLAGS is not getting what it expected to, the result is "-lpthread -lrt -ldl -lcrypt -lm", while it's expecting to get a ruby lib dir, prefix it with "-L" and go. But fixing that doesn't help also.
I've tried with Ruby 1.8.7 (with -I and -L patches to makefile only):
ruby]$ make swig -module ESL -ruby -c++ -DMULTIPLICITY -I../src/include -o esl_wrap.cpp ../ESL.i g++ -I/home/pirj/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/1.8/i686-linux -I../src/include -c esl_wrap.cpp -o esl_wrap.o g++ esl_wrap.o -L/home/pirj/.rvm/rubies/ruby-1.8.7-p352/lib -o ESL.so -L. /usr/lib/gcc/i686-pc-linux-gnu/4.7.0/../../../crt1.o: In function `_start': (.text+0x18): undefined reference to `main' esl_wrap.o: In function `rb_class_of': esl_wrap.cpp:(.text+0x9e3): undefined reference to `rb_cFixnum' esl_wrap.cpp:(.text+0x9f0): undefined reference to `rb_cNilClass' esl_wrap.cpp:(.text+0x9fd): undefined reference to `rb_cFalseClass' ...
P.S. ArchLinux, kernel 3.2.14, gcc 4.7.0, SWIG 2.0.4, ld 2.22.0
Any hints?
BR, Phil
Quoting Philip.Pirozhkov@ontarget-group.com:
Hi all,
Trying to build ruby and lua extensions from freeswitch/libs/esl: lua]$ make g++ -Wno-unused-function -c esl_wrap.cpp -o esl_wrap.o esl_wrap.cpp:1510:17: fatal error: esl.h: No such file or directory compilation terminated. make: *** [esl_wrap.o] Error 1
this can be fixed adding -I../src/include to esl_wrap.o task
but has ld error then: lua]$ make g++ -Wno-unused-function -I../src/include -c esl_wrap.cpp -o esl_wrap.o g++ esl_wrap.o -llua -lpthread -o ESL.so -L. /usr/lib/gcc/i686-pc-linux-gnu/4.7.0/../../../crt1.o: In function `_start': (.text+0x18): undefined reference to `main' esl_wrap.o: In function `_wrap_new_ESLevent__SWIG_0': esl_wrap.cpp:(.text+0x3974): undefined reference to `ESLevent::ESLevent(char const*, char const*)' esl_wrap.o: In function `_wrap_new_ESLevent__SWIG_1': ... (tl;dr)
Same with ruby (even worse), it was failing to find ruby.h and ruby/config.h. I got make esl_wrap.cpp task fixed http://pastebin.com/uKFBZVF3
but there's an ld error again:
$ make g++ esl_wrap.o -lpthread -lrt -ldl -lcrypt -lm -L. -rdynamic -Wl,-export-dynamic -o ESL.so -L. /usr/lib/gcc/i686-pc-linux-gnu/4.7.0/../../../crt1.o: In function `_start': (.text+0x18): undefined reference to `main' esl_wrap.o: In function `rb_class_of': esl_wrap.cpp:(.text+0x9ed): undefined reference to `rb_cFixnum' esl_wrap.cpp:(.text+0x9fa): undefined reference to `rb_cTrueClass'
Anyone successful with this stuff? I'm not experienced with GCC stuff at all. It would be very nice to pack this Ruby ESL to a gem (ruby package manager).
BR, Phil
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
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