Opened 10 years ago

Last modified 3 years ago

#44871 new defect

Building R-3.1.1 on a PPC requires using a compiler that can properly handle ObjectiveC code

Reported by: josephsacco Owned by: kjellpk (Kjell Konis)
Priority: Normal Milestone:
Component: ports Version: 2.3.1
Keywords: powerpc Cc: cooljeanius (Eric Gallager)
Port: R

Description (last modified by mf2k (Frank Schima))

R-3.1.1, with default variants, builds on a PPC provided: (1) the Apple compiler is used for compiling ObjectiveC code, and (2) the gcc48 suite of compilers is used for everything else:

     sudo port install R configure.compiler=macports-gcc-4.8 configure.objc=/usr/bin/gcc-4.2

The Apple compiler is necessary to properly compile the one .m file

     ./src/library/grDevices/src/qdCocoa.m

If gcc-mp-4.8 is used instead, the quartz graphic device will fail to launch, causing R to exit because of an error.

-Joseph

Change History (3)

comment:1 Changed 10 years ago by mf2k (Frank Schima)

Cc: kjell.konis@… removed
Description: modified (diff)
Keywords: powerpc added; PPC removed
Owner: changed from macports-tickets@… to kjell.konis@…

In the future, please use WikiFormatting.

comment:2 Changed 10 years ago by josephsacco

There is one other issue that I have noticed. The file

/opt/local/Library/Frameworks/R.framework/Resources/etc/Makeconf

requires modification to correct a library search path issue. See below.

-Joseph

--- Makeconf~	2014-10-10 11:48:00.000000000 -0400
+++ Makeconf	2014-10-10 12:47:53.000000000 -0400
@@ -62,7 +62,7 @@
 LIBINTL=   -Wl,-framework -Wl,CoreFoundation
 LIBM =
 LIBR = -F/opt/local/Library/Frameworks/R.framework/.. -framework R
-LIBS =  -llzma -lm -liconv -licuuc -licui18n
+LIBS =  $(LDFLAGS) -llzma -lm -liconv -licuuc -licui18n
 ## needed by R CMD config
 LIBnn = lib
 LIBTOOL = $(SHELL) "$(R_HOME)/bin/libtool"
Last edited 9 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:3 Changed 3 years ago by cooljeanius (Eric Gallager)

Cc: cooljeanius added
Note: See TracTickets for help on using tickets.