[Pharo-project] SqueakDBX and MacOS X

Luc Fabresse luc.fabresse at gmail.com
Wed May 18 10:25:39 CEST 2011


Perfect Mariano!

#Luc



2011/5/18 Mariano Martinez Peck <marianopeck at gmail.com>

> Thanks a lot Olivier.
> I know it is a pain. I suffered with my mac also.
> So....I will update:
> http://www.squeakdbx.org/Different%20backends%20under%20Mac
> with your data.
>
> Thanks
>
>
> On Wed, May 18, 2011 at 10:10 AM, Olivier Auverlot <
> olivier.auverlot at gmail.com> wrote:
>
>>  After many hours to try to install OpenDBX and SqueakDBX on my Mac Intel
>> with a 64 bit processor, I'm very happy to propose you a little step by step
>> tutorial.
>>
>> 1. Download the client libraries for MySQL and PostgreSQL. Warning ! you
>> must get the 32 bits version. Create a temporary directory named "openDBX"
>> where you want. For me, I have put the directory at the root of my system
>> path.My directory contains :
>>
>>     > mysql
>>         > 5.0
>>             > include
>>             > lib
>>     > PostgreSQL
>>         > 9.0
>>             > include
>>             > lib
>>
>> 2. Download openDBX and compile it in 32 bits mode (because the Smalltalk
>> virtual machine is a 32 bits application). I have write a little shell
>> script to produce the configuration of the compiler.Of course, you must set
>> the directories for the include files and the librairies path.
>>
>> CFLAGS="-m32" \
>> CXXFLAGS="-m32" \
>> CPPFLAGS="-m32 -I/opendbx/PostgreSQL/9.0/include
>> -I/opendbx/mysql/5.0/include" \
>> LDFLAGS="-m32 -L/opendbx/PostgreSQL/9.0/lib -L/opendbx/mysql/5.0/lib" \
>> ./configure --disable-utils --with-backends="mysql pgsql sqlite3"
>>
>> Run it and do :
>>     make
>>     make install
>>
>> All the files are copied in the /usr/local/lib directory and the
>> /usr/local/lib/opendbx subdirectory.
>>
>> 3. Copy the MySQL and PostgreSQL clients librairies into /usr/local/bin
>> (the include files are unused).
>>
>> 4. Now, you must launch Pharo to install SqueakDBX.
>>
>>
>> Gofer new squeaksource: 'MetacelloRepository';
>> package: 'ConfigurationOfSqueakDBX';
>> load.
>>
>> ConfigurationOfSqueakDBX project latestVersion load.
>>
>> Gofer new squeaksource: 'MetacelloRepository';
>> package: 'ConfigurationOfGlorpDBX';
>> load.
>>
>> ConfigurationOfGlorpDBX project latestVersion load.
>>
>> 5. You could remove the temporary "openDBX" directory (step 1).
>>
>> 6. The installation is completed.
>>
>> Olivier ;-)
>> www.auverlot.fr
>>
>> Hi Olivier,
>>
>>  IIRC, you should:
>>  1) fix the location problem by putting symlink in the right place.
>>  2) ensure that your dylib is compiled for the right architecture (32bit)
>> considering that current VMs are 32bits
>>  Perhaps this is your problem?
>>  what gives:
>>
>>  $ lipo -info libopendbx.dylib
>>
>> #Luc
>>
>>
>>
>> 2011/5/17 Olivier Auverlot <olivier.auverlot at gmail.com>
>>
>>>  Hi,
>>>
>>> I try to use SqueakDBX on Mac OS X 10.6. I have downloaded and compiled
>>> the libraries for PostgreSQL, MySQL and finaly compiled and installed
>>> openDBX.
>>>
>>> CPPFLAGS="-I/opendbx/PostgreSQL/9.0/include -I/opendbx/mysql/5.0/include"
>>>
>>> LDFLAGS="-L/opendbx/PostgreSQL/9.0/lib -L/opendbx/mysql/5.0/lib"
>>> ./configure --disable-utils --with-backends="pgsql mysql sqlite3"
>>>
>>> Now, I have in /usr/local/lib:
>>>
>>> -rwxr-xr-x  1 root  wheel   17040 17 mai 09:10 libopendbx.1.dylib
>>> -rw-r--r--  1 root  wheel   32584 17 mai 09:10 libopendbx.a
>>> lrwxr-xr-x  1 root  wheel      18 17 mai 09:10 libopendbx.dylib ->
>>> libopendbx.1.dylib
>>> -rwxr-xr-x  1 root  wheel    1001 17 mai 09:10 libopendbx.la
>>> -rwxr-xr-x  1 root  wheel   74624 17 mai 09:10 libopendbxplus.1.dylib
>>> -rw-r--r--  1 root  wheel  385056 17 mai 09:10 libopendbxplus.a
>>> lrwxr-xr-x  1 root  wheel      22 17 mai 09:10 libopendbxplus.dylib ->
>>> libopendbxplus.1.dylib
>>> -rwxr-xr-x  1 root  wheel    1054 17 mai 09:10 libopendbxplus.la
>>>
>>> and in /usr/local/opendbx :
>>> -rwxr-xr-x  1 root  wheel  17232 17 mai 09:10 libmysqlbackend.1.so
>>> -rw-r--r--  1 root  wheel  38960 17 mai 09:10 libmysqlbackend.a
>>> -rwxr-xr-x  1 root  wheel   1051 17 mai 09:10 libmysqlbackend.la
>>> lrwxr-xr-x  1 root  wheel     20 17 mai 09:10 libmysqlbackend.so ->
>>> libmysqlbackend.1.so
>>> -rwxr-xr-x  1 root  wheel  16904 17 mai 09:10 libpgsqlbackend.1.so
>>> -rw-r--r--  1 root  wheel  28624 17 mai 09:10 libpgsqlbackend.a
>>> -rwxr-xr-x  1 root  wheel   1036 17 mai 09:10 libpgsqlbackend.la
>>> lrwxr-xr-x  1 root  wheel     20 17 mai 09:10 libpgsqlbackend.so ->
>>> libpgsqlbackend.1.so
>>> -rwxr-xr-x  1 root  wheel  16856 17 mai 09:10 libsqlite3backend.1.so
>>> -rw-r--r--  1 root  wheel  25936 17 mai 09:10 libsqlite3backend.a
>>> -rwxr-xr-x  1 root  wheel   1053 17 mai 09:10 libsqlite3backend.la
>>> lrwxr-xr-x  1 root  wheel     22 17 mai 09:10 libsqlite3backend.so ->
>>> libsqlite3backend.1.so
>>>
>>> ok...
>>>
>>> I have downloaded the OneClick distribution of Pharo 1.2.1 and installed
>>> SqueakDBX and GlorpDBX.
>>>
>>> Gofer new squeaksource: 'MetacelloRepository';
>>> package: 'ConfigurationOfSqueakDBX';
>>> load.
>>>
>>> ConfigurationOfSqueakDBX project latestVersion load.
>>>
>>> Gofer new squeaksource: 'MetacelloRepository';
>>> package: 'ConfigurationOfGlorpDBX';
>>> load.
>>>
>>> ConfigurationOfGlorpDBX project latestVersion load.
>>>
>>> Now, I try to do a SQL request to MySQL:
>>>
>>> connect
>>>      | conn connectionSettings result |
>>>
>>>     connectionSettings := DBXConnectionSettings
>>>         host: 'mysql.domaine.fr'
>>>         port: '3306'
>>>         database: 'test'
>>>         userName: 'username'
>>>         userPassword: 'hello'.
>>>
>>>     conn := DBXConnection
>>>         platform: DBXMySQLPlatform new
>>>         settings: connectionSettings.
>>>
>>>     conn connect.
>>>
>>>     conn open.
>>>     result := conn execute: 'SELECT * from data'.
>>>
>>>     DBXTranscript show: result.
>>>
>>>     conn close.
>>>
>>> But I get an error :  'Unable to find function address'
>>>
>>> SqueakDBX didn't found the libraries ? I have try to copy the librairies
>>> in /usr/lib and /usr/lib/opendbx but with no results. In the Resources
>>> subdirectory, I have created a symbolic link to
>>> /usr/local/lib/libopendbx.dylib but without progress.
>>>
>>> ln -s /usr/local/lib/libopendbx.dylib opendbx
>>>
>>>  I get the same error :-(
>>>
>>> If i modify the info.plist file to set the SqueakDebug key at 1 and the
>>> SqueakPluginsBuiltInOrLocalOnly key at false, I can see the search of
>>> librairies by the SqueakVM. The SqueakVM doesn't seem to try to load the
>>> openddbx libraries.
>>>
>>> You can download the log file at
>>> http://www.auverlot.fr/squeakdbx/squeakdbx.txt
>>>
>>> My previous tests under Linux have worked fine but i didn't find a
>>> solution with Mac OS X. Someone has an idea for help me ???
>>>
>>> Thanks for your help.
>>>
>>> Best regards
>>> Olivier
>>> www.auverlot.fr
>>>
>>>
>>>
>>
>>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>
>
-------------- section suivante --------------
Une pi?ce jointe HTML a ?t? nettoy?e...
URL: <http://lists.gforge.inria.fr/pipermail/pharo-project/attachments/20110518/6a7d6b2a/attachment.htm>


More information about the Pharo-project mailing list