AnsweredAssumed Answered

How to use ACML with gcc 4.6.2 on Redhat to run HPL?

Question asked by tbodine on Feb 3, 2012
Latest reply on Mar 20, 2012 by tbodine

Hello

     Since I see this error when trying to use ACML with RHEL 6.2 out of the box:

                   undefined reference to `_gfortran_transfer_integer_write'

     I know I need the newest version of GCC namely 4.6.2. Also I have got gcc 4.6.2, ACML and HPL all working together happily under SUSE on both SLED and SLES. But after trying for several days I can't get past the need of gcc for the thread utilities crti.o crtn.o etc.

 

 

I am trying to build HPC High Performance Linpack .

 

    I have figured out how to build it on SUSE. On Suse I must build

    a complete gcc 4.6.2 compiler from the ground up. Then ACML,

    openMPI, and HPL.

 

    When I build gcc, for each package I run configure with these arguments:

        parentDir=where I want to put it like /opt or /usr/local

        export LD_LIBRARY_PATH="$parentDir/lib:/usr/local/lib:/lib"

        export PATH=$parentDir/bin:$PATH

        dirArgs="--prefix=$parentDir --exec-prefix=$parentDir"

        gmpArgs="--with-gmp-include=$parentDir/include/ --with-gmp-lib=$parentDir/lib"

    The dirArgs are used for every package, the gmpArgs are used only for

    the packages that need GMP.

 

    I have a problem compiling HPL under RedHat:

 

        1. If I try compiling in the same way I do under SUSE, I see

            "cannot find crti.o" and "cannot find crtn.o" from

            $parentDir/x86_64-unknown-linux-gnu/bin/ld

 

        but there is a crti.o and crtn.o in

            /usr/lib/x86_64-redhat-linux5E/lib64

 

        I suspect gcc is trying to compile 32 bit even though I used

        this command when configuring gcc:

        ./configure --prefix=$parentDirectory --exec-prefix=$parentDirectory \

        --with-gmp-include=$parentDirectory/include/ --with-gmp-lib=$parentDirectory/lib --with-multilib-list=m64

 

        2. So then I tried compiling libc where I get this error:

            $parentDir/x86_64-unknown-linux-gnu/bin/ld: cannot find crt1.o: No such file or directory

            $parentDir/x86_64-unknown-linux-gnu/bin/ld: cannot find crti.o: No such file or directory

            $parentDir/x86_64-unknown-linux-gnu/bin/ld: cannot find crtbegin.o: No such file or directory

            $parentDir/x86_64-unknown-linux-gnu/bin/ld: cannot find -lgcc

            $parentDir/x86_64-unknown-linux-gnu/bin/ld: cannot find -lgcc_s

            $parentDir/x86_64-unknown-linux-gnu/bin/ld: cannot find -lgcc

            $parentDir/x86_64-unknown-linux-gnu/bin/ld: cannot find -lgcc_s

            $parentDir/x86_64-unknown-linux-gnu/bin/ld: cannot find crtend.o: No such file or directory

            $parentDir/x86_64-unknown-linux-gnu/bin/ld: cannot find crtn.o

                   

        And try as I  might I can't seem to find a crtl.asm crti.asm

        crtend.asm for X86_64 or in my case AMD Opteron.           

 

        What do I do next?

Thanks

Outcomes