[R] source package linking problem under linux
Peter Dalgaard
p.dalgaard at biostat.ku.dk
Fri Sep 2 18:15:22 CEST 2005
"Antonio, Fabio Di Narzo" <antonio.fabio at gmail.com> writes:
> I'm having some problems in installing some source packages under linux.
> As an example, MCMCpack. An error is raised when linking:
>
> > install.packages("MCMCpack")
> [...]
> * Installing *source* package 'MCMCpack' ...
> checking for C++ compiler default output file name... a.out
> checking whether the C++ compiler works... yes
> checking whether we are cross compiling... no
> checking for suffix of executables...
> checking for suffix of object files... o
> checking whether we are using the GNU C++ compiler... yes
> checking whether g++ accepts -g... yes
> checking for gcc... gcc
> checking whether we are using the GNU C compiler... yes
> checking whether gcc accepts -g... yes
> checking for gcc option to accept ANSI C... none needed
> checking how to run the C preprocessor... gcc -E
> checking for egrep... grep -E
> checking for ANSI C header files... yes
> checking for sys/types.h... yes
> checking for sys/stat.h... yes
> checking for stdlib.h... yes
> checking for string.h... yes
> checking for memory.h... yes
> checking for strings.h... yes
> checking for inttypes.h... yes
> checking for stdint.h... yes
> checking for unistd.h... yes
> checking ieeefp.h usability... no
> checking ieeefp.h presence... no
> checking for ieeefp.h... no
> checking for trunc... no
> configure: creating ./config.status
> config.status: creating src/Makevars
> ** libs
> g++ -I/usr/lib/R/include -DSCYTHE_COMPILE_DIRECT -DSCYTHE_NO_RANGE
> -c distributions.cc -o distributions.o
> [...etc. etc. All compilations are ok]
>
> g++ -o MCMCpack.so distributions.o ide.o la.o lecuyer.o MCMCdistn.o
> MCMCdynamicEI.o MCMCfactanal.o MCMCfcds.o MCMChierEI.o MCMCirt1d.o
> MCMClogit.o MCMCmetrop1R.o MCMCmixfactanal.o MCMCmnlMH.o
> MCMCmnlslice.o MCMCoprobit.o MCMCordfactanal.o MCMCpanel.o
> MCMCpoisson.o MCMCprobit.o MCMCprobitres.o MCMCregress.o MCMCrng.o
> MCMCtobit.o mersenne.o optimize.o rng.o smath.o stat.o
> -L/usr/lib/R/lib -lR
> /usr/lib/gcc-lib/i486-linux/3.3.5/../../../crt1.o(.text+0x18): In
> function `_start':
> ../sysdeps/i386/elf/start.S:98: undefined reference to `main'
> collect2: ld returned 1 exit status
> make: *** [MCMCpack.so] Error 1
> ERROR: compilation failed for package 'MCMCpack'
>
> I don't know why it searches a reference to 'main'...
>
Presumably because it thinks that MCMCpack.so is supposed to be a
standalone binary. (Compilers don't read filname suffixes...)
There would seem to be something missing in that command line,
"-shared" if my memory serves me. Now *why* that happens is a bit hard
to figure out. Your version info below is not quite sufficient; which
linux distribution is it? Did you compile R itself from sources?
Antonio, Fabio Di Narzo.
>
>
> > version
> _
> platform i386-pc-linux-gnu
> arch i386
> os linux-gnu
> system i386, linux-gnu
> status
> major 2
> minor 1.1
> year 2005
> month 06
> day 20
> language R
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>
--
O__ ---- Peter Dalgaard Øster Farimagsgade 5, Entr.B
c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
More information about the R-help
mailing list