Problem with Octave while doing "port upgrade outdated"
lanceboyle at qwest.net
Fri Dec 20 02:36:40 PST 2013
On Dec 20, 2013, at 2:38 AM, Ryan Schmidt <ryandesign at macports.org> wrote:
> On Dec 19, 2013, at 15:00, Jerry wrote:
>> On Dec 19, 2013, at 1:40 AM, Ryan Schmidt wrote:
>>> MacPorts should not be supplying -arch flags to compilers like fortran that do not understand them.
>>> MacPorts bases its decision on whether -arch flags are supported on the value of configure.compiler. However ports like octave that use the new fortran recipe introduced somewhat recently do not set configure.compiler, thus we have a problem.
>>> Setting configure.compiler in these ports is not the solution; the fortran recipe was introduced as a way to use a fortran compiler that did not involve changing the C/C++ compilers, since we do not want to change the C/C++ compilers on Mavericks or later, since changing the C++ compiler would introduce a different C++ library and mixing two different C++ libraries causes problems.
>>> This needs to be filed in the issue tracker, if it’s not already there. I’m not sure what the solution is. Maybe MacPorts base needs to become smarter about when to use -arch flags, basing the decision on each individual compiler executable, rather than assuming the entire collection of compilers will be changed simultaneously.
>> I forgot to mention that I'm using OS X 10.8.5.
> The aforementioned fortran recipe was (I think) introduced to help Mavericks, but regardless of why it was introduced, it is now in use in portfiles, and the same portfiles are used on all OS versions.
>> This sounds like a serious problem. Does this mean that anyone who updates Octave (or Fortran) will have this problem?
> I don’t know how far the problem reaches.
> I did see in your output that you’re using gcc45. Any particular reason? The default is now gcc48; you could try that instead. That may help; parts of gcc have gained support for -arch flags in recent versions.
The only thing that I can think of is that a non-Macports Ada compiler (GNAT GPL, either 2013 or 2011 edition) was found. I don't know how. I almost certainly had the 2013 edition last on my PATH when this problem occurred, and it reports version 4.7.4. I am having problems on the PLplot project that I work on and am fussing around there with a problem, and it is possible that I had the 2011 edition early on my path, and it reports version 4.5.3. But none of this makes sense because at all times the first two items in my path variable are /opt/local/bin:/opt/local/sbin so I don't see how a macports build would ever see a GNAT.
In any event I have removed all GNATs from my path and now get this:
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
Dunno. Doesn't macports use its own gcc in /opt/local?
Can you recommend to me how to use the correct gcc?
Also: Can you comment on Michael's suggestion?
More information about the macports-users