[ Ooops, resending, this time with the promised two additional recipients. --Dirk ]
On 9 April 2006 at 07:44, Dirk Eddelbuettel wrote: | | Hi Andreas, | | On 23 April 2006 at 12:07, Andreas Jochens wrote: | | Package: r-base | | Version: 2.2.1.svn37668-1 | | Severity: wishlist | | Tags: patch | | | | | | When building 'r-base' on ppc64/unstable, I get the following error: | | | | | | gcc -I. -I../../src/include -I../../src/include -DHAVE_CONFIG_H -fpic -std=gnu99 -O2 -pipe -c vfonts.c -o vfonts.o | | gfortran -fpic -O2 -pipe -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` -lgfortran -lm -lgcc_s -lreadline -lpcre -lbz2 -lz -ldl -lm | | /usr/bin/ld: ../nmath/pbeta.o(.text+0x40): sibling call optimization to `bratio' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `bratio' extern | | /usr/bin/ld: final link failed: Bad value | | collect2: ld returned 1 exit status | | make[4]: *** [libR.so] Error 1 | | make[4]: Leaving directory `/r-base-2.2.1.svn37668/src/main' | | | | | | With the attached patch 'r-base' can be compiled on ppc64. | | Very interesting. So that must have been gcc/gfortan/g++ 4.0.3-3, correct ? | | | diff -urN ../tmp-orig/r-base-2.2.1.svn37668/debian/rules ./debian/rules | | --- ../tmp-orig/r-base-2.2.1.svn37668/debian/rules 2006-04-09 08:37:31.000000000 +0000 | | +++ ./debian/rules 2006-04-09 07:03:04.000000000 +0000 | | @@ -75,6 +75,10 @@ | | cxxcompiler = g++ | | optimflags = -O2 -pipe | | | | +ifeq ($(arch),powerpc64) | | +optimflags += -mminimal-toc | | +endif | | + | | # edd 04 Sep 2001 default compiler flags, lowered for m68k | | #compilerflags = -O2 | | # m68k barks when using g77, and when gcc use -O2 | | Thanks for the detailed patch. I have applied it to my debian/rules, and I am | CCing two of upstream authors as a heads-up. The option should be generally | required and not be Debian specific, correct? Do you know if other | optimization flags make a difference? As I recall, pbeta got quite a bit of | attention for its algorithmic performance and correctness, so it is | interesting to see the compiler complain. Could we count on you for some | minimal testing? | | Regards, Dirk | | -- | Hell, there are no rules here - we're trying to accomplish something. | -- Thomas A. Edison -- Hell, there are no rules here - we're trying to accomplish something. -- Thomas A. Edison