Package Details: mosesdecoder 3.0.0-2

Git Clone URL: https://aur.archlinux.org/mosesdecoder.git (read-only)
Package Base: mosesdecoder
Description: State of the art Statistical Machine Translation system - Stable Release 3
Upstream URL: http://www.statmt.org/moses
Licenses: LGPL
Submitter: panosk
Maintainer: panosk
Last Packager: panosk
Votes: 1
Popularity: 0.024027
First Submitted: 2015-10-02 18:41
Last Updated: 2017-01-29 16:28

Dependencies (11)

Required by (0)

Sources (2)

Latest Comments

panosk commented on 2017-01-29 16:33

Updated the package to use a newly created fork of the stable release branch that includes fixes to allow compiling with c++14. Also the xmlrpc-c package has been updated and now it links fine, so everything should work as expected now.

thephoenix97 commented on 2017-01-27 22:51

@panosk: Yes. Downgrading the xmlrpc-c to penultimate version (1.43.03-1) and then compiling with c++98 fixed everything. The fact that it was a penultimate might be helpful in pinning down the problem. Good for now, although I am hoping that people upstream will fix this issue soon since its a stable release.
Thank you for support, dear sir. You have a good day. :)

panosk commented on 2017-01-27 21:29

I've already notified moses' developers to backport a few fixes from master to stable release 3 so it can compile with c++11 (and c++14 for that matter). It shouldn't be a trouble, the relative fixes apply only to 2 files, phrase-extract/extract-mixed-syntax/Main.cpp and biconcor/Vocabulary.cpp -- too bad I spent hours to fix them and found afterwards these fixes were applied to master already... Lets hope they will apply the fixes, otherwise there's no point maintaining the stable release anymore.
As for the linking error, I have already contacted Alexander Rødseth, the maintainer of the xmlrpc package. Version 1.41.01 links fine, later versions have changed ABI, hence the problem. I also can't compile current version of xmlrpc using the PKGBUILD, libxml2 seems broken. Maybe relevant: https://sourceforge.net/p/xmlrpc-c/discussion/131628/thread/aba0eca1/?limit=25

So, until everything settles down, the solution is to make the change for c++98 in makepkg.conf, downgrade xmlrpc, or completely uninstall the package (if bjam doesn't find xmlrpc, it won't try to compile mosesserver -- in that case, edit the PKGBUILD when asked and remove the "--with-xmlrpc-c" line).

thephoenix97 commented on 2017-01-27 20:54

The compilations proceeds normally when -std=c++98 is given in /etc/makepkg.conf. However, linking still fails. The problem in this case appears to be with xmlrpc as linker tries to link to std::__cxx11::... namespaces from xmlrpc. There are two such fails reported, both related to xmlrpc. It would seem that updated xmplrpc-c from the community db might now be using c++11. Wasn't the case long before, as I remember building everything cleanly a month ago.

panosk commented on 2017-01-27 14:40

@thephoenix97: Thanks, I think I spotted the problem, ostream classes cannot implicitly convert to void* after C++11, so I'll try to fix the code locally and then notify the devs upstream.

thephoenix97 commented on 2017-01-27 12:01

with gcc 6.3, std=gnu++14 is default. Therefore compiling fails. Please account for the fact in the packaging, that gcc has now been updated to 6.3 on arch linux.