[liblouis-liblouisxml] Library version in filename

  • From: James Teh <jamie@xxxxxxxxxxx>
  • To: liblouis/liblouisxml mailing list <liblouis-liblouisxml@xxxxxxxxxxxxx>
  • Date: Mon, 19 Jan 2009 13:09:16 +1000

Hi all,

As I noted previously, when built in Windows, the liblouis dll gets the name liblouis-1.dll. The reason this version suffix is appended is to prevent collisions when there are multiple versions of a library with different APIs present on a given system.

I assume that under Linux, you get liblouis.so.1. Is a symlink automatically created called liblouis.so linking to liblouis.so.1?

It is apparently possible to eliminate this version suffix by specifying -avoid-version to libtool (which I *think* would be done in the liblouis_la_LDFLAGS variable in liblouis/Makefile.am). However, perhaps this is actually incorrect given that the whole point of the suffix is to avoid conflicts. We could possibly do this just for Windows. (I assume you can do conditional stuff in Makefile.am?)

The reason it is even an issue is that the Python bindings currently hard-code liblouis.dll for Windows and liblouis.so for Linux. However, if the API ever changes (thus changing the version suffix), these bindings probably won't work anyway. Therefore, it could be argued that they should specify liblouis-1.dll for Windows and liblouis.so.1 for Linux.

Thoughts appreciated.

--
James Teh
Email/MSN Messenger/Jabber: jamie@xxxxxxxxxxx
Web site: http://www.jantrid.net/
For a description of the software and to download it go to
http://www.jjb-software.com

Other related posts: