[Phylobase-devl] Compilation woes
Steve Kembel
skembel at berkeley.edu
Mon Aug 4 06:49:48 CEST 2008
Hi Brian,
> Thanks for looking into this, Steve and Ben. If it is just a matter
> of old files not being rewritten properly, this should be able to be
> taken care of in the Makefile (effectively, make clean first). I'll
> check it out some more.
I'm not 100% sure about this. The install errors I get in Linux are
not very reproducible, but that's my guess. For example I got a very
similar error to the R-Forge linux build errors the first time I tried
to build, but then slightly different errors on subsequent attempts,
and no errors with a fresh copy of the code.
A few more things about this:
-make clean doesn't actually seem to work properly, there isn't a
clean action defined in the ncl makefile, maybe this is part of the
problem.
-there is a script pkg/cleanup that gets rid of a lot of the
accumulated files. I don't know if this could be incorporated into the
make clean action. I missed this until now but I think this is
something that Thibaut wrote to get phylobase to compile on linux_x64
a long while back. The message in which he describes it was pre-R-
Forge so I'm including a copy of the text below. Sounds like part of
the problem is indeed files not being deleted and messing up
subsequent builds.
-if i build the package from a clean copy of the code, the following
files are left behind.
steve at pundit:~/code/phylobase$ svn status
? pkg.Rcheck
? phylobase.Rcheck
? phylobase_0.3-1.tar.gz
? pkg/config.log
? pkg/config.status
? pkg/src/phylobase.so
? pkg/src/Makevars
? pkg/src/RcppSrc/libRcpp.a
? pkg/src/ncl/config.log
? pkg/src/ncl/config.status
? pkg/src/ncl/stamp-h1
? pkg/src/ncl/libtool
? pkg/src/ncl/configure.lineno
? pkg/src/ncl/Makefile
? pkg/src/ncl/ncl/.deps
? pkg/src/ncl/ncl/Makefile
? pkg/src/ncl/ncl/.libs
-if I then run the cleanup script, the following files are still left:
steve at pundit:~/code/phylobase/pkg$ svn status
? src/ncl/config.log
? src/ncl/config.status
? src/ncl/stamp-h1
? src/ncl/libtool
? src/ncl/configure.lineno
? src/ncl/Makefile
? src/ncl/ncl/.deps
? src/ncl/ncl/Makefile
Hope this helps. I definitely agree about the value of having NCL in
phylobase, let's see if we can sort out these issues.
Steve
Begin forwarded message:
> From: Thibaut Jombart
> Date: February 13, 2008 9:16:53 AM PST
> To: phylobase-devel at nescent.org
> Subject: Re: [phylobase-devel] 64bits compilation troubles: IT WORKS
>
> Ben Bolker wrote:
>
>> OK, but ...
>>
>> I thought your last e-mail said that even hacking -fPIC into
>> the Makefile didn't work. I think "we" should first figure out
>> if we can get it to build with a hacked Makefile, then figure
>> out how to make the Makefile get constructed properly.
>> (At worst, that might allow us to make a 64-bit binary
>> to post on the web page, although fixing this properly
>> would certainly be better.)
>>
>> I was guessing that ./configure --with-pics would
>> work, but you tried that ...
>>
>> I think we might also be able to shove it into the
>> automake flags somewhere ...
>>
>> Ben
>>
> Hi people,
>
> So I now have phylobase installed on my 64bits laptop. Yet, it does
> not answer how we will generally fix the problem.
> In fact, hacking the src/ncl/configure file indeed works, but didn't
> for the following reason. It seems that .o objects are compiled only
> when they do not already exist. If then do, then all what is done is
> linking, and so the hack was not effective. So, this works for me:
> 1) first run the cleanup script to override stuff like .o files.
> 2) modify the configure script like follows:
> (starting from line 20560)
>
> CXXFLAGS_WARNINGS="$CXXFLAGS_WARNINGS"
> CXXFLAGS_OPTIM_SPEED="-O3 -ffast-math"
> CXXFLAGS_OPTIM_SPEED="-O3 -ffast-math"
> CXXFLAGS_OPTIM_SIZE="-Os -ffast-math"
> # modif by Thibaut
> CXXFLAGS_USE_FPIC="-fPIC"
> fi
> case "$build_os" in
> darwin*) CXXFLAGS_WARNINGS="$CXXFLAGS_WARNINGS -Wno-long-
> double";;
> *);;
> esac
> fi
> if test "x$CXXFLAGS_OPTIM_SIZE" = "x"; then
> CXXFLAGS_OPTIM_SIZE=$CXXFLAGS_OPTIM_SPEED
> fi
>
> CXXFLAGS="$CXXFLAGS $CXXFLAGS_OPTIM_SPEED $CXXFLAGS_WARNINGS
> $CXXFLAGS_USE_FPIC"
>
> 3) run R CMD INSTALL (only warnings)
>
> Cheers,
>
> Thibaut.
More information about the Phylobase-devl
mailing list