unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
blob e8678f4f647146339f2e043ad3bb5638778ac51d 1636 bytes (raw)
name: packages/patches/ocaml-multiple-definitions.patch 	 # note: path name is non-authoritative(*)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 
Avoid multiply-defined symbols that lead to link errors such as:

  gcc -O2 -fno-strict-aliasing -fwrapv -Wall -fno-tree-vrp  -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE  -Wl,-E -o ocamlruni prims.o libcamlruni.a -lm  -ldl -lpthread 
  ld: libcamlruni.a(backtrace.i.o):/tmp/guix-build-ocaml-4.07.1.drv-0/ocaml-4.07.1/byterun/backtrace.c:31: multiple definition of `caml_debug_info'; libcamlruni.a(backtrace_prim.i.o):/tmp/guix-build-ocaml-4.07.1.drv-0/ocaml-4.07.1/byterun/backtrace_prim.c:47: first defined here

diff --git a/asmrun/startup.c b/asmrun/startup.c
index 070f0c6..cf8a56f 100644
--- a/asmrun/startup.c
+++ b/asmrun/startup.c
@@ -44,7 +44,6 @@
 #endif
 
 extern int caml_parser_trace;
-CAMLexport header_t caml_atom_table[256];
 char * caml_code_area_start, * caml_code_area_end;
 struct ext_table caml_code_fragments_table;
 
diff --git a/byterun/backtrace.c b/byterun/backtrace.c
index 8dfe9b7..9cc9e72 100644
--- a/byterun/backtrace.c
+++ b/byterun/backtrace.c
@@ -28,7 +28,7 @@
 #include "caml/fail.h"
 
 /* The table of debug information fragments */
-struct ext_table caml_debug_info;
+static struct ext_table caml_debug_info;
 
 CAMLexport int32_t caml_backtrace_active = 0;
 CAMLexport int32_t caml_backtrace_pos = 0;
diff --git a/byterun/backtrace_prim.c b/byterun/backtrace_prim.c
index e69b256..d794f73 100644
--- a/byterun/backtrace_prim.c
+++ b/byterun/backtrace_prim.c
@@ -44,7 +44,7 @@
 #include "caml/backtrace_prim.h"
 
 /* The table of debug information fragments */
-struct ext_table caml_debug_info;
+static struct ext_table caml_debug_info;
 
 CAMLexport char_os * caml_cds_file = NULL;
 

debug log:

solving e8678f4f647146339f2e043ad3bb5638778ac51d ...
found e8678f4f647146339f2e043ad3bb5638778ac51d in https://git.savannah.gnu.org/cgit/guix.git

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).