[Phylobase-devl] New phylobase build approach using static libncl (Was: Rcpp and OS X compiliation)
Dirk Eddelbuettel
edd at debian.org
Mon Jan 25 14:14:29 CET 2010
On 25 January 2010 at 08:00, Ben Bolker wrote:
| I got only this far:
|
| I haven't had a chance to check in to it yet & see what's going on.
| (Yes, it implies a permission problem, but I've never had anything like
| this ever happen before in building a package, so I wouldn't jump to the
| conclusion that my system is mis-configured.)
|
| Ubuntu Intrepid Ibex: Linux bolker-lap2 2.6.27-16-generic #1 SMP Tue
| Dec 1 17:56:54 UTC 2009 i686 GNU/Linux
|
|
| configure: starting to build libncl.a in ncl
| ./configure: 465: cannot create configure.lineno: Permission denied
| configure: error: cannot create configure.lineno; rerun with a POSIX shell
I think that is a hint. On Ubuntu /bin/sh is not bash, and we get bitten.
Why, I do not know. Something is still odd. You did that in your home
directory and the files from the tarball look good otherwise?
What I had done way back for cran2deb was similar in spirit --- a patch that
provides a Makefile that creates libncl.a. It's more brute force. But if we
cannot run configure for ncl let's make an endrun around configure for ncl.
Dirk
| make all-recursive
| make[1]: Entering directory `/home/ben/lib/R/pkgs/phylobase/pkg/src/ncl'
| Making all in ncl
| make[2]: Entering directory `/home/ben/lib/R/pkgs/phylobase/pkg/src/ncl/ncl'
| /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I.
| -I.. -O3 -ffast-math -fPIC -MT nxsassumptionsblock.lo -MD -MP -MF
| .deps/nxsassumptionsblock.Tpo -c -o nxsassumptionsblock.lo
| nxsassumptionsblock.cpp
| g++ -DHAVE_CONFIG_H -I. -I.. -O3 -ffast-math -fPIC -MT
| nxsassumptionsblock.lo -MD -MP -MF .deps/nxsassumptionsblock.Tpo -c
| nxsassumptionsblock.cpp -fPIC -DPIC -o .libs/nxsassumptionsblock.o
| nxsassumptionsblock.cpp:481: fatal error: opening dependency file
| .deps/nxsassumptionsblock.Tpo: Permission denied
| compilation terminated.
| make[2]: *** [nxsassumptionsblock.lo] Error 1
| make[2]: Leaving directory `/home/ben/lib/R/pkgs/phylobase/pkg/src/ncl/ncl'
| make[1]: *** [all-recursive] Error 1
| make[1]: Leaving directory `/home/ben/lib/R/pkgs/phylobase/pkg/src/ncl'
| make: *** [all] Error 2
| Making install in ncl
| make[1]: Entering directory `/home/ben/lib/R/pkgs/phylobase/pkg/src/ncl/ncl'
| /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I.
| -I.. -O3 -ffast-math -fPIC -MT nxsassumptionsblock.lo -MD -MP -MF
| .deps/nxsassumptionsblock.Tpo -c -o nxsassumptionsblock.lo
| nxsassumptionsblock.cpp
| g++ -DHAVE_CONFIG_H -I. -I.. -O3 -ffast-math -fPIC -MT
| nxsassumptionsblock.lo -MD -MP -MF .deps/nxsassumptionsblock.Tpo -c
| nxsassumptionsblock.cpp -fPIC -DPIC -o .libs/nxsassumptionsblock.o
| nxsassumptionsblock.cpp:481: fatal error: opening dependency file
| .deps/nxsassumptionsblock.Tpo: Permission denied
| compilation terminated.
| make[1]: *** [nxsassumptionsblock.lo] Error 1
| make[1]: Leaving directory `/home/ben/lib/R/pkgs/phylobase/pkg/src/ncl/ncl'
| make: *** [install-recursive] Error 1
| configure: finished building libncl.a in ncl
|
|
| Dirk Eddelbuettel wrote:
| > On 23 January 2010 at 21:04, Dirk Eddelbuettel wrote:
| > | Thanks to the excellent debugging work by Mark Holder, as well as some help
| > | from Simon Urbanek, we finally got OS X and Rcpp to be nice to each other:
| > | static linking lets everybody be friends.
| >
| > Rcpp 0.7.3 will not do. Yesterday I learned from Simon U that I 'broke' Rcpp
| > by including a configure file which means no universal OS X binary with x86,
| > ppc, x86_64 content get created. We will reverse this ASAP for 0.7.4 but it
| > may take a day.
| >
| > Hopefully with 0.7.4 all will be good. The rest of the mail is still valid I
| > would appreciate tests of the new libncl builds though.
| >
| > Sorry, Dirk
| >
| > |
| > | This was encoded in Rcpp 0.7.3 which was released earlier this week. So I
| > | figured it was time to get back to the rest of the phylobase build. And a
| > | few days earlier I had suggested:
| > |
| > | On 11 January 2010 at 08:55, Dirk Eddelbuettel wrote:
| > | | I am still game. I see a three-pronged approach:
| > | |
| > | | i) Suggestion Let's fix NCL and have a locally built version outside
| > | | of phylobase on all test platforms
| > | |
| > | | ii) With that, fix/simplify Rcpp usage. Should be easy
| > | |
| > | | iii) With that, get back to i) and clean up NCL's configure.
| > | |
| > | | I think it would be easier to disentangle Rcpp and NCL inside phylobase while
| > | | we make this more.
| > |
| > | And I just committed a simple and easy fix to phylobase's SVN on R-Forge. In
| > | a nutshell, we were just descending down to ncl's source directory and saying
| > | 'configure; make' which leaves the ncl library unfinished. The mighty libtool
| > | would normally run over it once more during 'make install'.
| > |
| > | So I changed it to this (and recall that this is relative to top-level
| > | directory for phylobase):
| > |
| > | cd src/ncl
| > | ./configure --quiet --enable-static --disable-shared --prefix=`pwd`/..
| > | make
| > | make install
| > | cd ../..
| > |
| > | So we ask for a static library (and no dynamic library), and we tell
| > | configure to put it simply one directory up. That works well enough! I also
| > | changed the CPPFLAGS and LDFLAGS accordingly: include/ncl and lib/ncl are now
| > | created during that new 'make install' step:
| > |
| > | ## configure include/load flags and copy sample source to inst/doc
| > | AC_SUBST([CPPFLAGS],["${CPPFLAGS} ${rcpp_cxxflags} -Iinclude/ncl"])
| > | AC_SUBST([LDFLAGS],["${LDFLAGS} ${rcpp_ldflags} -Llib/ncl -lncl"])
| > |
| > | With that phylobase builds and installs fine on my Linux machine and
| > | (finger's crossed!!) should do the same on other people's Linux and OS X
| > | boxen. So if over the next few days you have a moment, could you update from
| > | SVN and give it a whirl?
| > |
| > | Cheers, Dirk
| > |
| > | --
| > | Three out of two people have difficulties with fractions.
| >
|
|
| --
| Ben Bolker
| Associate professor, Biology Dep't, Univ. of Florida
| bolker at ufl.edu / people.biology.ufl.edu/bolker
| GPG key: people.biology.ufl.edu/bolker/benbolker-publickey.asc
|
|
| [GNUPG:] ERRSIG 7395291A3C337A73 17 2 01 1264424409 9
| [GNUPG:] NO_PUBKEY 7395291A3C337A73
--
Three out of two people have difficulties with fractions.
More information about the Phylobase-devl
mailing list