| Summary: | net-im/ejabberd fails to build with new erlang version 19.0.5,3 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | Ports & Packages | Reporter: | Philip Homburg <pch-freebsd-bugs-1> | ||||||||
| Component: | Individual Port(s) | Assignee: | Ashish SHUKLA <ashish> | ||||||||
| Status: | Closed FIXED | ||||||||||
| Severity: | Affects Only Me | CC: | dewayne, w.schwarzenfeld | ||||||||
| Priority: | --- | Flags: | bugzilla:
maintainer-feedback?
(ashish) |
||||||||
| Version: | Latest | ||||||||||
| Hardware: | Any | ||||||||||
| OS: | Any | ||||||||||
| Attachments: |
|
||||||||||
Created attachment 174379 [details]
files/patch-Makefile.in
For clarity, ejabberd requires an upgrade from 16.04 to 16.08, per https://blog.process-one.net/ejabberd-16-08/ "Fix compilation issues on R19" I modified the Makefile for 16.08 and applied the patch-Makefile.in patch. Unfortunately both the i386 (using openssl) and amd (libressl) failed at the same point as Philip (I also used the same Makefile options). Following is a log extract: Compiled src/fxmlrpc.erl /var/ports/usr/ports/net-im/ejabberd/work/deps/fast_xml/src/fxml.erl:51: syntax error before: '/' ... /var/ports/usr/ports/net-im/ejabberd/work/deps/fast_xml/src/fxml.erl:384: syntax error before: '/' ERROR: compile failed while processing /var/ports/usr/ports/net-im/ejabberd/work/deps/fast_xml: rebar_abort gmake[1]: *** [Makefile:90: deps/.built] Error 1 gmake[1]: Leaving directory '/var/ports/usr/ports/net-im/ejabberd/work/ejabberd-16.08' *** Error code 1 Unfortunately I'm unable to proceed, hopefully its a start... The same error appears with 16.08.
This error is easy to patch, to change all -specs like this
--spec(element_to_binary/1 ::
+-spec(element_to_binary
but it seems a deeper error, later appears another error:
src/ejabberd_config.erl:none: error in parse transform 'lager_transform': {function_clause,
[{lager_transform,
'-walk_ast/2-fun-0-',
[{typed_record_field,
{record_field,50,
{atom,50,iterationcount},
{integer,50,0}},
{type,50,integer,[]}}],
[{file,
"src/lager_transform.erl"},
{line,62}]},
{lists,map,2,
[{file,"lists.erl"},
{line,1239}]},
{lists,map,2,
[{file,"lists.erl"},
{line,1239}]},
{lager_transform,walk_ast,2,
[{file,
"src/lager_transform.erl"},
{line,62}]},
{compile,
'-foldl_transform/2-anonymous-2-',
2,
[{file,"compile.erl"},
{line,958}]},
{compile,foldl_transform,2,
[{file,"compile.erl"},
{line,960}]},
{compile,
'-internal_comp/4-anonymous-1-',
2,
[{file,"compile.erl"},
{line,315}]},
{compile,fold_comp,3,
[{file,"compile.erl"},
{line,341}]}]}
ERROR: compile failed while processing /ram/usr/ports/net-im/ejabberd/work/ejabberd-16.04: rebar_abort
gmake[2]: *** [Makefile:90: deps/.built] Error 1
gmake[2]: Leaving directory '/ram/usr/ports/net-im/ejabberd/work/ejabberd-16.04'
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1
It is the same on both versions 16.04 and 16.08.
I am rather insecure, but may it is this: ejabberd has an rebar binary in the source-code. Maybe, it should changed ro devel/rebar. (but I don't know too less about erlang). Created attachment 174450 [details]
possible_svn-diff-net_im-ejabberd
Only tested in the port (10.3-RELEASE) this compiles and installs without errors. Maybe there will be a simpler way, with not so many patches. (In reply to w.schwarzenfeld from comment #6) That's a pretty astonishing patch set for what's supposed to be a working/tested application. Certainly something that should be fed back upstream. Thank-you for your efforts, particularly walk_ast. A commit references this bug: Author: ashish Date: Wed Sep 7 13:02:08 UTC 2016 New revision: 421499 URL: https://svnweb.freebsd.org/changeset/ports/421499 Log: - Update to 16.08 - Update dependencies tarball - Add a diff for riakc to build it with Erlang 19.x - Temporarily disable LOGDB option - Instead of post-patch, switch to pre-configure target for in-place replacements PR: 212410 212328 Changes: head/net-im/ejabberd/Makefile head/net-im/ejabberd/distinfo head/net-im/ejabberd/files/patch-.._deps_riakc_rebar.config head/net-im/ejabberd/files/patch-Makefile.in head/net-im/ejabberd/files/patch-ejabberdctl.template head/net-im/ejabberd/pkg-plist Committed update. HTH |
Created attachment 174311 [details] poudriere log Fails to build with new erlang version 19.0.5,3 See attached poudriere log