[MacPorts] #40173: R build failure on OS X 10.8.4 building qdCocoa
#40173: R build failure on OS X 10.8.4 building qdCocoa --------------------+-------------------------------- Reporter: one@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Keywords: | Port: R --------------------+-------------------------------- Clean install of R port fails -- Ticket URL: <https://trac.macports.org/ticket/40173> MacPorts <http://www.macports.org/> Ports system for OS X
#40173: R build failure on OS X 10.8.4 building qdCocoa ---------------------+--------------------------- Reporter: one@… | Owner: kjell.konis@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Resolution: | Keywords: Port: R | ---------------------+--------------------------- Changes (by ryandesign@…): * owner: macports-tickets@… => kjell.konis@… -- Ticket URL: <https://trac.macports.org/ticket/40173#comment:1> MacPorts <http://www.macports.org/> Ports system for OS X
#40173: R build failure on OS X 10.8.4 building qdCocoa ---------------------+--------------------------- Reporter: one@… | Owner: kjell.konis@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Resolution: | Keywords: Port: R | ---------------------+--------------------------- Comment (by kjell.konis@…): Configure is not choosing the specified OBJC compiler. Should be /usr/bin/gcc (set in the Portfile) because that is the only one that works. Not sure why this is happening because it doesn't happen for me. {{{ :info:configure R is now configured for x86_64-apple-darwin12.4.0 :info:configure :info:configure Source directory: . :info:configure Installation directory: /opt/local/Library/Frameworks :info:configure :info:configure C compiler: /opt/local/bin/gcc-mp-4.7 -std=gnu99 -pipe -Os -DOS_OBJECT_USE_OBJC=0 -m64 :info:configure Fortran 77 compiler: /opt/local/bin/gfortran- mp-4.7 -pipe -Os -m64 :info:configure :info:configure C++ compiler: /opt/local/bin/g++-mp-4.7 -pipe -Os -m64 :info:configure Fortran 90/95 compiler: /opt/local/bin/gfortran- mp-4.7 -pipe -Os -m64 :info:configure Obj-C compiler: /opt/local/bin/gcc-mp-4.7 -pipe -Os -m64 -fobjc-exceptions :info:configure :info:configure Interfaces supported: X11, aqua :info:configure External libraries: readline, BLAS(vecLib), ICU, lzma :info:configure Additional capabilities: PNG, JPEG, TIFF, NLS, cairo :info:configure Options enabled: framework, shared BLAS, R profiling :info:configure :info:configure Recommended packages: yes :info:configure }}} -- Ticket URL: <https://trac.macports.org/ticket/40173#comment:2> MacPorts <http://www.macports.org/> Ports system for OS X
#40173: R build failure on OS X 10.8.4 building qdCocoa ---------------------+--------------------------- Reporter: one@… | Owner: kjell.konis@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Resolution: | Keywords: Port: R | ---------------------+--------------------------- Comment (by kjell.konis@…): Oops! My bad, someone (not me - yay) revised the R port and removed the OBJC compiler. The attached patch puts everything back the way it should be. -- Ticket URL: <https://trac.macports.org/ticket/40173#comment:3> MacPorts <http://www.macports.org/> Ports system for OS X
#40173: R build failure on OS X 10.8.4 building qdCocoa ---------------------+--------------------------- Reporter: one@… | Owner: kjell.konis@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Resolution: | Keywords: haspatch Port: R | ---------------------+--------------------------- Changes (by ryandesign@…): * cc: david.w.watson@…, jeremyhu@… (added) * keywords: => haspatch Comment: That would have been Jeremy in r109194. Rather than just reverting part of his work, we should ask him for input. Cc'ing him now. Kjell, instead of repeating the same code in each variant, it could probably be done just once in a central place. Has duplicate #40195. -- Ticket URL: <https://trac.macports.org/ticket/40173#comment:4> MacPorts <http://www.macports.org/> Ports system for OS X
#40173: R build failure on OS X 10.8.4 building qdCocoa ---------------------+--------------------------- Reporter: one@… | Owner: kjell.konis@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Resolution: | Keywords: haspatch Port: R | ---------------------+--------------------------- Comment (by kjell.konis@…): Any pointers on where that central place is? The only way I can figure out to force configure.objc to come after configure.compiler is to put them in the same block. -- Ticket URL: <https://trac.macports.org/ticket/40173#comment:5> MacPorts <http://www.macports.org/> Ports system for OS X
#40173: R build failure on OS X 10.8.4 building qdCocoa ---------------------+--------------------------- Reporter: one@… | Owner: kjell.konis@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Resolution: | Keywords: haspatch Port: R | ---------------------+--------------------------- Comment (by jeremyhu@…): Ugg, sorry about that. Drive by from getting it to build on Mavericks. Sorry for the regression. Please see my email to macports-dev (yesterday I believe) on this very subject! -- Ticket URL: <https://trac.macports.org/ticket/40173#comment:6> MacPorts <http://www.macports.org/> Ports system for OS X
#40173: R build failure on OS X 10.8.4 building qdCocoa ---------------------+--------------------------- Reporter: one@… | Owner: kjell.konis@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Resolution: | Keywords: haspatch Port: R | ---------------------+--------------------------- Comment (by jeremyhu@…): Replying to [comment:5 kjell.konis@…]:
Any pointers on where that central place is? The only way I can figure out to force configure.objc to come after configure.compiler is to put them in the same block.
https://lists.macosforge.org/pipermail/macports- dev/2013-August/023908.html -- Ticket URL: <https://trac.macports.org/ticket/40173#comment:7> MacPorts <http://www.macports.org/> Ports system for OS X
#40173: R build failure on OS X 10.8.4 building qdCocoa ---------------------+--------------------------- Reporter: one@… | Owner: kjell.konis@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Resolution: | Keywords: haspatch Port: R | ---------------------+--------------------------- Comment (by kjell.konis@…): In the short term, could someone either commit my patch or back out r109194 to get the R port working again? -- Ticket URL: <https://trac.macports.org/ticket/40173#comment:8> MacPorts <http://www.macports.org/> Ports system for OS X
#40173: R build failure on OS X 10.8.4 building qdCocoa ---------------------+--------------------------- Reporter: one@… | Owner: kjell.konis@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Resolution: | Keywords: haspatch Port: R | ---------------------+--------------------------- Comment (by jeremyhu@…): It will still be broken after backing out r109194. It may build for you, but it'll still be broken. -- Ticket URL: <https://trac.macports.org/ticket/40173#comment:9> MacPorts <http://www.macports.org/> Ports system for OS X
#40173: R build failure on OS X 10.8.4 building qdCocoa ---------------------+--------------------------- Reporter: one@… | Owner: kjell.konis@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Resolution: | Keywords: haspatch Port: R | ---------------------+--------------------------- Comment (by kjell.konis@…): Guess I'm confused, what do you mean by broken? -- Ticket URL: <https://trac.macports.org/ticket/40173#comment:10> MacPorts <http://www.macports.org/> Ports system for OS X
#40173: R build failure on OS X 10.8.4 building qdCocoa ---------------------+--------------------------- Reporter: one@… | Owner: kjell.konis@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Resolution: | Keywords: haspatch Port: R | ---------------------+--------------------------- Comment (by jeremyhu@…): You're setting the compiler to /usr/bin/gcc which may not exist. You should instead use the default compiler for objc and change the ones you want (per my post, which I referenced above). You are using the c++ compiler from macports-gcc-XX which results in incompatibilities when trying to mix generated code with code built with the host's toolchains. -- Ticket URL: <https://trac.macports.org/ticket/40173#comment:11> MacPorts <http://www.macports.org/> Ports system for OS X
#40173: R build failure on OS X 10.8.4 building qdCocoa ---------------------+--------------------------- Reporter: one@… | Owner: kjell.konis@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Resolution: | Keywords: haspatch Port: R | ---------------------+--------------------------- Comment (by buchere@…): Hi Kjell, Jeremy, Ryan and Friends, [[BR]] Changing "/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/math/R/Portfile", [[BR]] by adding 3 times "configure.objc /usr/bin/gcc", [[BR]] as described in "Portfile.diff" in "comment:2", [[BR]] seems to work fine for me. At least R compiled. [[BR]] Thank a bunch! [[BR]] I do not understand comment:11 part "You are using the c++ compiler from macports-gcc-XX which results in incompatibilities when trying to mix generated code with code built with the host's toolchains." What are the host's tool chains? Which code would be built with them? [[BR]] Elmar -- Ticket URL: <https://trac.macports.org/ticket/40173#comment:12> MacPorts <http://www.macports.org/> Ports system for OS X
#40173: R build failure on OS X 10.8.4 building qdCocoa ---------------------+--------------------------- Reporter: one@… | Owner: kjell.konis@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Resolution: | Keywords: haspatch Port: R | ---------------------+--------------------------- Comment (by kjell.konis@…): Replying to [comment:11 jeremyhu@…]:
You're setting the compiler to /usr/bin/gcc which may not exist. You should instead use the default compiler for objc and change the ones you want (per my post, which I referenced above).
You are using the c++ compiler from macports-gcc-XX which results in incompatibilities when trying to mix generated code with code built with the host's toolchains.
Hi Jeremy, For your first point, I would rather be using `xcrun -find gcc` but I don't know how to get that to work in the Portfile so I hard coded it instead. This is something I am meaning to fix. For your second point, R should not be using the host's toolchains. R keeps track of the tools used to build it and uses those to build its packages. Since R is fundamentally a computer algebra system, I think it is best if all parts of it get compiled by the same compiler family (I do make one exception for an Objective C file related only to Quartz graphics). Mixing gfortran with the Xcode C compiler du jour just seems like it's inviting something bad to happen. Kjell -- Ticket URL: <https://trac.macports.org/ticket/40173#comment:14> MacPorts <http://www.macports.org/> Ports system for OS X
#40173: R build failure on OS X 10.8.4 building qdCocoa ---------------------+--------------------------- Reporter: one@… | Owner: kjell.konis@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Resolution: | Keywords: haspatch Port: R | ---------------------+--------------------------- Comment (by jeremyhu@…): Replying to [comment:14 kjell.konis@…]:
Replying to [comment:11 jeremyhu@…]:
You're setting the compiler to /usr/bin/gcc which may not exist. You should instead use the default compiler for objc and change the ones you want (per my post, which I referenced above).
You are using the c++ compiler from macports-gcc-XX which results in incompatibilities when trying to mix generated code with code built with the host's toolchains.
Hi Jeremy,
For your first point, I would rather be using `xcrun -find gcc` but I don't know how to get that to work in the Portfile so I hard coded it instead. This is something I am meaning to fix.
You can't assume that "gcc" even exists. You are going about this the wrong way by setting configure.compiler and then undoing the things you didn't want. You should just change what you want to change and leave configure.cc set to what it was before.
For your second point, R should not be using the host's toolchains. R keeps track of the tools used to build it and uses those to build its packages. Since R is fundamentally a computer algebra system, I think it is best if all parts of it get compiled by the same compiler family (I do make one exception for an Objective C file related only to Quartz graphics).
You can not mix C++ runtimes. If R uses any C++ API from another port or exposes any C++ API to other ports, it must be using a C++ compiler that uses the default C++ runtime.
Mixing gfortran with the Xcode C compiler du jour just seems like it's inviting something bad to happen.
Do you care to elaborate why you think that would be? Can you provide specific evidence of a problem? -- Ticket URL: <https://trac.macports.org/ticket/40173#comment:15> MacPorts <http://www.macports.org/> Ports system for OS X
#40173: R build failure on OS X 10.8.4 building qdCocoa ---------------------+--------------------------- Reporter: one@… | Owner: kjell.konis@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Resolution: | Keywords: haspatch Port: R | ---------------------+--------------------------- Comment (by jeremyhu@…): r110215 should take care of this. -- Ticket URL: <https://trac.macports.org/ticket/40173#comment:16> MacPorts <http://www.macports.org/> Ports system for OS X
#40173: R build failure on OS X 10.8.4 building qdCocoa ---------------------+--------------------------- Reporter: one@… | Owner: kjell.konis@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Resolution: fixed | Keywords: haspatch Port: R | ---------------------+--------------------------- Changes (by jeremyhu@…): * status: new => closed * resolution: => fixed -- Ticket URL: <https://trac.macports.org/ticket/40173#comment:17> MacPorts <http://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts