Trying to build a Debian snapshot of R-alpha based on last night's tarball,
it fails with what looks like a missing -lm linking directive:
[...]
gcc -I. -I../../src/include -I../../src/include -DHAVE_CONFIG_H -fpic -O2
-c version.c -o version.o
gcc -I. -I../../src/include -I../../src/include -DHAVE_CONFIG_H -fpic -O2
-c vfonts.c -o vfonts.o
g77 -fpic -O2 -c xxxpr.f -o xxxpr.o
gcc -shared -o libR.so Rembedded.o CConverters.o CommandLineArgs.o Rdynload.o
Renviron.o RNG.o apply.o arithmetic.o apse.o array.o attrib.o base.o bind.o
builtin.o character.o coerce.o colors.o complex.o connections.o context.o cov.o
cum.o dcf.o datetime.o debug.o deparse.o deriv.o dotcode.o dounzip.o dstruct.o
duplicate.o engine.o envir.o errors.o eval.o format.o fourier.o gevents.o gram.o
gram-ex.o graphics.o identical.o internet.o iosupport.o lapack.o list.o
localecharset.o logic.o main.o mapply.o match.o memory.o model.o names.o
objects.o optim.o optimize.o options.o par.o paste.o pcre.o platform.o plot.o
plot3d.o plotmath.o print.o printarray.o printvector.o printutils.o qsort.o
random.o regex.o registration.o relop.o rlocale.o saveload.o scan.o seq.o
serialize.o size.o sort.o source.o split.o sprintf.o startup.o subassign.o
subscript.o subset.o summary.o sysutils.o unique.o util.o version.o vfonts.o
xxxpr.o `ls ../appl/*.o ../nmath/*.o ../unix/*.o 2>/dev/null` -lblas-3
-L/usr/lib/gcc/i486-linux-gnu/3.4.6 -lg2c -lm -lgcc_s -lreadline -lpcre
-lbz2 -lz -ldl -lm
make[5]: Entering directory `/tmp/buildd/r-base-2.2.1.svn37626/src/main'
mkdir -p -- /tmp/buildd/r-base-2.2.1.svn37626/bin/exec
mkdir -p -- /tmp/buildd/r-base-2.2.1.svn37626/lib
make[5]: Leaving directory `/tmp/buildd/r-base-2.2.1.svn37626/src/main'
make[4]: Leaving directory `/tmp/buildd/r-base-2.2.1.svn37626/src/main'
make[4]: Entering directory `/tmp/buildd/r-base-2.2.1.svn37626/src/main'
gcc -I. -I../../src/include -I../../src/include -DHAVE_CONFIG_H -fpic -O2
-c Rmain.c -o Rmain.o
gcc -Wl,--export-dynamic -o R.bin Rmain.o -L../../lib -lR
../../lib/libR.so: undefined reference to `isfinite'
collect2: ld returned 1 exit status
make[4]: *** [R.bin] Error 1
make[4]: Leaving directory `/tmp/buildd/r-base-2.2.1.svn37626/src/main'
make[3]: *** [R] Error 2
make[3]: Leaving directory `/tmp/buildd/r-base-2.2.1.svn37626/src/main'
make[2]: *** [R] Error 1
make[2]: Leaving directory `/tmp/buildd/r-base-2.2.1.svn37626/src'
make[1]: *** [R] Error 1
make[1]: Leaving directory `/tmp/buildd/r-base-2.2.1.svn37626'
make: *** [make-arch-stamp] Error 2
pbuilder: Failed autobuilding of package
I checked the svn logs, as it doesn't looks like this was addressed since
the
tarball was rolled. Am I the only one to have this happen?
Dirk
--
Hell, there are no rules here - we're trying to accomplish something.
-- Thomas A. Edison
Note that libR.so was itself linked against -lm, so should resolve its dependencies there. The front end has never been linked against -lm, nor do I see that anything should have changed for a long time in the front-end. I was able to build a shared-library version of the current svn 36743 (I was unable to identify which 'last night' this was, and 'r-base-2.2.1.svn37626' seemed contradictory) from scratch on FC3 on ix86 and x86_64 (and I built a slightly earlier version on Solaris yesterday). On Mon, 3 Apr 2006, Dirk Eddelbuettel wrote:> > Trying to build a Debian snapshot of R-alpha based on last night's tarball, > it fails with what looks like a missing -lm linking directive: > > [...] > gcc -I. -I../../src/include -I../../src/include -DHAVE_CONFIG_H -fpic -O2 -c version.c -o version.o > gcc -I. -I../../src/include -I../../src/include -DHAVE_CONFIG_H -fpic -O2 -c vfonts.c -o vfonts.o > g77 -fpic -O2 -c xxxpr.f -o xxxpr.o > gcc -shared -o libR.so Rembedded.o CConverters.o CommandLineArgs.o Rdynload.o Renviron.o RNG.o apply.o arithmetic.o apse.o array.o attrib.o base.o bind.o builtin.o character.o coerce.o colors.o complex.o connections.o context.o cov.o cum.o dcf.o datetime.o debug.o deparse.o deriv.o dotcode.o dounzip.o dstruct.o duplicate.o engine.o envir.o errors.o eval.o format.o fourier.o gevents.o gram.o gram-ex.o graphics.o identical.o internet.o iosupport.o lapack.o list.o localecharset.o logic.o main.o mapply.o match.o memory.o model.o names.o objects.o optim.o optimize.o options.o par.o paste.o pcre.o platform.o plot.o plot3d.o plotmath.o print.o printarray.o printvector.o printutils.o qsort.o random.o regex.o registration.o relop.o rlocale.o saveload.o scan.o seq.o serialize.o size.o sort.o source.o split.o sprintf.o startup.o subassign.o subscript.o subset.o summary.o sysutils.o unique.o util.o version.o vfonts.o xxxpr.o `ls ../appl/*.o ../nmath/*.o ../unix/*.o 2>/dev/null` -!lb!> las-3 -L/usr/lib/gcc/i486-linux-gnu/3.4.6 -lg2c -lm -lgcc_s -lreadline -lpcre -lbz2 -lz -ldl -lm > make[5]: Entering directory `/tmp/buildd/r-base-2.2.1.svn37626/src/main' > mkdir -p -- /tmp/buildd/r-base-2.2.1.svn37626/bin/exec > mkdir -p -- /tmp/buildd/r-base-2.2.1.svn37626/lib > make[5]: Leaving directory `/tmp/buildd/r-base-2.2.1.svn37626/src/main' > make[4]: Leaving directory `/tmp/buildd/r-base-2.2.1.svn37626/src/main' > make[4]: Entering directory `/tmp/buildd/r-base-2.2.1.svn37626/src/main' > gcc -I. -I../../src/include -I../../src/include -DHAVE_CONFIG_H -fpic -O2 -c Rmain.c -o Rmain.o > gcc -Wl,--export-dynamic -o R.bin Rmain.o -L../../lib -lR > ../../lib/libR.so: undefined reference to `isfinite' > collect2: ld returned 1 exit status > make[4]: *** [R.bin] Error 1 > make[4]: Leaving directory `/tmp/buildd/r-base-2.2.1.svn37626/src/main' > make[3]: *** [R] Error 2 > make[3]: Leaving directory `/tmp/buildd/r-base-2.2.1.svn37626/src/main' > make[2]: *** [R] Error 1 > make[2]: Leaving directory `/tmp/buildd/r-base-2.2.1.svn37626/src' > make[1]: *** [R] Error 1 > make[1]: Leaving directory `/tmp/buildd/r-base-2.2.1.svn37626' > make: *** [make-arch-stamp] Error 2 > pbuilder: Failed autobuilding of package > > I checked the svn logs, as it doesn't looks like this was addressed since the > tarball was rolled. Am I the only one to have this happen? > > Dirk > >-- Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595
On 3 April 2006 at 16:11, Dirk Eddelbuettel wrote:
| Trying to build a Debian snapshot of R-alpha based on last night's
tarball,
| it fails with what looks like a missing -lm linking directive:
|
| [...]
| gcc -I. -I../../src/include -I../../src/include -DHAVE_CONFIG_H -fpic
-O2 -c Rmain.c -o Rmain.o
| gcc -Wl,--export-dynamic -o R.bin Rmain.o -L../../lib -lR
| ../../lib/libR.so: undefined reference to `isfinite'
Entirely my fault -- I had been resetting CFLAGS and friends in debian/rules,
which lead to the all-important -std=gnu99 being dropped from the compiler
flags. And gcc up to version 3.4.* seems to forgive this, whereas 4.*
versions want it.
Thanks, Dirk
--
Hell, there are no rules here - we're trying to accomplish something.
-- Thomas A. Edison