Bug 219239 - textproc/sphinxsearch does not compile
Summary: textproc/sphinxsearch does not compile
Status: Closed Overcome By Events
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Matthew Seaman
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-05-12 14:55 UTC by Gerrit Beine
Modified: 2018-01-10 06:20 UTC (History)
2 users (show)

See Also:
bugzilla: maintainer-feedback? (matthew)


Attachments
Compilation log from poudriere (71.58 KB, text/plain)
2017-05-12 14:55 UTC, Gerrit Beine
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Gerrit Beine 2017-05-12 14:55:20 UTC
Created attachment 182545 [details]
Compilation log from poudriere

Compilation via poudriere fails with notice of bad C++ code, the same happens on amd64, armv6 and i386.
Comment 1 Matthew Seaman freebsd_committer 2017-05-12 15:14:12 UTC
Thank you very much for your report.  This seems to be localized in the libstemmer code.  I'll look into it over the weekend, but if you need a quick work-around, disabling the LIBSTEMMER option should get you running at least.
Comment 2 Gerrit Beine 2017-05-12 15:43:42 UTC
(In reply to Matthew Seaman from comment #1)
Thank you very much for your fast reply!
I'll try to compile it without libstemmer.
Comment 3 Walter Schwarzenfeld freebsd_triage 2017-05-12 16:48:38 UTC
Libstemmer is no problem on my system (10.3-amd64). I had to set off re2.
Comment 4 Matthew Seaman freebsd_committer 2017-05-13 12:47:20 UTC
(In reply to w.schwarzenfeld from comment #3)

Yes, you are correct.  The LIBSTEMMER option has no effect on this problem,
but the RE2 option does.  Turn off RE2 as a work-around.

Now to work out why this is happening:
```
/usr/local/include/re2/re2.h:915:5: error: no matching function for call to 'call_once'
    std::call_once(once_, &LazyRE2::Init, this);
    ^~~~~~~~~~~~~~
/usr/include/c++/v1/mutex:559:1: note: candidate function template not viable: requires 2 arguments, but 3 were provided
call_once(once_flag& __flag, _Callable& __func)
^
/usr/include/c++/v1/mutex:571:1: note: candidate function template not viable: requires 2 arguments, but 3 were provided
call_once(once_flag& __flag, const _Callable& __func)
^
```
Comment 5 Walter Schwarzenfeld freebsd_triage 2017-05-14 11:01:21 UTC
Re2 option compiles with the older revision of devel/re2 (r437439).
Comment 6 Walter Schwarzenfeld freebsd_triage 2017-05-14 11:46:17 UTC
I could compile it with re2 on. If I comment out the whole section
between line 880 and 920 (#ifndef swig <-> #endif) in /usr/local/include/re2/re2.h.
Seem it is need another or additional condition.
Comment 7 commit-hook freebsd_committer 2017-05-14 20:34:07 UTC
A commit references this bug:

Author: matthew
Date: Sun May 14 20:33:31 UTC 2017
New revision: 440902
URL: https://svnweb.freebsd.org/changeset/ports/440902

Log:
  Pending a better fix, mark broken when the RE2 option is enabled.
  Recent versions of devel/re2 install headers that result in error
  messages like so:

  /usr/local/include/re2/re2.h:915:5: error: no matching function for call to 'call_once'
      std::call_once(once_, &LazyRE2::Init, this);
      ^~~~~~~~~~~~~~

  No change to the default package, so no PORTREVISION bump.

  PR:		219239
  Submitted by:	mail+freebsd@gerritbeine.de, w.schwarzenfeld@utanet.at

Changes:
  head/textproc/sphinxsearch/Makefile
Comment 8 Walter Schwarzenfeld freebsd_triage 2018-01-10 01:57:20 UTC
I think this could be closed. Seems only forgotten to close.
Comment 9 Matthew Seaman freebsd_committer 2018-01-10 06:20:38 UTC
Agreed.