Libraries ported to OS/2

Index
Up to Software

bzip2 1.0.2  (08Dec02)

bzip2 is a compression engine, akin to gzip, comprising a library and front end programs

The source was originally retrieved from the bzip2 home page.

Download bzip2-1.0.2-os2emx.zip (201,885 bytes; MD5=18555997a3ae23d4ce86da9df16d14dd)

IJG JPEG-6b  (30Dec01)

A library for manipulating JPEG (Joint Photographic Experts Group) format images, from the Independant JPEG Group.

This port was created to support the Python Imaging Library package for my Python port. The source was originally retrieved from the "official" IJG archive.

Download jpeg6b-emx.zip (297,687 bytes; MD5=cdd8c9c5e2f11db4f8a86e5d5acd1163)

libffi 3.0.8  (5Apr10)

A foreign function interface library - see the libffi home page for more information about this library.

This port was created to support the ctypes module in Python 2.5+.

Download libffi-3.0.8-os2emx.zip (13,670 bytes; MD5=a79f465cb4946d93c9874d2b0f797415)

A source archive, to be extracted over the top of an extracted libffi 3.0.8 source tree is also available:

Download libffi-3.0.8-os2emx-src.zip (13,565 bytes; MD5=2bc26acd48fe0c6ba891c8bab20268a3)

libpng 1.2.8  (16Jan05)

A library for manipulating PNG (Portable Network Graphic) format images.

This port was created to support the Python Imaging Library package for my Python port. The source was originally retrieved from the libpng home page.

Download libpng-1.2.8-emx.zip (413,229 bytes; MD5=a599be769a7e659619655e85247a77cd)

PostgreSQL libpq client library  (4Aug05)

Vincenzo Venuto's OS/2 port of PostgreSQL only supports single-threaded client applications, but I need multithreaded (EMX gcc -Zmt) libraries to link with Python extensions, so I built my own.

The 7.4.8 release includes a fix for corruption of BLOBs imported using lo_import(), or exported using lo_export(). Thanks to Nathan Woodruff for the bug report. I don't plan to update the 7.3.7 package unless I get a specific request.

Current release: libpq-7.4.8-emx.zip (1,288,456 bytes; MD5=1b456c6483fb34b6641ae24e0d4cf36a)

Security update: libpq-7.3.7-emx.zip (765,564 bytes; MD5=469115f0277107a018f503cd4717a00c)

I was contacted by someone working on putting together an OS/2 version of a Rexx SQL package, who was having trouble getting the libpq from Vincenzo's port to work. After some hassle, we concluded that the problem was that the EMX sockets support wasn't being properly initialised. The symptom is the error message "DosResetEventSem: 0x00000006 DosCreateMuxWaitSem: 0x00000006". So I hacked at libpq a bit to convert it to use the native OS/2 TCP/IP sockets in place of the EMX sockets. I also had to hack a little bit at the OpenSSL 0.9.7 build system to convert it to OS/2 native sockets as well. The end result is a standalone libpq DLL, with multithread and SSL support, and no EMX dependancy. This DLL should be usable with other compilers too, as I've modified the included header files (v7.4.8 only) to support the necessary calling convention keywords for VACPP and [Open]Watcom.

The 7.4.8 release includes a fix for corruption of BLOBs imported using lo_import(), or exported using lo_export(). Thanks to Nathan Woodruff for the bug report. I don't plan to update the 7.3.7 package unless I get a specific request.

Current release: libpq-7.4.8-zso.zip (591,514 bytes; MD5=6898642f713dcc6af86b3eda6b5254c1)

Security update: libpq-7.3.7-zso.zip (448,098 bytes; MD5=39740a39d51bf5a1ac2243287e3440f9)

NetCDF 3.6.0  (30Jan05)

NetCDF is a library for reading and writing binary numeric data files that are portable across architectures and computer languages. Binary formats are used to save space with very large datasets.

For more information, check out the NetCDF home page.

This port only includes the C interface - the C++ interface will no longer build with gcc 2.8.1. The port was created to support the Scientific Python package available for my Python port.

Download netcdf-3.6.0-os2emx.zip (289,930 bytes; MD5=bbd902628ec7ef6a3d55e8cf180d65ec)

SQLite v3.6.23.1  (5Apr10)

SQLite is an embedded SQL database engine implented in a library. The database is stored in a single file, and multiuser/multiprocess access is supported via file locking of the database file.

While the EMX toolchain was used to build this port, the DLL containing the SQLite library is a standalone DLL with no dependancy on the EMX runtime or C library. This port includes a version of the SQLite header file modified so that SQLite client applications can be compiled with VisualAge C++ or [Open]Watcom as well as gcc; copies of the sqlite3.exe utility compiled with VAC++ v3.6.5 and OpenWatcom 1.8 are also included.

The source was originally retrieved from the SQLite website.

Download sqlite-3.6.23.1-os2.zip (704,087 bytes; MD5=ba2d22040d15c3c693fccbff7ba0f951)

The last release of my SQLite 2.8.x port is also still available: sqlite-2.8.16-os2.zip (489,163 bytes; MD5=cc43a8b190575f8241aeab234171f605)

Last updated: April 5, 2010