clone 630320 -1 reassign -1 libfindlib-ocaml 1.2.6+debian-1 retitle -1 camlp4 depends on Dynlink on all architectures severity -1 important tag -1 patch retitle 630320 FTBFS on ocaml native arches without native dynlink tag 630320 pending thanks
Hi, Thanks for your report. There are indeed two separate issues, one for armel, and one for the other architectures. The armel issue is an obus issue: configure detects that armel is a native architecture and therefore builds native files. However, as camlp4 depends on dynlink, and armel doesn't have native dynlink, it fails to build. Forcing a non-native build on architectures without natdynlink fixes the issue. For the other arches, the problem is that camlp4 now unconditionnally depends on Dynlink, whether the architecture have natdynlink or not. This change (which I couldn't trace, but surely is an ocaml upstream change) wasn't reflected in the METAS/META.camlp4 file, and now camlp4.lib fails to link on non-natdynlink architectures. To see the bug, e.g. on a mipsel qemu: ------8<------ nicolasd@debian:~$ ocaml Objective Caml version 3.12.0 # #use "topfind";; - : unit = () Findlib has been successfully loaded. Additional directives: #require "package";; to load a package #list;; to list the available packages #camlp4o;; to load camlp4 (standard syntax) #camlp4r;; to load camlp4 (revised syntax) #predicates "p,q,...";; to set these predicates Topfind.reset();; to force that packages will be reloaded #thread;; to enable threads - : unit = () # #camlp4o;; /usr/lib/ocaml/camlp4: added to search path /usr/lib/ocaml/camlp4/camlp4o.cma: loaded Error: Reference to undefined global `Dynlink' ------8<------ Attached is a patch for findlib, I didn't commit this as I'm not certain this is the way to go. But anyway after changing the META.camlp4 file the obus FTBFS goes away. Thanks, -- Nicolas Dandrimont
From: Nicolas Dandrimont <nicolas.dandrim...@crans.org> Date: Tue, 14 Jun 2011 15:21:31 +0200 Subject: Camlp4 depends on Dynlink on every architecture --- site-lib-src/camlp4.310/META.in | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/site-lib-src/camlp4.310/META.in b/site-lib-src/camlp4.310/META.in index 637d848..a490ab1 100644 --- a/site-lib-src/camlp4.310/META.in +++ b/site-lib-src/camlp4.310/META.in @@ -6,7 +6,7 @@ dnl This file is input of the m4 macro processor. `directory = "'camlp4_dir`"' `# For the toploop:' -`requires(byte,toploop) = "'camlp4_dynlink`"' +`requires(byte,toploop) = "dynlink"' `archive(byte,toploop,camlp4o) = "camlp4o.cma"' `archive(byte,toploop,camlp4r) = "camlp4r.cma"' @@ -16,7 +16,7 @@ dnl This file is input of the m4 macro processor. `preprocessor = "'camlp4_cmd`"' `package "lib" (' -` requires = "camlp4 'camlp4_dynlink`"' +` requires = "camlp4 dynlink"' ` version = "[distributed with Ocaml]"' ` description = "Camlp4 library"' ` archive(byte) = "camlp4lib.cma"' --
pgpfDKJoAlTXA.pgp
Description: PGP signature