Anthony, Eureka! Thank you, that fixed the issue. It built successfully. Jonathan On Mon, May 26, 2008 at 10:31 AM, Anthony Minessale < anthony.minessale@gmail.com> wrote:
I know what it is now,
swig for java appears to put stuff into new files. I had to add the files to SVN so you would have them too..
please update and try now
On Mon, May 26, 2008 at 12:05 PM, jonathan augenstine < jaugenstine@gmail.com> wrote:
Anthony,
I think I must be doing something else incorrectly. I deleted all previous downloads of Freeswitch. I then downloaded the latest trunk, ran bootstrap.sh, executed configure, and executed make to verify that freeswitch would build. That all went successfully. I then edited modules.conf, added the Java module, and exe make. It failed again. I must be doing something incorrectly. I have put my history below with some notes and the output when Java build failed.
On my previous attempts, I was able to resolve the "class Event" (-- cannot find symbol) by adding an import statement to CoreSession.java and freeswitchJNI.java. But I was uncertain how to handle the IVRMenu, API, and Stream. I see them in the *.cpp code but how do I import them? Or is that even the issue. I suspect I am doing something else wrong and overcomplicating the solution.
Jonathan
307 rm -rf freeswitch 308 ls 309 rm -rf fs_8572 310 ls 311 ls -al 312 cat test 313 rm test 314 ls 315 svn co http://svn.freeswitch.org/svn/freeswitch/trunk freeswitch 316 cd freeswitch 317 ls 318 ./bootstrap.sh 319 ls /usr/java 320 ls 321 ./configure --with-java=/usr/java/jdk1.5.0_15 322 make 323 vi modules.cnf 324 vi modules.conf NOTE ==> (I added languages/mod_java) 325 make NOTE ==> this fails and the output is below 326 history
making all mod_java src/org/freeswitch/swig/CoreSession.java:236: cannot find symbol symbol : class Event location: class org.freeswitch.swig.CoreSession public void sendEvent(Event sendME) { ^ src/org/freeswitch/swig/CoreSession.java:240: cannot find symbol symbol : class Event location: class org.freeswitch.swig.CoreSession public void setEventData(Event e) { ^ src/org/freeswitch/swig/freeswitchJNI.java:14: cannot find symbol symbol : class IVRMenu location: class org.freeswitch.swig.freeswitchJNI public final static native long new_IVRMenu(long jarg1, IVRMenu jarg1_, String jarg2, String jarg3, String jarg4, String jarg5, String jarg6, String jarg7, String jarg8, int jarg9, int jarg10, int jarg11, int jarg12, int jarg13); ^ src/org/freeswitch/swig/freeswitchJNI.java:16: cannot find symbol symbol : class IVRMenu location: class org.freeswitch.swig.freeswitchJNI public final static native void IVRMenu_bindAction(long jarg1, IVRMenu jarg1_, String jarg2, String jarg3, String jarg4); ^ src/org/freeswitch/swig/freeswitchJNI.java:17: cannot find symbol symbol : class IVRMenu location: class org.freeswitch.swig.freeswitchJNI public final static native void IVRMenu_execute(long jarg1, IVRMenu jarg1_, long jarg2, CoreSession jarg2_, String jarg3); ^ src/org/freeswitch/swig/freeswitchJNI.java:20: cannot find symbol symbol : class API location: class org.freeswitch.swig.freeswitchJNI public final static native String API_execute(long jarg1, API jarg1_, String jarg2, String jarg3); ^ src/org/freeswitch/swig/freeswitchJNI.java:21: cannot find symbol symbol : class API location: class org.freeswitch.swig.freeswitchJNI public final static native String API_executeString(long jarg1, API jarg1_, String jarg2); ^ src/org/freeswitch/swig/freeswitchJNI.java:38: cannot find symbol symbol : class Stream location: class org.freeswitch.swig.freeswitchJNI public final static native void Stream_write(long jarg1, Stream jarg1_, String jarg2); ^ src/org/freeswitch/swig/freeswitchJNI.java:39: cannot find symbol symbol : class Stream location: class org.freeswitch.swig.freeswitchJNI public final static native String Stream_get_data(long jarg1, Stream jarg1_); ^ src/org/freeswitch/swig/freeswitchJNI.java:40: cannot find symbol symbol : class Event location: class org.freeswitch.swig.freeswitchJNI public final static native void Event_event_set(long jarg1, Event jarg1_, long jarg2); ^ src/org/freeswitch/swig/freeswitchJNI.java:41: cannot find symbol symbol : class Event location: class org.freeswitch.swig.freeswitchJNI public final static native long Event_event_get(long jarg1, Event jarg1_); ^ src/org/freeswitch/swig/freeswitchJNI.java:42: cannot find symbol symbol : class Event location: class org.freeswitch.swig.freeswitchJNI public final static native void Event_serialized_string_set(long jarg1, Event jarg1_, String jarg2);
^ src/org/freeswitch/swig/freeswitchJNI.java:43: cannot find symbol symbol : class Event location: class org.freeswitch.swig.freeswitchJNI public final static native String Event_serialized_string_get(long jarg1, Event jarg1_);
^ src/org/freeswitch/swig/freeswitchJNI.java:44: cannot find symbol symbol : class Event location: class org.freeswitch.swig.freeswitchJNI public final static native void Event_mine_set(long jarg1, Event jarg1_, int jarg2); ^ src/org/freeswitch/swig/freeswitchJNI.java:45: cannot find symbol symbol : class Event location: class org.freeswitch.swig.freeswitchJNI public final static native int Event_mine_get(long jarg1, Event jarg1_); ^ src/org/freeswitch/swig/freeswitchJNI.java:51: cannot find symbol symbol : class Event location: class org.freeswitch.swig.freeswitchJNI public final static native String Event_serialize__SWIG_0(long jarg1, Event jarg1_, String jarg2); ^ src/org/freeswitch/swig/freeswitchJNI.java:52: cannot find symbol symbol : class Event location: class org.freeswitch.swig.freeswitchJNI public final static native String Event_serialize__SWIG_1(long jarg1, Event jarg1_); ^ src/org/freeswitch/swig/freeswitchJNI.java:53: cannot find symbol symbol : class Event location: class org.freeswitch.swig.freeswitchJNI public final static native boolean Event_setPriority__SWIG_0(long jarg1, Event jarg1_, long jarg2);
^ src/org/freeswitch/swig/freeswitchJNI.java:54: cannot find symbol symbol : class Event location: class org.freeswitch.swig.freeswitchJNI public final static native boolean Event_setPriority__SWIG_1(long jarg1, Event jarg1_);
^ src/org/freeswitch/swig/freeswitchJNI.java:55: cannot find symbol symbol : class Event location: class org.freeswitch.swig.freeswitchJNI public final static native String Event_getHeader(long jarg1, Event jarg1_, String jarg2); ^ src/org/freeswitch/swig/freeswitchJNI.java:56: cannot find symbol symbol : class Event location: class org.freeswitch.swig.freeswitchJNI public final static native String Event_getBody(long jarg1, Event jarg1_); ^ src/org/freeswitch/swig/freeswitchJNI.java:57: cannot find symbol symbol : class Event location: class org.freeswitch.swig.freeswitchJNI public final static native String Event_getType(long jarg1, Event jarg1_); ^ src/org/freeswitch/swig/freeswitchJNI.java:58: cannot find symbol symbol : class Event location: class org.freeswitch.swig.freeswitchJNI public final static native boolean Event_addBody(long jarg1, Event jarg1_, String jarg2); ^ src/org/freeswitch/swig/freeswitchJNI.java:59: cannot find symbol symbol : class Event location: class org.freeswitch.swig.freeswitchJNI public final static native boolean Event_addHeader(long jarg1, Event jarg1_, String jarg2, String jarg3); ^ src/org/freeswitch/swig/freeswitchJNI.java:60: cannot find symbol symbol : class Event location: class org.freeswitch.swig.freeswitchJNI public final static native boolean Event_delHeader(long jarg1, Event jarg1_, String jarg2); ^ src/org/freeswitch/swig/freeswitchJNI.java:61: cannot find symbol symbol : class Event location: class org.freeswitch.swig.freeswitchJNI public final static native boolean Event_fire(long jarg1, Event jarg1_); ^ src/org/freeswitch/swig/freeswitchJNI.java:112: cannot find symbol symbol : class Event location: class org.freeswitch.swig.freeswitchJNI public final static native void CoreSession_sendEvent(long jarg1, CoreSession jarg1_, long jarg2, Event jarg2_);
^ src/org/freeswitch/swig/freeswitchJNI.java:113: cannot find symbol symbol : class Event location: class org.freeswitch.swig.freeswitchJNI public final static native void CoreSession_setEventData(long jarg1, CoreSession jarg1_, long jarg2, Event jarg2_);
^ src/org/freeswitch/swig/CoreSession.java:237: cannot find symbol symbol : variable Event location: class org.freeswitch.swig.CoreSession freeswitchJNI.CoreSession_sendEvent(swigCPtr, this, Event.getCPtr(sendME), sendME); ^ src/org/freeswitch/swig/CoreSession.java:241: cannot find symbol symbol : variable Event location: class org.freeswitch.swig.CoreSession freeswitchJNI.CoreSession_setEventData(swigCPtr, this, Event.getCPtr(e), e); ^ 30 errors make[5]: *** [local_depend] Error 1 make[4]: *** [all] Error 1 make[3]: *** [mod_java-all] Error 1 make[2]: *** [all-recursive] Error 1 Making all in build +-------- FreeSWITCH Build Complete -----------+ + FreeSWITCH has been successfully built. + + Install by running: + + + + make install + +----------------------------------------------+ make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2
On Mon, May 26, 2008 at 8:11 AM, Anthony Minessale < anthony.minessale@gmail.com> wrote:
Jonathan, With current trunk, (soon to be 1.0.0) I was able to compile and load the module. All of the symbols you showed to be missing were new ones I had added to tree so I am wondering if you are still somehow out of date.
Damjan,
I have been working on the cpp wrapper and I have it working for Perl and Lua and someone has it working for MONO too. The earlier issues you had with the dtmf buffer was due to over-exposing some of the C api that was meant to keep internal.
I think if you work with us we can make all the languages share the same wrapped C++ code to ensure that only the API intended to be used is exposed.
On Sun, May 25, 2008 at 11:53 PM, <damjan@ecntelecoms.com> wrote:
X-ECN Telecoms-MailScanner-Information: Contact ECN Telecoms X-ECN Telecoms-MailScanner: Found to be clean X-ECN Telecoms-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=-101.539, required 6, autolearn=not spam, AWL 1.06, BAYES_00 -2.60, NO_RELAYS -0.00, USER_IN_WHITELIST -100.00) X-ECN Telecoms-MailScanner-From: damjan@ecntelecoms.com X-Spam-Status: No
Right, ditch mod_java from 1.0 and let me rewrite it for future releases.
Bye Damjan
I have been successful in resolving a few of the issues. However, I am still encountering some and I am unable to locate class definitions for IVRMenu, API, and Stream. Is this linked to the swig? Any ideas on how to resolve the following?:
Jonathan
[admin@plumble1 mod_java]$ javac -classpath classes -sourcepath src -d classes src/org/freeswitch/swig/CoreSession.java src/org/freeswitch/swig/freeswitchJNI.java:16: cannot find symbol symbol : class IVRMenu location: class org.freeswitch.swig.freeswitchJNI public final static native long new_IVRMenu(long jarg1, IVRMenu jarg1_, String jarg2, String jarg3, String jarg4, String jarg5, String jarg6, String jarg7, String jarg8, int jarg9, int jarg10, int jarg11, int jarg12, int jarg13); ^ src/org/freeswitch/swig/freeswitchJNI.java:18: cannot find symbol symbol : class IVRMenu location: class org.freeswitch.swig.freeswitchJNI public final static native void IVRMenu_bindAction(long jarg1, IVRMenu jarg1_, String jarg2, String jarg3, String jarg4); ^ src/org/freeswitch/swig/freeswitchJNI.java:19: cannot find symbol symbol : class IVRMenu location: class org.freeswitch.swig.freeswitchJNI public final static native void IVRMenu_execute(long jarg1, IVRMenu jarg1_, long jarg2, CoreSession jarg2_, String jarg3); ^ src/org/freeswitch/swig/freeswitchJNI.java:22: cannot find symbol symbol : class API location: class org.freeswitch.swig.freeswitchJNI public final static native String API_execute(long jarg1, API jarg1_, String jarg2, String jarg3); ^ src/org/freeswitch/swig/freeswitchJNI.java:23: cannot find symbol symbol : class API location: class org.freeswitch.swig.freeswitchJNI public final static native String API_executeString(long jarg1, API jarg1_, String jarg2); ^ src/org/freeswitch/swig/freeswitchJNI.java:40: cannot find symbol symbol : class Stream location: class org.freeswitch.swig.freeswitchJNI public final static native void Stream_write(long jarg1, Stream jarg1_, String jarg2); ^ src/org/freeswitch/swig/freeswitchJNI.java:41: cannot find symbol symbol : class Stream location: class org.freeswitch.swig.freeswitchJNI public final static native String Stream_get_data(long jarg1, Stream jarg1_); ^ src/org/freeswitch/swig/CoreSession.java:239: cannot find symbol symbol : method getCPtr(org.freeswitch.Event) location: class org.freeswitch.Event freeswitchJNI.CoreSession_sendEvent(swigCPtr, this, Event.getCPtr(sendME), sendME); ^ src/org/freeswitch/swig/CoreSession.java:243: cannot find symbol symbol : method getCPtr(org.freeswitch.Event) location: class org.freeswitch.Event freeswitchJNI.CoreSession_setEventData(swigCPtr, this, Event.getCPtr(e), e);
On Fri, May 23, 2008 at 8:27 PM, jonathan augenstine <jaugenstine@gmail.com> wrote:
I grabbed the latest trunk version - 8572 the performed the following:
- bootstrap.sh - configure --with-java=/path - modify the modules.conf to include mod_java - make
It failed with the same errors.
Jonathan
On Fri, May 23, 2008 at 1:25 PM, Anthony Minessale < anthony.minessale@gmail.com> wrote:
> i reran swig and comitted, see if that helps. > > > On Fri, May 23, 2008 at 1:55 PM, jonathan augenstine < > jaugenstine@gmail.com> wrote: > >> I am in the process of setting up a new production machine. I have >> installed CentOS and was successful in building the latest trunk of >> Freeswitch. When I enabled the build of mod-java I get numerous >> "cannot >> find symbol" errors. >> >> Jonathan >> jaugenstine@gmail.com >> >> - OS: CentOS 5 >> - Java: 1.5.0_15 >> - configure --with-java=/usr/java/jdk1.5.0_15 >> - edit modules.conf to build languages/mod_java >> - Freeswitch is latest trunk as of May 23. >> >> A sample of the errors printed are: >> >> making all mod_java >> src/org/freeswitch/swig/CoreSession.java:236: cannot find symbol >> symbol : class Event >> location: class org.freeswitch.swig.CoreSession >> public void sendEvent(Event sendME) { >> ^ >> src/org/freeswitch/swig/CoreSession.java:240: cannot find symbol >> symbol : class Event >> location: class org.freeswitch.swig.CoreSession >> public void setEventData(Event e) { >> ^ >> src/org/freeswitch/swig/freeswitchJNI.java:14: cannot find symbol >> symbol : class IVRMenu >> location: class org.freeswitch.swig.freeswitchJNI >> public final static native long new_IVRMenu(long jarg1, IVRMenu >> jarg1_, >> String jarg2, String jarg3, String jarg4, String jarg5, String jarg6, >> String >> jarg7, String jarg8, int jarg9, int jarg10, int jarg11, int jarg12, >> int >> jarg13); >> ^ >> src/org/freeswitch/swig/freeswitchJNI.java:16: cannot find symbol >> symbol : class IVRMenu >> location: class org.freeswitch.swig.freeswitchJNI >> public final static native void IVRMenu_bindAction(long jarg1, >> IVRMenu >> jarg1_, String jarg2, String jarg3, String jarg4); >> ^ >> >> >> >> _______________________________________________ >> 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/ > > AIM: anthm > MSN:anthony_minessale@hotmail.com<MSN%3Aanthony_minessale@hotmail.com>< MSN%3Aanthony_minessale@hotmail.com<MSN%253Aanthony_minessale@hotmail.com>
> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> <PAYPAL%3Aanthony.minessale@gmail.com<PAYPAL%253Aanthony.minessale@gmail.com>
> IRC: irc.freenode.net #freeswitch > > FreeSWITCH Developer Conference > sip:888@conference.freeswitch.org<sip%3A888@conference.freeswitch.org>< sip%3A888@conference.freeswitch.org<sip%253A888@conference.freeswitch.org>
> iax:guest@conference.freeswitch.org/888 > googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> <googletalk%3Aconf%2B888@conference.freeswitch.org<googletalk%253Aconf%252B888@conference.freeswitch.org>
> pstn:213-799-1400 > _______________________________________________ > 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
_______________________________________________ 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/
AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400 _______________________________________________ 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/
AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
_______________________________________________ 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