Hello,
I am having again a lot of trouble installing DBXTalk. The host is a Kubuntu 11.10. And I'am using the latest stable All In One Pharo release. The target databases are MSSQL and MySQL. I installed freetds first using apt-get (package freetds-dev). I also installed the dev libraries for MySQL. Afterwards I downloaded the sources of opendbx (unstable 1.5.0) and configured und compiled it using the following commands: CPPFLAGS="-I/usr/include/mysql" LDFLAGS="-L/usr/lib/mysql" ./configure --with-backends="mysql mssql" make sudo make install Everything went fine without errors. After that I tested a little bit and got a successful connection to both databases using the odbx-sql tool included in opendbx. I started Pharo and loaded ConfigurationOfOpenDBXDriver from the DBXTalk repository from squeaksource. I installed the OpenDBX Driver using: (ConfigurationOfOpenDBXDriver project version: #stable) load. When trying to connect to the Database through Pharo I get the following error: Error: External module not found I tried to relocate the compilation results of the opendbx build (sym linked to /usr/lib ...), as suggested elsewhere. I also created the environment variables: LD_LIBRARY_PATH and DYLD_LIBRARY_PATH pointing to "/usr/local/lib:usr/lib" and added both directories to the PATH variable. No luck so far. Has anyone any suggestions what else to try? Or can I somewhere "see" (a log file, ...) where pharo is looking for opendbx? Best regards Dirk Porsche |
On Fri, Feb 17, 2012 at 3:03 PM, Crenshinibon <[hidden email]> wrote: Hello, Hi. If I remember correctly, maybe the VM from the Pharo one click is outdated and has a problem with FFI to search the libraries. Can you try with any of these VMS: - Eliot's one: http://www.mirandabanda.org/files/Cog/VM/VM.r2522/coglinux.tgz - Jenkins VMs (but jenkins is down now.... so I will give you the link as soon as it is up again). Let us know,
-- Mariano http://marianopeck.wordpress.com |
I believe you replied to the wrong person. Though I happen to be interested in the topic and will be trying to connect to MySQL within 6 weeks. Ideally from a mac -- earlier I could not find the proper pre-compiled binary for something related to DBXTalk. So I am following the thread.
Nice work to those who are active -- thank you! -Cam
On Fri, Feb 17, 2012 at 9:10 AM, Mariano Martinez Peck [via Smalltalk] <[hidden email]> wrote:
|
In reply to this post by Crenshinibon
Hello, I am having a similar problem. I am in Ubuntu 12.04 (64 bit?), uname -a gives this: Linux [host] 3.2.0-34-generic-pae #53-Ubuntu SMP Thu Nov 15 11:11:12 UTC 2012 i686 i686 i386 GNU/Linux I downloaded and compiled "libopendbx-1.5.0" from source, configured with "mysql" backend like this: CPPFLAGS="-I/usr/include/mysql" \ LDFLAGS="-L/usr/lib/mysql" \ ./configure --with-backends="mysql" After that I made the typical "make, sudo make install". I downloaded a Pharo CogVM / Image (1.4) from Pharo's CI server. Pharo's "latest update" is #14457. CogVM -version gives this: CoInterpreter VMMaker-oscog-EstebanLorenzano.166 uuid: 5773fcb9-2982-4507-8a9e-4308ec33731e Nov 19 2012 StackToRegisterMappingCogit VMMaker-oscog-EstebanLorenzano.166 uuid: 5773fcb9-2982-4507-8a9e-4308ec33731e Nov 19 2012 https://git.gitorious.org/cogvm/blessed.git Commit: 40ac7e7bdec6fef0e934d2c019b86db996053912 Date: 2012-11-19 18:54:49 +0100 By: Mariano Martinez Peck <email> Jenkins build #140 Linux pharo-build.lille.inria.fr 2.6.18-194.26.1.el5xen #1 SMP Tue Nov 9 14:13:46 EST 2010 i686 i686 i386 GNU/Linux I install DBXTalk like this: Gofer it squeaksource: 'MetacelloRepository'; package: 'ConfigurationOfOpenDBXDriver'; load. (((Smalltalk at: #ConfigurationOfOpenDBXDriver) perform: #project) perform: #version: with: #stable) load. And when I try to do this: settings := DBXConnectionSettings host: 'localhost' port: '3306' database: '...' userName: '...' userPassword: '...'. platform := DBXMySQLBackend new. connection := DBXConnection platform: platform settings: settings. connection connect. I get an "External module not found" in the method "apiInitialize: handle backend: backend host: host port: port" of "OpenDBXUnix". What is happening? What can I do to fix this? (using "odbx-sql" I could connect to the DB with no problems) Thanks in advance! Sebastian P.S. The libraries seem to be installed here: /usr/local/lib: -rw-r--r-- 1 root root 23368 dic 13 13:37 /usr/local/lib/libopendbx.a -rwxr-xr-x 1 root root 978 dic 13 13:37 /usr/local/lib/libopendbx.la -rw-r--r-- 1 root root 288468 dic 13 13:37 /usr/local/lib/libopendbxplus.a -rwxr-xr-x 1 root root 1035 dic 13 13:37 /usr/local/lib/libopendbxplus.la lrwxrwxrwx 1 root root 23 dic 13 13:37 /usr/local/lib/libopendbxplus.so -> libopendbxplus.so.1.0.0 lrwxrwxrwx 1 root root 23 dic 13 13:37 /usr/local/lib/libopendbxplus.so.1 -> libopendbxplus.so.1.0.0 -rwxr-xr-x 1 root root 214624 dic 13 13:37 /usr/local/lib/libopendbxplus.so.1.0.0 lrwxrwxrwx 1 root root 19 dic 13 13:37 /usr/local/lib/libopendbx.so -> libopendbx.so.1.2.0 lrwxrwxrwx 1 root root 19 dic 13 13:37 /usr/local/lib/libopendbx.so.1 -> libopendbx.so.1.2.0 -rwxr-xr-x 1 root root 28956 dic 13 13:37 /usr/local/lib/libopendbx.so.1.2.0 /usr/local/lib/opendbx: total 80 -rw-r--r-- 1 root root 37768 dic 13 13:37 libmysqlbackend.a -rwxr-xr-x 1 root root 1037 dic 13 13:37 libmysqlbackend.la lrwxrwxrwx 1 root root 24 dic 13 13:37 libmysqlbackend.so -> libmysqlbackend.so.1.2.0 lrwxrwxrwx 1 root root 24 dic 13 13:37 libmysqlbackend.so.1 -> libmysqlbackend.so.1.2.0 -rwxr-xr-x 1 root root 33666 dic 13 13:37 libmysqlbackend.so.1.2.0 |
On Thu, Dec 13, 2012 at 10:40 AM, Sebastian Nozzi <[hidden email]> wrote:
That looks like 32 bits...so there shouldn't be any problem.
This is that FFI is not finding your dbx libraries. We already had this problem in the past. A workaround is to copy the opendbx libraries to the same directory where you have the image (or the VM, never remember)
Mariano http://marianopeck.wordpress.com |
It seems the libraries have to be in the same place as the others/plugins.
So, in my case it's in the same place as the VM. I copied these files to the VM directory: libmysqlbackend.so libopendbx.so libopendbxplus.so Now I connected and made my first query... MySQL from Pharo. Incredible! Thank you guys! 2012/12/13 Mariano Martinez Peck <[hidden email]>: > > > On Thu, Dec 13, 2012 at 10:40 AM, Sebastian Nozzi <[hidden email]> > wrote: >> >> Hello, >> >> I am having a similar problem. I am in Ubuntu 12.04 (64 bit?), uname -a >> gives this: >> >> Linux [host] 3.2.0-34-generic-pae #53-Ubuntu SMP Thu Nov 15 11:11:12 UTC >> 2012 i686 i686 i386 GNU/Linux >> > > That looks like 32 bits...so there shouldn't be any problem. > >> >> I downloaded and compiled "libopendbx-1.5.0" from source, configured with >> "mysql" backend like this: >> >> CPPFLAGS="-I/usr/include/mysql" \ >> LDFLAGS="-L/usr/lib/mysql" \ >> ./configure --with-backends="mysql" >> >> After that I made the typical "make, sudo make install". >> >> I downloaded a Pharo CogVM / Image (1.4) from Pharo's CI server. Pharo's >> "latest update" is #14457. >> >> CogVM -version gives this: >> >> CoInterpreter VMMaker-oscog-EstebanLorenzano.166 uuid: >> 5773fcb9-2982-4507-8a9e-4308ec33731e Nov 19 2012 >> StackToRegisterMappingCogit VMMaker-oscog-EstebanLorenzano.166 uuid: >> 5773fcb9-2982-4507-8a9e-4308ec33731e Nov 19 2012 >> https://git.gitorious.org/cogvm/blessed.git Commit: >> 40ac7e7bdec6fef0e934d2c019b86db996053912 Date: 2012-11-19 18:54:49 +0100 By: >> Mariano Martinez Peck <email> Jenkins build #140 >> Linux pharo-build.lille.inria.fr 2.6.18-194.26.1.el5xen #1 SMP Tue Nov 9 >> 14:13:46 EST 2010 i686 i686 i386 GNU/Linux >> >> I install DBXTalk like this: >> >> Gofer it >> squeaksource: 'MetacelloRepository'; >> package: 'ConfigurationOfOpenDBXDriver'; >> load. >> >> (((Smalltalk at: #ConfigurationOfOpenDBXDriver) >> perform: #project) >> perform: #version: with: #stable) >> load. >> >> And when I try to do this: >> >> settings := DBXConnectionSettings >> host: 'localhost' >> port: '3306' >> database: '...' >> userName: '...' >> userPassword: '...'. >> platform := DBXMySQLBackend new. >> connection := DBXConnection platform: platform settings: settings. >> connection connect. >> >> I get an "External module not found" in the method "apiInitialize: handle >> backend: backend host: host port: port" of "OpenDBXUnix". >> > > This is that FFI is not finding your dbx libraries. We already had this > problem in the past. > A workaround is to copy the opendbx libraries to the same directory where > you have the image (or the VM, never remember) > > >> >> What is happening? What can I do to fix this? >> (using "odbx-sql" I could connect to the DB with no problems) >> >> Thanks in advance! >> >> >> Sebastian >> >> >> P.S. The libraries seem to be installed here: >> >> /usr/local/lib: >> -rw-r--r-- 1 root root 23368 dic 13 13:37 /usr/local/lib/libopendbx.a >> -rwxr-xr-x 1 root root 978 dic 13 13:37 /usr/local/lib/libopendbx.la >> -rw-r--r-- 1 root root 288468 dic 13 13:37 /usr/local/lib/libopendbxplus.a >> -rwxr-xr-x 1 root root 1035 dic 13 13:37 >> /usr/local/lib/libopendbxplus.la >> lrwxrwxrwx 1 root root 23 dic 13 13:37 >> /usr/local/lib/libopendbxplus.so -> libopendbxplus.so.1.0.0 >> lrwxrwxrwx 1 root root 23 dic 13 13:37 >> /usr/local/lib/libopendbxplus.so.1 -> libopendbxplus.so.1.0.0 >> -rwxr-xr-x 1 root root 214624 dic 13 13:37 >> /usr/local/lib/libopendbxplus.so.1.0.0 >> lrwxrwxrwx 1 root root 19 dic 13 13:37 /usr/local/lib/libopendbx.so -> >> libopendbx.so.1.2.0 >> lrwxrwxrwx 1 root root 19 dic 13 13:37 /usr/local/lib/libopendbx.so.1 >> -> libopendbx.so.1.2.0 >> -rwxr-xr-x 1 root root 28956 dic 13 13:37 >> /usr/local/lib/libopendbx.so.1.2.0 >> >> /usr/local/lib/opendbx: >> total 80 >> -rw-r--r-- 1 root root 37768 dic 13 13:37 libmysqlbackend.a >> -rwxr-xr-x 1 root root 1037 dic 13 13:37 libmysqlbackend.la >> lrwxrwxrwx 1 root root 24 dic 13 13:37 libmysqlbackend.so -> >> libmysqlbackend.so.1.2.0 >> lrwxrwxrwx 1 root root 24 dic 13 13:37 libmysqlbackend.so.1 -> >> libmysqlbackend.so.1.2.0 >> -rwxr-xr-x 1 root root 33666 dic 13 13:37 libmysqlbackend.so.1.2.0 >> > > > > -- > Mariano > http://marianopeck.wordpress.com > |
In reply to this post by Mariano Martinez Peck
On Thu, Dec 13, 2012 at 2:48 PM, Mariano Martinez Peck <[hidden email]> wrote:
Yeap, alternatively you can try one of these: - move the mysql libraries from /usr/local/lib/opendbx to /usr/local/lib (or make a symlink)
- or, specify the directories inside the LD_LIBRARY_PATH env var
|
In reply to this post by senTalker
On Thu, Dec 13, 2012 at 11:08 AM, Sebastian Nozzi <[hidden email]> wrote: It seems the libraries have to be in the same place as the others/plugins. Ok...someone will need to fix FFI ;)
this last one is not needed.
Excellent :) Thank you guys! Mariano http://marianopeck.wordpress.com |
In reply to this post by Guillermo Polito
Tried your last suggestion (with LD_LIBRARY_PATH) and also worked.
Thanks! 2012/12/13 Guillermo Polito <[hidden email]>: > Yeap, alternatively you can try one of these: > > - move the mysql libraries from /usr/local/lib/opendbx to /usr/local/lib > (or make a symlink) > - or, specify the directories inside the LD_LIBRARY_PATH env var |
In reply to this post by Crenshinibon
Hello there,
I followed all the instructions below and I'm still having problems with the installation for MySQL in my MacOS 10.8.2. Here's what I did: 1) Installed OpenDBX using the commands below: CPPFLAGS="-I/usr/local/mysql/include" LDFLAGS="-L/usr/local/mysql/lib" ./configure --disable-utils --with-backends="mysql" make install I added the "--disable-utils" following the recommendation from: http://www.linuxnetworks.de/doc/index.php/OpenDBX/Setup/MacOS_X/Possible_problems, and was able everything without errors. This created the files inside /usr/local/lib/opendbx, but the only '.so' file is 'libmysqlbackend.so' (I have a libopendbx.la and libopendbxplus.la inside /usr/local/lib but no .so) I ran the test: './odbxtest -b mysql -h localhost -p 3306 -d practice -u root' and it worked. 2) Install SqueakDBX using: Gofer new squeaksource: 'MetacelloRepository'; package: 'ConfigurationOfSqueakDBX'; load. ((Smalltalk at: #ConfigurationOfSqueakDBX) project version: #stable) load. DBXPlatform disableAutomaticConnectionReleaseOnGC connectionSettings := DBXConnectionSettings host: '127.0.0.1' port: '3306' database: 'practice' userName: 'igor' userPassword: '123456789'. conn := DBXConnection platform: DBXMySQLPlatform new settings: connectionSettings. conn connect. Got the "External module not found exception" Can anyone help me fix my installation? I tried copying the files to the Pharo image directory, but it didn't work. Thanks a lot! Igor Arouca On Friday, February 17, 2012 8:03:19 AM UTC-6, Crenshinibon wrote: Hello,-- You received this message because you are subscribed to the Google Groups "DBXTalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/groups/opt_out. |
On Sat, Mar 9, 2013 at 11:17 PM, Igor Arouca <[hidden email]> wrote: Hello there, Hi, I answer inline. Here's what I did: I think this can be a problem, because by default it will compile in 64 bits. Use file command to know that: http://stackoverflow.com/questions/7471752/how-can-i-check-if-a-compiled-binary-is-32bit-or-64it
if it was 64, then try using the "-m32" when compiling OpenDBX: http://stackoverflow.com/questions/3501878/force-gcc-to-compile-32-bit-programs-on-64-bit-platform
The main problem will be the lib of MySQL. How did you install it? It should be a 32 bits version!!! Yes, I know, it is a hell..but it is not our fault. Pharo VM does not yet support a FFI working for 64 bits so everything should be 32 :(
I added the "--disable-utils" following the recommendation from: http://www.linuxnetworks.de/doc/index.php/OpenDBX/Setup/MacOS_X/Possible_problems, and was able everything without errors. how did you get the MySQL library? compiled yourself or binaries? from where?
Good.
mmm this is quite old ;) The project was renamed to DBXTalk: http://dbxtalk.smallworks.com.ar/Documentation/
The way to install it is: Gofer it squeaksource: 'MetacelloRepository'; package: 'ConfigurationOfOpenDBXDriver'; load.
(((Smalltalk at: #ConfigurationOfOpenDBXDriver) perform: #project) perform: #version: with: #stable) load.
This is because FFI does not find OpenDBX library, at least, not a 32 bits one ;)
be sure everything is 32 bits. Let us know. Thanks a lot! Mariano http://marianopeck.wordpress.com -- You received this message because you are subscribed to the Google Groups "DBXTalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/groups/opt_out. |
Free forum by Nabble | Edit this page |