The standard on modern unix systems is to name the shared libraries with this pattern: "lib" + name + ".so." + major version + "." + minor version. Racket uses libracket-5.3.6.so. It isn't correct.

-rwxr-xr-x 1 root wheel 9.0M Aug 17 04:28 /usr/local/lib/libracket3m-5.3.6.so
-rw-r--r--  1 root  wheel  14.3M Aug 17 04:28 /usr/local/lib/libracket3m.a
-rw-r--r--  1 root  wheel   852B Aug 17 04:28 /usr/local/lib/libracket3m.la
lrwxr-xr-x 1 root wheel 20B Aug 17 05:51 /usr/local/lib/libracket3m.so -> libracket3m-5.3.6.so

Look some examples. libpng on OpenBSD:

lrwxr-xr-x 1 root wheel 10B Sep 10 19:30 /usr/local/lib/libpng.a -> libpng16.a
-rw-r--r--  1 root  bin     720B Aug 17 02:22 /usr/local/lib/libpng.la
lrwxr-xr-x 1 root wheel 16B Sep 10 19:30 /usr/local/lib/libpng.so.17.0 -> libpng16.so.17.0
-rw-r--r--  1 root  bin     1.2M Aug 17 02:22 /usr/local/lib/libpng16.a
-rw-r--r--  1 root  bin     730B Aug 17 02:22 /usr/local/lib/libpng16.la
-rw-r--r-- 1 root bin 703K Aug 17 02:22 /usr/local/lib/libpng16.so.17.0

libarchive on Gentoo:

lrwxrwxrwx 1 root root 20 May 10 09:12 /usr/lib/libarchive.so -> libarchive.so.13.1.2 lrwxrwxrwx 1 root root 20 May 10 09:12 /usr/lib/libarchive.so.13 -> libarchive.so.13.1.2
-rwxr-xr-x 1 root root 723968 May 10 09:12 /usr/lib/libarchive.so.13.1.2


Also you should add some easy setting to change the suffix X.Y.Z of the lib. Some projects use variables in configure or the main makefile. The version of the libs is unrelated to the version of the software. On OpenBSD we change the numbers, so we can control when the dependencies require an update.


_________________________
 Racket Developers list:
 http://lists.racket-lang.org/dev

Reply via email to