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

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Mon May 9 18:45:43 UTC 2016


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

--- Comment #7 from commit-hook at freebsd.org ---
A commit references this bug:

Author: dim
Date: Mon May  9 18:44:48 UTC 2016
New revision: 414881
URL: https://svnweb.freebsd.org/changeset/ports/414881

Log:
  MFH: r414787

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

  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.

  Approved by:  portmgr (junovitch)
  PR:           209369

Changes:
_U  branches/2016Q2/
  branches/2016Q2/chinese/sunpinyin/Makefile
  branches/2016Q2/chinese/sunpinyin/files/patch-src_slm_thread_slmthread.cpp

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


More information about the freebsd-ports-bugs mailing list