[MacPorts] #54149: gcc6 fails to compile because "configure: error: cannot compute sizeof (long long)"

René J.V. Bertin rjvbertin at gmail.com
Thu May 11 08:52:41 UTC 2017

On Thursday May 11 2017 03:23:31 Ryan Schmidt wrote:


>I have not seen that problem building gcc6 before. 

Any idea what it could be? Even something silly as having the version already installed? I don't see how that could influence the parsing behaviour of the 1st bootstrapping compiler but then I don't see either how binutils could influence that behaviour as suggested in one of the tickets about the failure I found online (on CentOS).

I'm currently trying to build without my patch but I cannot image I would have been able to build the code once with it.

>I have been updating gcc7 snapshots weekly and stopped recently when I realized they were preparing for the first release. I did not know they had now done so. I will update the ports once a snapshot of gcc8 is available (probably already is), since gcc6, gcc7 and gcc8 will need to be updated at the same time to move the libgcc subports around. 

Great, thanks. 7.1 has been released on May 2nd so it's still really fresh. Updating should just be a question of pointing the portfile to the release tarball, right? Given the claimed progress I could just as well stop trying to insist building gcc6 and do my own local upgrade.

About that patch of mine: would you be interested in including it? It's very simple: it modifies the code so that `lc++ -lc++abi -lsupc++` are linked in instead of -lstdc++ . There's 1 less trivial aspect to it: g++ must be pointed to internal C++ headers matching the runtime; the most straightforward and reliable way I found to get that right is to prepend ${prefix}libexec/llvm-${llvmversion}/include/c++/v1 to the system header search path (when the C++ standard includes are to be searched). That corresponds to what online instructions for command-line use show.

I've been able to use the resulting compiler to build complex KF5 applications with dependencies all built by various clang versions so this really appears to solve the C++ runtime issue. The only thing that doesn't work properly is SIMD-related: apparently you cannot build AVX code with GCC on Mac. 


>> On May 11, 2017, at 02:18, René J.V. Bertin <rjvbertin at gmail.com> wrote:
>> Hello,
>> Please excuse the interruption - has anyone else been seeing this error when trying to build GCC (or possible, libgcc)?
>> And what about gcc 7, anyone been looking at that? 7.1 is out so there's no reason port should still be marked experimental...
>> Thanks,
>> René
>> -------------------------------
>> Forwarded message:
>> Subject: [MacPorts] #54149: gcc6 fails to compile because "configure: error: cannot compute sizeof (long long)"
>> #54149: gcc6 fails to compile because "configure: error: cannot compute sizeof
>> (long long)"
>> --------------------+------------------
>> Reporter:  RJVB    |      Owner:
>>     Type:  defect  |     Status:  new
>> Priority:  Normal  |  Milestone:
>> Component:  ports   |    Version:
>> Keywords:          |       Port:  gcc6
>> --------------------+------------------
>> Back in february I successfully built port:gcc6 with a tiny patch that
>> makes G++ use libc++ and thus become a proper citizen on OS X 10.9 and
>> later.
>> Today I wanted to build a slightly improved version and find my builds
>> fail no matter what I try because the bootstrapped gcc compiler (xgcc)
>> chokes on the configure test to determine the sizeof(long long).
>> Googling the error suggests that this has to do with the presence (or not)
>> of the GNU binutils - which I don't have and didn't have either back in
>> February.
>> The only seemingly relevant port I updated since then is ld64_latest, but
>> re-activating the version I had back then makes no difference. My patch
>> cannot be the culprit either because it affects only the C++ compiler,
>> which isn't used during the GCC build.
>> Any ideas?
>> --
>> Ticket URL: <https://trac.macports.org/ticket/54149>
>> MacPorts <https://www.macports.org/>
>> Ports system for macOS

More information about the macports-users mailing list