<div>Summary: A local build and install from source for Erlang R15B01 succeeds, 'make docs' succeeds, but the subsequent 'make install-docs' fails.</div>Release: R15B01<div>Operating System: Mac OS X Lion 10.7.4</div>


<div><br></div><div>Steps to Reproduce:</div><div><div>$ curl -O <a href="http://www.erlang.org/download/otp_src_R15B01.tar.gz" target="_blank">http://www.erlang.org/download/otp_src_R15B01.tar.gz</a></div><div>$ tar xzvf otp_src_R15B01.tar.gz</div>


<div>$ cd otp_src_R15B01</div></div><div><br></div><div>Per instructions at <a href="http://www.erlang.org/doc/installation_guide/INSTALL.html#Building-a-fast-Erlang-VM-on-Mac-OS-Lion" target="_blank">http://www.erlang.org/doc/installation_guide/INSTALL.html#Building-a-fast-Erlang-VM-on-Mac-OS-Lion</a> install MacPorts GCC 4.5.</div>


<div><br></div><div>$ sudo port install gcc45 +universal</div><div><br></div><div>Install wxWidgets 2.8.12 and FOP 1.0 from MacPorts to satisfy dependencies.</div><div><br></div><div><div>$ sudo port install wxwidgets</div>


<div>$ which wx-config </div><div>/opt/local/bin/wx-config</div></div><div><br></div><div><div>$ sudo port install fop</div><div>$ which fop</div><div>/opt/local/bin/fop</div></div><div><br clear="all"><div>otp_src_R15B01 barryh$ PATH=/usr/local/bin:$PATH CC=/opt/local/bin/gcc-mp-4.5 CXX=/opt/local/bin/g++-mp-4.5 ./configure --enable-m32-build --prefix=$HOME</div>


<div>otp_src_R15B01 barryh$ make install</div><div><div>otp_src_R15B01 barryh$ which erl</div><div>/Users/barryh/bin/erl</div></div><div><br></div><div>With a successful installation of the system, proceeding to install the documentation per instructions at <a href="http://www.erlang.org/doc/installation_guide/INSTALL.html#The-ErlangOTP-Documentation_How-to-Build-the-Documentation" target="_blank">http://www.erlang.org/doc/installation_guide/INSTALL.html#The-ErlangOTP-Documentation_How-to-Build-the-Documentation</a></div>


<div><br></div><div>otp_src_R15B01 barryh$ export PATH=$HOME/lib/erlang/bin:$PATH</div><div><div>otp_src_R15B01 barryh$ echo $PATH</div><div>/Users/barryh/lib/erlang/bin:/Users/barryh/bin:/opt/local/bin:/opt/local/sbin:/Users/barryh/play-2.0.1:/Users/barryh/scala/bin:/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin</div>


</div><div><div>otp_src_R15B01 barryh$ export FOP_OPTS="-Xmx8192m"</div><div>otp_src_R15B01 barryh$ make docs</div></div><div><div>otp_src_R15B01 barryh$ make install-docs</div><div>ERL_TOP=/Users/barryh/otp_src_R15B01 INSTALLROOT=/Users/barryh/lib/erlang PATH=/Users/barryh/otp_src_R15B01/bootstrap/bin:${PATH} \</div>


<div><span style="white-space:pre-wrap">  </span>make RELEASE_ROOT=/Users/barryh/lib/erlang release_docs</div><div>PATH=/Users/barryh/otp_src_R15B01/bin:${PATH} escript /Users/barryh/otp_src_R15B01/lib/erl_docgen/priv/bin/xref_mod_app.escript -topdir /Users/barryh/otp_src_R15B01 -outfile /Users/barryh/otp_src_R15B01/make/i386-apple-darwin11.4.0/mod2app.xml</div>


<div>escript: exception error: undefined function xmerl:export_simple/2</div><div>  in function  erl_eval:do_apply/6 (erl_eval.erl, line 572)</div><div>  in call from erl_eval:expr/5 (erl_eval.erl, line 367)</div><div>  in call from erl_eval:exprs/5 (erl_eval.erl, line 118)</div>


<div>  in call from erl_eval:local_func/5 (erl_eval.erl, line 470)</div><div>  in call from escript:interpret/4 (escript.erl, line 754)</div><div>  in call from escript:start/1 (escript.erl, line 277)</div><div>  in call from init:start_it/1 </div>


<div>make[1]: *** [mod2app] Error 127</div><div>make: *** [install-docs] Error 2</div></div><div><br></div><div>Comments:</div><div>After some searching, it seems a similar issue has been encountered before. In particular, there were some reports following the release of R14B02 in March 2011, with commentary confirming the behavior on Ubuntu, CentOS, and Mac OS X. Here are links to the start of the related threads, one in erlang-questions and the other in erlang-bugs:</div>


<div><br></div><div><a href="http://erlang.org/pipermail/erlang-questions/2011-March/057024.html" target="_blank">http://erlang.org/pipermail/erlang-questions/2011-March/057024.html</a></div><div><a href="http://erlang.org/pipermail/erlang-bugs/2011-March/002247.html" target="_blank">http://erlang.org/pipermail/erlang-bugs/2011-March/002247.html</a></div>


<div><br></div><div>I confirmed the presence of xmerl-X.X.X in the installation's lib directory:</div><div><br></div><div><div>$ ls -Fla /Users/barryh/lib/erlang/lib/xmerl-1.3.1/</div><div>total 0</div><div>drwxr-xr-x   5 barryh  staff   170 Jun 14 13:18 ./</div>


<div>drwxr-xr-x  58 barryh  staff  1972 Jun 14 13:18 ../</div><div>drwxr-xr-x  37 barryh  staff  1258 Jun 14 13:18 ebin/</div><div>drwxr-xr-x   5 barryh  staff   170 Jun 14 13:18 include/</div><div>drwxr-xr-x  42 barryh  staff  1428 Jun 14 13:18 src/</div>

<div><br></div><div>I also confirmed that the xmerl module could be loaded in my shell using a small example from <a href="http://stackoverflow.com/questions/1227241/building-an-xmerl-document-in-erlang" target="_blank">http://stackoverflow.com/questions/1227241/building-an-xmerl-document-in-erlang</a>.</div>

<div><br></div><div><div>> Data = {myNode,[{foo,"Foo"},{bar,"Bar"}], []}.</div><div>{myNode,[{foo,"Foo"},{bar,"Bar"}],[]}</div><div>> lists:flatten(xmerl:export_simple([Data], xmerl_xml)).</div>

<div>"<?xml version=\"1.0\"?><myNode foo=\"Foo\" bar=\"Bar\"/>"</div></div>
</div><div><div>> m().</div><div>Module                File</div><div>application           /Users/barryh/lib/erlang/lib/kernel-2.15.1/ebin/application.beam</div></div><div>...</div><div><div>xmerl                 /Users/barryh/lib/erlang/lib/xmerl-1.3.1/ebin/xmerl.beam</div>

<div>xmerl_lib             /Users/barryh/lib/erlang/lib/xmerl-1.3.1/ebin/xmerl_lib.beam</div><div>xmerl_xml             /Users/barryh/lib/erlang/lib/xmerl-1.3.1/ebin/xmerl_xml.beam</div></div><div>...</div><div><br></div>

<div>I tried changing "#!/usr/bin/env escript" to "#!/Users/barryh/bin/escript" as mentioned in <a href="http://erlang.org/pipermail/erlang-questions/2011-March/057072.html" target="_blank">http://erlang.org/pipermail/erlang-questions/2011-March/057072.html</a>, but the behavior remained the same.</div>


<div><br></div><div>I also tried adding the source's bin directory to $PATH instead of the installed system's bin directory, but the behavior did not change:</div><div><br></div><div><div>otp_src_R15B01 barryh$ export PATH=/Users/barryh/otp_src_R15B01/bin:$PATH</div>


<div>otp_src_R15B01 barryh$ echo $PATH</div><div>/Users/barryh/otp_src_R15B01/bin:/Users/barryh/bin:/opt/local/bin:/opt/local/sbin:/Users/barryh/play-2.0.1:/Users/barryh/scala/bin:/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin</div>


<div>otp_src_R15B01 barryh$ make install-docs</div><div>ERL_TOP=/Users/barryh/otp_src_R15B01 INSTALLROOT=/Users/barryh/lib/erlang PATH=/Users/barryh/otp_src_R15B01/bootstrap/bin:${PATH} \</div><div><span style="white-space:pre-wrap"> </span>make RELEASE_ROOT=/Users/barryh/lib/erlang release_docs</div>


<div>PATH=/Users/barryh/otp_src_R15B01/bin:${PATH} escript /Users/barryh/otp_src_R15B01/lib/erl_docgen/priv/bin/xref_mod_app.escript -topdir /Users/barryh/otp_src_R15B01 -outfile /Users/barryh/otp_src_R15B01/make/i386-apple-darwin11.4.0/mod2app.xml</div>


<div>escript: exception error: undefined function xmerl:export_simple/2</div><div>  in function  erl_eval:do_apply/6 (erl_eval.erl, line 572)</div><div>  in call from erl_eval:expr/5 (erl_eval.erl, line 367)</div><div>  in call from erl_eval:exprs/5 (erl_eval.erl, line 118)</div>


<div>  in call from erl_eval:local_func/5 (erl_eval.erl, line 470)</div><div>  in call from escript:interpret/4 (escript.erl, line 754)</div><div>  in call from escript:start/1 (escript.erl, line 277)</div><div>  in call from init:start_it/1 </div>


<div>make[1]: *** [mod2app] Error 127</div><div>make: *** [install-docs] Error 2</div></div><div><br></div><div>Thanks in advance for any insight one may be able to provide, and apologies if I have overlooked some issue.</div>

<div><br></div><div>Regards,</div>-- <br>Barry Hawkins<br>twitter: @barryhawkins<br>blog: <a href="http://barryhawkins.com/blog/" target="_blank">http://barryhawkins.com/blog/</a><br>
linkedin: <a href="http://www.linkedin.com/in/barryhawkins" target="_blank">http://www.linkedin.com/in/barryhawkins</a><br><br>
</div>