[gnutls-devel] Build issue with --enable-guile

Ludovic Courtès ludo at gnu.org
Tue Mar 13 15:02:53 CET 2018


Hello,

Marius Schamschula <lists at schamschula.com> skribis:

> The MacPorts maintainer of gnutls here.
>
> Apparently, very few people install gnutls with
> --enable-guile. However, today we had someone attempt to install
> gnutls 3.5.18 with guile enabled. The build failed. His build log:
> https://hastebin.com/eraxizasez.bash

Pasting it here for reference:

--8<---------------cut here---------------start------------->8---
checking whether building Guile bindings... yes
***
*** Detecting GNU Guile...

checking for guile-snarf... /opt/local/bin/guile-snarf
checking for guild... /opt/local/bin/guild
checking for guile... /opt/local/bin/guile
checking for guile-config... /opt/local/bin/guile-config
checking for guile-tools... /opt/local/bin/guile-tools
checking libguile compile flags... -D_THREAD_SAFE -I/opt/local/include/guile/2.2
checking libguile link flags... -L/opt/local/lib -lguile-2.2 -lgc
checking whether GNU Guile is recent enough... checking the Guile effective version... 2.2
yes
checking whether gcc supports -fgnu89-inline... yes
checking for scm_gc_malloc_pointerless... yes

[…]

/bin/sh ../../libtool  --tag=CC   --mode=compile /opt/local/bin/clang-mp-6.0 -DHAVE_CONFIG_H -I. -I../..  -I../../lib/includes -I../../lib/includes -I../../extra/includes -I../.. -I. -I/opt/local/include -Wall -Wextra -Wno-strict-prototypes -Wno-unused-parameter  -I../../gl -I../../gl -D_THREAD_SAFE -I/opt/local/include/guile/2.2 -pipe -Os -arch x86_64 -MT guile_gnutls_v_2_la-errors.lo -MD -MP -MF .deps/guile_gnutls_v_2_la-errors.Tpo -c -o guile_gnutls_v_2_la-errors.lo `test -f 'errors.c' || echo './'`errors.c
libtool: compile:  /opt/local/bin/clang-mp-6.0 -DHAVE_CONFIG_H -I. -I../.. -I../../lib/includes -I../../lib/includes -I../../extra/includes -I../.. -I. -I/opt/local/include -Wall -Wextra -Wno-strict-prototypes -Wno-unused-parameter -I../../gl -I../../gl -D_THREAD_SAFE -I/opt/local/include/guile/2.2 -pipe -Os -arch x86_64 -MT guile_gnutls_v_2_la-errors.lo -MD -MP -MF .deps/guile_gnutls_v_2_la-errors.Tpo -c errors.c  -fno-common -DPIC -o .libs/guile_gnutls_v_2_la-errors.o
mv -f .deps/guile_gnutls_v_2_la-errors.Tpo .deps/guile_gnutls_v_2_la-errors.Plo
/bin/sh ../../libtool  --tag=CC   --mode=compile /opt/local/bin/clang-mp-6.0 -DHAVE_CONFIG_H -I. -I../..  -I../../lib/includes -I../../lib/includes -I../../extra/includes -I../.. -I. -I/opt/local/include -Wall -Wextra -Wno-strict-prototypes -Wno-unused-parameter  -I../../gl -I../../gl -D_THREAD_SAFE -I/opt/local/include/guile/2.2 -pipe -Os -arch x86_64 -MT guile_gnutls_v_2_la-utils.lo -MD -MP -MF .deps/guile_gnutls_v_2_la-utils.Tpo -c -o guile_gnutls_v_2_la-utils.lo `test -f 'utils.c' || echo './'`utils.c
libtool: compile:  /opt/local/bin/clang-mp-6.0 -DHAVE_CONFIG_H -I. -I../.. -I../../lib/includes -I../../lib/includes -I../../extra/includes -I../.. -I. -I/opt/local/include -Wall -Wextra -Wno-strict-prototypes -Wno-unused-parameter -I../../gl -I../../gl -D_THREAD_SAFE -I/opt/local/include/guile/2.2 -pipe -Os -arch x86_64 -MT guile_gnutls_v_2_la-utils.lo -MD -MP -MF .deps/guile_gnutls_v_2_la-utils.Tpo -c utils.c  -fno-common -DPIC -o .libs/guile_gnutls_v_2_la-utils.o
mv -f .deps/guile_gnutls_v_2_la-utils.Tpo .deps/guile_gnutls_v_2_la-utils.Plo
/bin/sh ../../libtool  --tag=CC   --mode=link /opt/local/bin/clang-mp-6.0 -Wall -Wextra -Wno-strict-prototypes -Wno-unused-parameter  -I../../gl -I../../gl -D_THREAD_SAFE -I/opt/local/include/guile/2.2 -pipe -Os -arch x86_64 -module -no-undefined -L/opt/local/lib -Wl,-headerpad_max_install_names -lsnowleopardfixes -arch x86_64 -o guile-gnutls-v-2.la -rpath /opt/local/lib/guile/2.2 guile_gnutls_v_2_la-core.lo guile_gnutls_v_2_la-errors.lo guile_gnutls_v_2_la-utils.lo ../../lib/libgnutls.la ../../gl/libgnu.la -L/opt/local/lib -lguile-2.2 -lgc -lintl 
libtool: link: /opt/local/bin/clang-mp-6.0  -o .libs/guile-gnutls-v-2.0.so -bundle  .libs/guile_gnutls_v_2_la-core.o .libs/guile_gnutls_v_2_la-errors.o .libs/guile_gnutls_v_2_la-utils.o   -Wl,-force_load,../../gl/.libs/libgnu.a  -L/opt/local/lib ../../lib/.libs/libgnutls.dylib -lz -lp11-kit -lidn2 -lunistring -ltasn1 -lnettle -lhogweed -lgmp -lsnowleopardfixes -lguile-2.2 -lgc -lintl  -Os -arch x86_64 -Wl,-headerpad_max_install_names -arch x86_64   -framework Security -framework CoreFoundation
libtool: link: (cd ".libs" && rm -f "guile-gnutls-v-2.so" && ln -s "guile-gnutls-v-2.0.so" "guile-gnutls-v-2.so")
libtool: link: ( cd ".libs" && rm -f "guile-gnutls-v-2.la" && ln -s "../guile-gnutls-v-2.la" "guile-gnutls-v-2.la" )
make[4]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_gnutls/gnutls/work/gnutls-3.5.18/guile/src'
make[3]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_gnutls/gnutls/work/gnutls-3.5.18/guile/src'
make[3]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_gnutls/gnutls/work/gnutls-3.5.18/guile'
../build-aux/install-sh -c -d "`dirname "modules/gnutls.scm"`" ; cat "modules/gnutls.in" |		\
	  /usr/bin/sed -e's|[@]guileextensiondir[@]|/opt/local/lib/guile/2.2|g'	\
	  > "modules/gnutls.scm.tmp"
mv "modules/gnutls.scm.tmp" "modules/gnutls.scm"
../build-aux/install-sh -c -d "`dirname "modules/gnutls.go"`" ;			\
	: && out=1 || out=- ;					\
	unset GUILE_LOAD_COMPILED_PATH ; LC_ALL=C			\
	GNUTLS_GUILE_EXTENSION_DIR="/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_gnutls/gnutls/work/gnutls-3.5.18/guile/src"	\
	/opt/local/bin/guild compile --target="x86_64-apple-darwin10"				\
	  -L "../guile/modules"				\
	  -L "../guile/modules"				\
	  -Wformat -Wunbound-variable -Warity-mismatch			\
	  -o "modules/gnutls.go" "modules/gnutls.scm" >&$out
;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;;       or pass the --no-auto-compile argument to disable.
;;; compiling /opt/local/bin/guild
;;; compiled /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_gnutls/gnutls/work/.home/.cache/guile/ccache/2.2-LE-8-3.A/opt/local/bin/guild.go
Backtrace:
In ice-9/boot-9.scm:
    713:2 19 (call-with-prompt _ _ #<procedure default-prompt-handler (k proc)>)
In ice-9/eval.scm:
    619:8 18 (_ #(#(#<directory (guile-user) 1006f1140>)))
In /opt/local/bin/guild:
    72:17 17 (main _)
In srfi/srfi-1.scm:
    640:9 16 (for-each #<procedure 102b63b40 at scripts/compile.scm:248:14 (file)> ("modules/gnutls.scm"))
In scripts/compile.scm:
   251:26 15 (_ _)
In system/base/target.scm:
     57:6 14 (with-target _ _)
In system/base/compile.scm:
    152:6 13 (compile-file "modules/gnutls.scm" #:output-file _ #:from _ #:to _ #:env _ #:opts _ # _)
     43:4 12 (call-once _)
In ice-9/boot-9.scm:
    849:4 11 (with-throw-handler _ _ _)
In system/base/compile.scm:
    59:11 10 (_)
   155:11  9 (_ #<closed: file 1026841c0>)
   235:18  8 (read-and-compile #<input: gnutls.scm 18> #:from _ #:to _ #:env _ #:opts _)
   183:32  7 (compile-fold (#<procedure compile-tree-il (x e opts)>) (eval-when (expand load eval) (# ?) #) ?)
In ice-9/boot-9.scm:
   2316:4  6 (save-module-excursion #<procedure 102c7f420 at language/scheme/compile-tree-il.scm:29:3 ()>)
In language/scheme/compile-tree-il.scm:
    31:15  5 (_)
In ice-9/psyntax.scm:
  1234:36  4 (expand-top-sequence ((eval-when (expand load eval) (define %libdir (or (getenv "G?") #)) #)) _ ?)
  1181:24  3 (parse _ (("placeholder" placeholder)) ((top) #(ribcage (%libdir) ((top)) (((# #) . #<s?>)))) _ ?)
   284:10  2 (parse _ (("placeholder" placeholder)) ((top) #(ribcage (%libdir) ((top)) (((# #) . #<s?>)))) _ ?)
In unknown file:
           1 (load-extension "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports?" ?)
In ice-9/boot-9.scm:
   760:25  0 (dispatch-exception _ _ _)

ice-9/boot-9.scm:760:25: In procedure dispatch-exception:
ice-9/boot-9.scm:760:25: In procedure dynamic-link: file: "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_gnutls/gnutls/work/gnutls-3.5.18/guile/src/guile-gnutls-v-2", message: "file not found"
make[3]: *** [modules/gnutls.go] Error 1
make[3]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_gnutls/gnutls/work/gnutls-3.5.18/guile'
--8<---------------cut here---------------end--------------->8---

Here it’s failing to open guile-gnutls-v-2.so from the build directory
(not the installation directory), AIUI.

We’d need more details to understand why that happens, and ideally a way
to reproduce the problem.  In particular, libltdl sometimes erroneously
reports “file not found” when the problem is something else (unresolved
symbol, etc.)  So, hard to tell what’s going on.

In GNU Guix we build GnuTLS with Guile bindings against Guile 2.0 and
2.2 just fine.  I’m not sure what the status is on GitLab CI.

Thanks,
Ludo’.



More information about the Gnutls-devel mailing list