Alan Knowles
Posts: 390
Nickname: alank
Registered: Sep, 2004
|
Alan Knowles is Freelance Developer, works on PHP extensions and PEAR.
|
|
|
|
11 libgda on windows 15
|
Posted: Oct 12, 2004 11:04 PM
|
|
|
This post originated from an RSS feed registered with PHP Buzz
by Alan Knowles.
|
Original Post: 11 libgda on windows 15
Feed Title: Smoking toooo much PHP
Feed URL: http://www.akbkhome.com/blog.php/RSS.xml
Feed Description: More than just a blog :)
|
Latest PHP Buzz Posts
Latest PHP Buzz Posts by Alan Knowles
Latest Posts From Smoking toooo much PHP
|
|
1287
I mentioned a while back that my new php extension (dbdo) used libgda, and that i ran into a roadblock, that libgda was not available on windows. Well, after quite a bit of work, that is finally solved.
For those not interested in the how - it's available here libgda for windows
IMPORTANT: must be unzipped to C:\libgda (so providers are in C:\libgda\providers\*.dll)
Note you need the dll's from the following files http://www.gimp.org/~tml/gimp/win32/glib-2.4.5-20040903.zip http://www.gimp.org/~tml/gimp/win32/glib-dev-2.4.5.zip http://www.gimp.org/~tml/gimp/win32/libiconv-1.9.1.bin.woe32.zip http://www.gimp.org/~tml/gimp/win32/gettext-runtime-0.13.1.zip ftp://ftp.zlatkovic.com/pub/libxml/libxml2-2.6.13.win32.zip
ftp://ftp.zlatkovic.com/pub/libxml/libxslt-1.1.10.win32.zip ftp://ftp.zlatkovic.com/pub/libxml/zlib-1.2.1.win32.zip for mysql http://mysql.mirrors.pair.com/Downloads/MySQL-4.0/mysql-4.0.21-win-noinstall.zip for postgres http://www.hagander.net/pgsql/win32snap/postgres_win32_7.5_devel.zip
While I doubt I'll ever personally use the thing, It has been quite interesting building it. After trying out a few compilers (including MSVC, dev-cpp, cygwin) I settled on using mingw and cross compiling on linux. (yes the whole thing is built on linux!), and tested under win4lin.
I did experiment using make/configure, but concluded it was far easier to script the build process in PHP (build.php), there is also a enviroment creator (mkenv.php) which downloads all the necessary components (may need tweaking)
Other than this, there is a little fun involved in getting the mysql backend to build. Based on the instructions on creating a mingW mysql client, you have to follow the windows bit at the bottom, pretty much word for word..
- download the mysql libs above
- copy the libmySQL.dll to a windows machine, and run the pexports (part of the mingw distro for windows) to get the def file.
- copy the defs file to the build same folder as the original .dll
- run the dll tool eg.
/usr/src/win32mingw/mysql-4.0.21-win/bin/# /usr/src/win32mingw/cross-tools/bin/i386-mingw32msvc-dlltool --input-def libmySQL.def --dllname libmySQL.dll --output-lib libmySQL.a -k
- Try running the builder - you get lots of errors like
unknown symbol mysql_init@4 ..... mysql_real_connect@16 etc. - edit the defs file manually (change mysql_init to mysql_init@4 - matching the prefixes to the missing symbols
- repeat step 4.
- if you got all the right @ signs it will build very hapilly.
The other big trick that I spotted from mysql++ was that you need to add -DSYMBOL=int to the gcc lines!! - that's not mentioned anywhere!! :)
Next step is finding if anyone can add dbdo to the build scripts for snaps.php.net
20
Read: 11 libgda on windows 15
|
|