3 Replies Latest reply on Dec 4, 2007 3:04 AM by pauliez

    g2c problem moving from gcc 3.4.4 to gcc 4.2.1

    r.ted.byers@rogers.com
      g2c was part of gcc's fortran in version 3.4.4 but not in gcc 4.2.1

      There is a change in gcc fortran starting with version 4 that breaks the Gnu examples provided for ACML. g2c was part of gnu fortran in version 3.4.4, and earlier, but in version 4 (I have gcc 4.2.1) it no longer exists. Therefore, make fails with the provided Gnumakefile complaining that -lg2c can't be found, and if -lg2c is removed, make fails with linker errors related to undefined symbols (symbols that would have been taken from lg2c.

      Is AMD going to fix the GnuMakefile, and related source code in the examples directory, to take into account this fundamental difference between gcc 3.4.4 and gcc 4.2.1? Is there an easy fix I can apply without too much pain.

      I gon't do a lot of FORTRAN coding any more, since I can get faster code using C++ template metaprogramming, but it would be nice to be able to have it fully working so I can continue to benchmark my C++ code against my fortran code.

      BTW: I also develop using MS Visual Studio 2005, and will be using ACML with it, so gcc isn't my only suite of tools.

      Any help would be appreciated.

      Thanks

      Ted
        • g2c problem moving from gcc 3.4.4 to gcc 4.2.1
          chipf
          This problem seems to be catching lots of people. Short answer is: use the correct gfortran ACML version for your application's needs.

          Starting with 3.6.1, ACML used the released 4.1.2 for the single threaded build, and the newly released 4.2 for the multithreaded build of the gfortran libraries.

          4.1.2 is shipping as the default compiler with most distributions these days. 4.1.2 does not support multithreading.
          4.2 is an option with some distributions, or it can be found at gcc.gnu.org. It does support multithreading.

          The two versions are not compatible, so you must use the right compiler for the ACML version you are using.


          When the linux distros move to GCC 4.2 (or 4.3) we'll also move to just one version.

          And now some notes on the g77 version.
          We began offering gfortran with the 3.0 ACML. We kept the g77 version through 3.6 to provide compatibility for people using the older compiler. But we will not have a g77 version with the upcoming 4.0. People requiring a g77 compatible version should be able to download and use the 3.6.0 g77 library.
            • g2c problem moving from gcc 3.4.4 to gcc 4.2.1
              r.ted.byers@rogers.com
              Yes, I knew about the change to gfortran.

              And, no, I am not using linux!

              My problem is that, the last I checked, you have only the g77 build available for cygwin on Windows, not the gfortran build. I saw the gfortran versions for Linux, but i am not running Linux. I just checked now, and the build for Windows using gcc have entirely disappeared. I now see Windows builds only for Intel and PGI compilers.

              Hmph! You changed from ACML 3.6.0 to ACML 4.0.0 since I downloaded a couple days ago. Apparently you didn't do a gfortran build for Windows, and that is likely the core of my problem.

              I downloaded gcc 4.2.1 weeks ago, and configured and built it without problems. Apparently I need the gfortran build for gcc 4.2.x. I don't need the g77 build.

              I know I am well ahead of the curve for those who use gcc on cygwin, since my install of that came with gcc 3.4.4, but building gcc is dirt simple. Is a new build coming for gfortran 4.2.x for Windows any time soon?

              Thanks,

              Ted
            • g2c problem moving from gcc 3.4.4 to gcc 4.2.1
              pauliez
              I am new to this forum and not sure if this is the right part of this forum for me to be on now. I would like info on a new build using the latest quad core AMD cpu that I have in mind and would like to get advice on the ideas I have about this new build. Can some one here direct me to the right source that I need?