[erlang-questions] OTP R12B-1 build / installation issues
Ciprian Dorin Craciun
ciprian.craciun@REDACTED
Sun Mar 16 15:37:50 CET 2008
Hello all!
(Sorry for the cross-posting but this email could be seen as both
a bug report or a feature request.)
Today I tried to install OTP R12B-1 from the source code, and
during the process I have encountered the following issues.
I will present how the installation was conducted:
-- source code preparation:
-- downloaded distribution archive;
-- unarchived it;
-- added it to an git repository in a new branch;
-- checked out an empty branch => working directory was emptied;
-- checked out the OTP branch;
-- exported a tar archive with the contents;
-- unarchived the tar in a new folder /.../temp/sources
-- cd /.../temp/sources
-- ./configure --prefix=...
-- make
!! problem: make breaks somewhere in hipe/???, because git ignores
empty directories, and thus these directories are missing from the
newly created tar.
!! solution: created the forder which breaks make: lib/hipe/ebin
-- make # again => no complaints
-- make install
!! problem: it breaks again when trying to copy lib/erl_???.so (I
don't remember the exact name.) maybe because there were also other
missing folders;
So as a solution I've added a .gitignore (or .keep) file in each
empty folder before adding the source code to git. And after this
everything works fine.
Second related problem: I can not build the OTP in a different
directory than the source code, as in:
# OTP source is in "sources" -> /.../temp/sources
# the build hierarchy I want it in "output" -> /.../temp/output
cd output
/.../tmp/sources/configure.sh --prefix=...
# or neither
/.../tmp/sources/configure.sh --srcdir=/.../tmp/sources --prefix=...
Now, these problems are not very big, but I think it could be good
to know about them. Why can they impact:
-- some distributions could keep the packages source codes in a
git repository, or any other repository that doesn't track empty
folders;
-- a more advanced build system would prefer to keep the source
code and outputs distinct (like in the case of many other
applications, even glibc); (maybe because it will mount -- by using
fuse -- the archive directly to the .../sources folder, and .../output
will be a tmpfs;)
I hope these observations are of some help, and could help improve
the Erlang platform.
Thanks all,
Ciprian.
More information about the erlang-questions
mailing list