tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

textproc/dict-dictionaries: sort: Illegal byte sequence



hi-

    I've noticed on my mac w/OSX that building textproc/dict-dictionaries
is generating the following error:

 "The Free On-line Dictionary of Computing (15Feb98)" \
                foldoc < data/Dictionary
sort: string comparison failed: Illegal byte sequence
sort: Set LC_ALL='C' to work around the problem.
sort: The strings compared were `ZERMELO FR\304NKEL SET THEORY\tQNDT\tJF' and `ZERMELO SET THEORY\tQNMY\tOT'.
       11509 headwords

and the corresponding output file has a zero length index file:

# ls -ls work/dict-misc-1.5/foldoc.*
1760 -rw-r--r--  1 root  authedusers  1801743 Apr  1 22:08 work/dict-misc-1.5/foldoc.dict.dz
   0 -rw-r--r--  1 root  authedusers        0 Apr  1 22:08 work/dict-misc-1.5/foldoc.index



    now if I do "env LC_ALL=C bmake" then the sort error goes away
and the index file has content:

# ls -ls work/dict-misc-1.5/foldoc.*
1760 -rw-r--r--  1 root  authedusers  1801743 Apr  1 22:09 work/dict-misc-1.5/foldoc.dict.dz
 224 -rw-r--r--  1 root  authedusers   225543 Apr  1 22:09 work/dict-misc-1.5/foldoc.index



should pkgsrc address this?  would it be ok to add an "LC_ALL=C"
to the do-build target?   e.g.

retrieving revision 1.12
diff -u -r1.12 Makefile
--- Makefile    25 Oct 2012 06:55:45 -0000      1.12
+++ Makefile    2 Apr 2018 02:21:02 -0000
@@ -61,7 +61,7 @@
        @${LN} -fs ${WRKDIR}/web1913-0.46-a ${WRKDIR}/dict-web1913-1.4/web1913
        @for d in ${DICTIONARIES}; do \
                (cd ${WRKDIR}/$$d; \
-                   ${MAKE_PROGRAM} db); \
+                   ${MAKE_PROGRAM} LC_ALL=C db); \
        done
        ${FIND} ${WRKDIR} -name '*.dict' -print | \
        while read f; do \


i just tried this, and it appears to work.


chuck


Home | Main Index | Thread Index | Old Index