pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
pkg/51694: lang/guile20 FreeBSD PLIST variable incorrect because of library naming convention
>Number: 51694
>Category: pkg
>Synopsis: lang/guile20 FreeBSD PLIST variable incorrect because of library naming convention
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Dec 07 02:35:00 +0000 2016
>Originator: David Shao
>Release: current pkgsrc
>Organization:
>Environment:
FreeBSD xxxxxx.xxx 11.0-RELEASE-p2 FreeBSD 11.0-RELEASE-p2 #0: Mon Oct 24 06:55:27 UTC 2016 root%amd64-builder.daemonology.net@localhost:/usr/obj/usr/src/sys/GENERIC amd64
>Description:
lang/guile20 does not build on FreeBSD because of a PLIST variable that is supposed to reflect the value of a library name. guile20 wants to know the name of the actual libguile object file library so it can construct another file in the PLIST:
lib/libguile-2.0.${GUILE_LIBNAME}-gdb.scm
But on FreeBSD, neither of the choices for GUILE_LIBNAME set in the Makefile reflect FreeBSD's naming convention for libraries:
ls -la /usr/pkg/lib | grep libguile-2.0
-rw-r--r-- 1 root wheel 9427052 Dec 6 01:34 libguile-2.0.a
-rwxr-xr-x 1 root wheel 1086 Dec 6 01:34 libguile-2.0.la
lrwxr-xr-x 1 root wheel 18 Dec 6 01:34 libguile-2.0.so -> libguile-2.0.so.30
-rwxr-xr-x 1 root wheel 5886812 Dec 6 01:34 libguile-2.0.so.30
-rw-r--r-- 1 root wheel 7793 Dec 6 01:34 libguile-2.0.so.30-gdb.scm
Here the value of 30 seems to come from guile-2.0.12's script file GUILE-VERSION:
LIBGUILE_INTERFACE_CURRENT=30
LIBGUILE_INTERFACE_REVISION=0
LIBGUILE_INTERFACE_AGE=8
Currently the lang/guile20 Makefile assumes that if the platform isn't Darwin, the library name is constructed by subtracting 8 from 30 to get 22 and then forming the string:
so.22.0.8
whereas FreeBSD merely takes the 30 to form
so.30
Incidentally is there a good place for pkgsrc maintainers to document where exactly these magic numbers particular to a port come from, perhaps in the port itself? It might save some time for the next person ...
>How-To-Repeat:
>Fix:
diff -Nur lang/guile20/Makefile lang/guile20.new/Makefile
--- lang/guile20/Makefile 2016-09-28 02:04:41.000000000 -0700
+++ lang/guile20.new/Makefile 2016-12-06 01:17:30.153649000 -0800
@@ -50,6 +50,7 @@
OPSYSVARS+= GUILE_LIBNAME
GUILE_LIBNAME.Darwin= a
+GUILE_LIBNAME.FreeBSD= so.30
GUILE_LIBNAME.*= so.22.8.0
PLIST_SUBST+= GUILE_LIBNAME=${GUILE_LIBNAME}
Home |
Main Index |
Thread Index |
Old Index