[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02/02: gnu: wordnet: Make sure the self-reference is visible to the GC.
From: |
Ludovic Courtès |
Subject: |
02/02: gnu: wordnet: Make sure the self-reference is visible to the GC. |
Date: |
Wed, 5 Oct 2016 16:36:09 +0000 (UTC) |
civodul pushed a commit to branch master
in repository guix.
commit 9d50da70608de32d9db0c29859caec6f2cddb95f
Author: Ludovic Courtès <address@hidden>
Date: Wed Oct 5 18:34:39 2016 +0200
gnu: wordnet: Make sure the self-reference is visible to the GC.
Before that, "guix gc --references $(guix build wordnet)" would not show
WordNet itself, erroneously so.
* gnu/packages/wordnet.scm (wordnet)[arguments]: Add -fno-builtin-strcpy
to #:configure-flags.
---
gnu/packages/wordnet.scm | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/wordnet.scm b/gnu/packages/wordnet.scm
index dd3cdf3..357c193 100644
--- a/gnu/packages/wordnet.scm
+++ b/gnu/packages/wordnet.scm
@@ -51,7 +51,22 @@
;; Provide the `result' field in `Tcl_Interp'.
;; See
<https://bugs.gentoo.org/show_bug.cgi?id=452034>.
- "CFLAGS=-DUSE_INTERP_RESULT -O2")
+ ;;
+ ;; The 'DEFAULTPATH' string literal, which
+ ;; contains the output path, only appears as
+ ;; the operand of one 'strcpy' call. As a
+ ;; consequence, GCC does not store the string
+ ;; literal as is but instead introduces "gaps"
+ ;; for alignment reasons presumably---like
+ ;; "/gnu/sto?????re/8jp8b??????ky105…". This
+ ;; makes this string invisible to the GC, which
+ ;; in turns causes problems when running a
+ ;; grafted WordNet because that grafted WordNet
+ ;; keeps referring to the ungrafted variant,
+ ;; which is not protected from GC. Thus,
+ ;; disable use of '__builtin_strcpy' to avoid
+ ;; that.
+ "CFLAGS=-DUSE_INTERP_RESULT -O2
-fno-builtin-strcpy")
#:phases
(modify-phases %standard-phases
(add-after 'install 'post-install