#860 compiler detection issues

Stable_(v3.10.x)
closed-out-of-date
5
2014-07-09
2012-09-26
Cezary Sliwa
No

On Slackware Linux 14 RC, ATLAS detects g++-gcc-4.7.1 (and various others programs with gcc in their names) as the C compiler. The build fails.

Discussion

  • Cezary Sliwa
    Cezary Sliwa
    2012-10-03

    Slackware 14.0 has been released; it ships with g++-gcc-4.7.1 (g++ is a symlink).

    I have manually renamed g++-gcc-4.7.1 to g++-4.7.1 and gfortran-gcc-4.7.1 to gfortran-4.7.1, and updated the symlinks (g++, gfortran) accordingly. This fixes the build. However, the configure step still reports some problems with libgo.so (there is gccgo in /usr/bin).

     
  • OK, I do not know what action I'm to take here. I don't have an explanation of any problem that I can understand. Can you explain it and post some examples of what is going wrong?

     
    • assigned_to: nobody --> rwhaley
     
  • Cezary Sliwa
    Cezary Sliwa
    2012-10-11

    I imagine g++-gcc-4.7.1 is found in the path, as it matches the pattern <arch>-gcc-<version>. So, ATLAS installer may consider "g++" in the name as the architecture, and tries using g++ as a C compiler.

     
  • What usually happens is that compiler that match are then tried in compiling and linking, and those that don't work are rejected in favor of one that does.

    What is happening that caused you to open a support request? Is ATLAS failing to compile, if so post the output of the dying configure. Or is it just failing to find the best compiler, but the install proceeds, or what?

     
  • Cezary Sliwa
    Cezary Sliwa
    2012-10-12

    The configure step completes and finds /usr/bin/g++-gcc-4.7.1 as the C compiler. Since your code is C rather than C++, the build steps fails instantly.

     
  • Cezary Sliwa
    Cezary Sliwa
    2012-10-15

    A simple fix is to match the compiler test to your coding conventions, so that a C++ compiler is not accepted as a C compiler.

     
    • status: open --> closed-out-of-date