[Bug 209369] chinese/sunpinyin: Fix build with libc++ 3.8.0

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sat May 7 20:27:16 UTC 2016


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=209369

            Bug ID: 209369
           Summary: chinese/sunpinyin: Fix build with libc++ 3.8.0
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: freebsd-ports-bugs at FreeBSD.org
          Reporter: dim at FreeBSD.org
                CC: lichray at gmail.com
                CC: lichray at gmail.com
             Flags: maintainer-feedback?(lichray at gmail.com)

Created attachment 170103
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=170103&action=edit
Explicitly call float versions of log, exp, etc.

During the exp-run in bug 208158, it was found that chinese/sunpinyin gives
errors with libc++ 3.8.0 [1]:

gmake[2]: Entering directory '/wrkdirs/usr/ports/chinese/sunpinyin/work'
slmpack lm_sc.3gm.arpa dict.utf8 lm_sc.3gm
Loading lexicon...done.
Loading ARPA slm...
Writing out...done!
slmthread lm_sc.3gm lm_sc.t3g.orig
Loading original slm...
first pass...
Compressing pr values...65536 float values ==> 65536 values
Compressing bow values...16384 float values ==> 16384 values
Threading the new model...Assertion failed: (prit != pr_map.end()), function
main, file src/slm/thread/slmthread.cpp, line 364.
/wrkdirs/usr/ports/chinese/sunpinyin/work/sunpinyin-a8bd811/src/sunpinyin-dictgen.mk:51:
recipe for target 'lm_sc.t3g.orig' failed

This is because the code mostly uses floats, but in some parts it uses log(),
exp(), etc, which return doubles.  During the parts where it does lookups in
std::map<float, int> constructs, this leads to it not being able to find the
expected entries.  Fix this by using logf(), expf() and similar, which
explicitly return floats.

[1]
http://package18.nyi.freebsd.org/data/headamd64PR208158-default/2016-05-01_10h29m48s/logs/errors/zh-sunpinyin-2.0.4.r3.log

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-ports-bugs mailing list