I did not build wxWidgets from source. Using synaptic, I installed every package available using wxWidgets 2.8. Strangely, I also had to install g++.
Before attempting compile, I noticed using ldconfig -v | grep wx that all of the libraries contain the string "gtk2u" whereas ldd libwxeu.so shows me that it requires libs containing the string "gtk2d".
All of the required libs seem to be present, just under a different link name. I suppose that I could just make a whole new slew of soft links and test from there.
Matt, do you know why there is no constructor for a char *? Here's the offending lines:
wxString get_string( object seq )
{
char * str;
if( !IS_SEQUENCE(seq) )
RTFatal("expected a sequence");
str = new char[SEQ_PTR(seq)->length + 1];
MakeCString( str, seq );
wxString s( str ); // this is line 68
delete[] str;
return s;
}
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
What version of the source did you use? The released code won't work with the unicode libraries that you get from synaptic. You need to use the latest from svn, and make sure you run ./configure before making to get the correct linking and flags.
Yeah, I'm using the released version. I'll work on getting the latest svn in the next few days (once I figure out how to use svn well).
I'll also try the above link, thanks.
Is there a way to set up the configure script so the library can build under either unicode or not? Heh. I'm at the part where I know the tools exist but I don't really know how to use them...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Actually, that's what the configure script is supposed to do. It uses the wx-config script that gets installed with wxWidgets to tell it what flags the compiler needs and what libraries it should link to.
It's possible that you might have multiple wx-configs (in /usr/bin and /usr/local/bin) if you installed wx using your package manager and also built it yourself. That can cause problems. Although it's not recommended, you could hand-edit the makefile.gcc file that configure creates to link with different libraries.
svn is actually really simple. Just type this in (and replace [path] with the path where you want to code to go):
I'd also be really interested to hear if the other binary works. I'd like to be able to release an Ubuntu binary, but if it only works on my system....
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
>>Actually, that's what the configure script is supposed to do. It uses the wx-config script that gets installed with wxWidgets to tell it what flags the compiler needs and what libraries it should link to.
Yeah, I have the tendency to talk first and then look at the file later. I just now snuck a peek at it (although my Linux stuff is at home).
>>It's possible that you might have multiple wx-configs (in /usr/bin and /usr/local/bin) if you installed wx using your package manager and also built it yourself. That can cause problems. Although it's not recommended, you could hand-edit the makefile.gcc file that configure creates to link with different libraries.
I haven't built wxWidgets from source yet -- I've just installed it from the package manager. I'm trying to avoid that really.
I'd like to help make it plug-and-play. That is so the user only needs to take a few steps to install wxEuphoria library and get coding.
>>I'd also be really interested to hear if the other binary works. I'd like to be able to release an Ubuntu binary, but if it only works on my system....
Okay, I'll try that out tonight and let you know.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
> Maybe it chokes on the whole filename instead of just a directory name?
Yeah, according to the man page, ldconfig is meant to be used on directories.
> Are there any specific tests that need to be done with this binary?
> If not, then some on Euforum should be happy...
I don't know. For some reason, Jerry can't get it to work on his system, though apparently we've both been able to, so that points to something on his system, rather than the binary itself, which is sorta good.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'll work through this, but I thought that I would post it anyway. Any hints will be helpful though.
Compiling wxEuphoria on Xubuntu 7.0.4 x86, output from make:
g++ -c -o wxeu.o -D__WXGTK__ -I. -I/usr/lib/wx/include/gtk2-unicode-release-2.8 -I/usr/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXGTK__ -I/usr/lib/wx/include/gtk2-unicode-release-2.8 -I/usr/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXGTK__ -pthread wxeu.cpp
wxeu.cpp: In function ‘wxString get_string(object)’:
wxeu.cpp:68: error: call of overloaded ‘wxString(char*&)’ is ambiguous
/usr/include/wx-2.8/wx/string.h:722: note: candidates are: wxString::wxString(const wxWCharBuffer&) <near match>
/usr/include/wx-2.8/wx/string.h:692: note: wxString::wxString(wxChar, size_t) <near match>
/usr/include/wx-2.8/wx/string.h:690: note: wxString::wxString(const wxString&) <near match>
/usr/include/wx-2.8/wx/string.h:682: note: wxString::wxString(int) <near match>
wxeu.cpp: At global scope:
wxeu.cpp:90: warning: ‘EuEventTypes’ initialized and declared ‘extern’
make: *** [wxeu.o] Error 1
I did not build wxWidgets from source. Using synaptic, I installed every package available using wxWidgets 2.8. Strangely, I also had to install g++.
Before attempting compile, I noticed using ldconfig -v | grep wx that all of the libraries contain the string "gtk2u" whereas ldd libwxeu.so shows me that it requires libs containing the string "gtk2d".
All of the required libs seem to be present, just under a different link name. I suppose that I could just make a whole new slew of soft links and test from there.
Matt, do you know why there is no constructor for a char *? Here's the offending lines:
wxString get_string( object seq )
{
char * str;
if( !IS_SEQUENCE(seq) )
RTFatal("expected a sequence");
str = new char[SEQ_PTR(seq)->length + 1];
MakeCString( str, seq );
wxString s( str ); // this is line 68
delete[] str;
return s;
}
What version of the source did you use? The released code won't work with the unicode libraries that you get from synaptic. You need to use the latest from svn, and make sure you run ./configure before making to get the correct linking and flags.
Alternatively, you could also try the version I built: http://wxeuphoria.sf.net/libwxeu.so.tar.gz
Yeah, I'm using the released version. I'll work on getting the latest svn in the next few days (once I figure out how to use svn well).
I'll also try the above link, thanks.
Is there a way to set up the configure script so the library can build under either unicode or not? Heh. I'm at the part where I know the tools exist but I don't really know how to use them...
Actually, that's what the configure script is supposed to do. It uses the wx-config script that gets installed with wxWidgets to tell it what flags the compiler needs and what libraries it should link to.
It's possible that you might have multiple wx-configs (in /usr/bin and /usr/local/bin) if you installed wx using your package manager and also built it yourself. That can cause problems. Although it's not recommended, you could hand-edit the makefile.gcc file that configure creates to link with different libraries.
svn is actually really simple. Just type this in (and replace [path] with the path where you want to code to go):
$ svn co https://wxeuphoria.svn.sourceforge.net/svnroot/wxeuphoria/wxeu/trunk [path]
I'd also be really interested to hear if the other binary works. I'd like to be able to release an Ubuntu binary, but if it only works on my system....
Okay, your binary seems to work with the couple demos that I tried (controls_demo.exw and hello_world.exw).
I had to copy libwxeu.so to /usr/lib and then sudo ldconfig (I may not have needed sudo...) That worked.
For some reason it doesn't seem to like /usr/local/lib. Without figuring out some kind of configuration change for ldconfig.
The man page doesn't seem to be much help.
I'll try subversion here pretty soon...
I believe that on Linux, to get /usr/local/lib to work, you need to specify that on the command line:
$ sudo ldconfig /usr/local/lib
On FreeBSD, this doesn't seem to be necessary. Also, yes, you should have to use sudo with ldconfig.
>>Actually, that's what the configure script is supposed to do. It uses the wx-config script that gets installed with wxWidgets to tell it what flags the compiler needs and what libraries it should link to.
Yeah, I have the tendency to talk first and then look at the file later. I just now snuck a peek at it (although my Linux stuff is at home).
>>It's possible that you might have multiple wx-configs (in /usr/bin and /usr/local/bin) if you installed wx using your package manager and also built it yourself. That can cause problems. Although it's not recommended, you could hand-edit the makefile.gcc file that configure creates to link with different libraries.
I haven't built wxWidgets from source yet -- I've just installed it from the package manager. I'm trying to avoid that really.
I'd like to help make it plug-and-play. That is so the user only needs to take a few steps to install wxEuphoria library and get coding.
>>I'd also be really interested to hear if the other binary works. I'd like to be able to release an Ubuntu binary, but if it only works on my system....
Okay, I'll try that out tonight and let you know.
>>I believe that on Linux, to get /usr/local/lib to work, you need to specify that on the command line:
$ sudo ldconfig /usr/local/lib
On FreeBSD, this doesn't seem to be necessary. Also, yes, you should have to use sudo with ldconfig.
No, because I tried that. Or maybe it didn't work right because I was doing:
$ sudo ldconfig /usr/local/lib/libwxeu.so
Maybe it chokes on the whole filename instead of just a directory name?
Are there any specific tests that need to be done with this binary? If not, then some on Euforum should be happy...
http://www.openeuphoria.org/cgi-bin/esearch.exu?fromMonth=5&fromYear=C&toMonth=8&toYear=C&postedBy=&keywords=ubuntu+wxeuphoria
> Maybe it chokes on the whole filename instead of just a directory name?
Yeah, according to the man page, ldconfig is meant to be used on directories.
> Are there any specific tests that need to be done with this binary?
> If not, then some on Euforum should be happy...
I don't know. For some reason, Jerry can't get it to work on his system, though apparently we've both been able to, so that points to something on his system, rather than the binary itself, which is sorta good.