diff options
author | Ludovic Courtès <ludo@gnu.org> | 2016-10-05 18:34:39 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2016-10-05 18:35:55 +0200 |
commit | 9d50da70608de32d9db0c29859caec6f2cddb95f (patch) | |
tree | 36de695bceea6425457bdd977b977eee0cfe8226 | |
parent | 939f87438ca055f4d1921c994d109688c29d30cd (diff) |
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.
-rw-r--r-- | gnu/packages/wordnet.scm | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/gnu/packages/wordnet.scm b/gnu/packages/wordnet.scm index dd3cdf3008..357c19351b 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 |