[Phylobase-devl] New phylobase build approach using static libncl (Was: Rcpp and OS X compiliation)

Dirk Eddelbuettel edd at debian.org
Tue Feb 2 17:44:13 CET 2010


[ Resending with 7-bit clean headers without Francois's cedille ]

On 1 February 2010 at 12:41, Dirk Eddelbuettel wrote:
| On 1 February 2010 at 13:22, François Michonneau wrote:
| | Hi all,
| | 
| | It looks that we're still having some troubles building the package on R-forge.
| | 
| | Now, we get the following error message for the linux builds:
| | g++ -shared -L/usr/local/lib64 -o phylobase.so NCLInterface.o
| | ReadWithNCL.o ancestors.o descendants.o phyloXX.o reorderBinary.o
| | reorderRobust.o -L/home/rforge/lib/R/2.10/Rcpp/lib -lRcpp
| | -Wl,-rpath,/home/rforge/lib/R/2.10/Rcpp/lib -Llib/ncl -lncl
| | -L/srv/R/R-patched/build.10-01-29/lib -lR
| | /usr/bin/ld: lib/ncl/libncl.a(nxsassumptionsblock.o): relocation
| | R_X86_64_32 against `.rodata.str1.1' can not be used when making a
| | shared object; recompile with -fPIC
| | lib/ncl/libncl.a: could not read symbols: Bad value
| | collect2: ld returned 1 exit status
| 
| Good catch. I never need that on 32bit where it works automatically so I
| forgot. This basically means that out plan of using
| 
|     configure --enable-static --disable-shared 
| 
| doesn't work as configure no longer seems to add -fPIC. That stinks.
| 
| I think the simplest solution is to tell configure to stuff itself, and to
| use the same Makefile we already use for Windows, maybe with an explicit
| -fPIC thrown in for good measure.

Didn't work. I wasn't thinking hard enough.

For OS X, three builds are attempted for three architectures.  That cannot
work with a single configure.

Maybe we need to throw our arms up in the air and just import the sources
files from pkg/src/ncl/ncl into pkg/src/ and treat them as part of the
package.

Or, go the other way, and require the user to have a suitable libncl
somewhere.

Dirk

-- 
Three out of two people have difficulties with fractions.


More information about the Phylobase-devl mailing list