Howdy all,

How does EB deal with shell aliases?  Are they totally ignored?
Is there a ("easy") way to make EB respect them?

I have the (perhaps twisted/erroneous/improper) non-EB module below
to help ease our users into using the BG/Q cross-compilers.

I also have my usual trick to make EB use the default
GCC (which Kenneth may hate and fgeorgatos is amused by, perhaps
because of the former).

https://github.com/hpcugent/easybuild-framework/issues/1197

though I added a dependency to the bgGCC module (below).

http://www.siliconslick.com/easybuild/ebfiles_repo_cleaned/bgsys/GCC/

That builds fine with no complaints.

However, when I go to (easy)build something with GCC, e.g. zlib,
all the aliases are ignored and it goes back to using
/usr/bin/gcc.  Why?

For the most part, the module below lets users use
the cross-compiler like it was the normal gcc.

How can I make EB do that?  :)

jack (who hates to write a bggcc.py (and all the others) if he can avoid it)

p.s. I have a room booked for myself at the Fairfield Inn & Suites
     Austin Northwest/Arboretum for Nov. 10-13 for the hackathon.
     My favorite place to stay when visiting TACC (decent breakfast
     and super-close [minimal traffic lights).  I highly recommend
     it to those attending the hackathon at TACC preceding SC15.
     [That is, I highly recommend it now that I have my room. ;) ]

# WARNING... SCARY HAX BELOW... BE VERY AFRAID... (I AM)

$ cat /software/tamusc/bgsys/modulefiles/bgGCC/4.4.7
#%Module
proc ModulesHelp { } {
puts stderr { The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, as well as libraries for these languages (libstdc++, libgcj,...). - Homepage: http://gcc.gnu.org/
    }
}

module-whatis {Description: The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, as well as libraries for these languages (libstdc++, libgcj,...). - Homepage: http://gcc.gnu.org/}

set version 4.4.7
set root /bgsys/drivers/ppcfloor/gnu-linux
conflict GCC

prepend-path    CPATH        $root/include
prepend-path    LD_LIBRARY_PATH        $root/lib
prepend-path    LD_LIBRARY_PATH        $root/lib64
prepend-path LD_LIBRARY_PATH $root/lib/gcc/powerpc64-unknown-linux-gnu/$version
prepend-path    LIBRARY_PATH        $root/lib
prepend-path    LIBRARY_PATH        $root/lib64
prepend-path    MANPATH        $root/man
prepend-path    MANPATH        $root/share/man
prepend-path    PATH        $root/bin
setenv    EBROOTGCC        "$root"
setenv    EBVERSIONGCC        "$version"

setenv    AR    $root/bin/powerpc64-bgq-linux-ar
setenv    CC    $root/bin/powerpc64-bgq-linux-gcc
setenv    CPP    $root/bin/powerpc64-bgq-linux-cpp
setenv    CXX    $root/bin/powerpc64-bgq-linux-g++
setenv    F77    $root/bin/powerpc64-bgq-linux-gfortran
setenv    FC    $root/bin/powerpc64-bgq-linux-gfortran
setenv    LD    $root/bin/powerpc64-bgq-linux-ld

set-alias addr2line "$root/bin/powerpc64-bgq-linux-addr2line"
set-alias ar "$root/bin/powerpc64-bgq-linux-ar"
set-alias as "$root/bin/powerpc64-bgq-linux-as"
set-alias c++ "$root/bin/powerpc64-bgq-linux-c++"
set-alias c++filt "$root/bin/powerpc64-bgq-linux-c++filt"
set-alias cpp "$root/bin/powerpc64-bgq-linux-cpp"
set-alias elfedit "$root/bin/powerpc64-bgq-linux-elfedit"
set-alias embedspu "$root/bin/powerpc64-bgq-linux-embedspu"
set-alias g++ "$root/bin/powerpc64-bgq-linux-g++"
set-alias gcc "$root/bin/powerpc64-bgq-linux-gcc"
set-alias gcc-4.8.4 "$root/bin/powerpc64-bgq-linux-gcc-4.8.4"
set-alias gcov "$root/bin/powerpc64-bgq-linux-gcov"
set-alias gdb "$root/bin/powerpc64-bgq-linux-gdb"
set-alias gdbtui "$root/bin/powerpc64-bgq-linux-gdbtui"
set-alias gfortran "$root/bin/powerpc64-bgq-linux-gfortran"
set-alias gprof "$root/bin/powerpc64-bgq-linux-gprof"
set-alias ld "$root/bin/powerpc64-bgq-linux-ld"
set-alias ld.bfd "$root/bin/powerpc64-bgq-linux-ld.bfd"
set-alias ld.gold "$root/bin/powerpc64-bgq-linux-ld.gold"
set-alias nm "$root/bin/powerpc64-bgq-linux-nm"
set-alias objcopy "$root/bin/powerpc64-bgq-linux-objcopy"
set-alias objdump "$root/bin/powerpc64-bgq-linux-objdump"
set-alias ranlib "$root/bin/powerpc64-bgq-linux-ranlib"
set-alias readelf "$root/bin/powerpc64-bgq-linux-readelf"
set-alias size "$root/bin/powerpc64-bgq-linux-size"
set-alias strings "$root/bin/powerpc64-bgq-linux-strings"
set-alias strip "$root/bin/powerpc64-bgq-linux-strip"

#if { [ module-info mode load ] } {
# puts stderr "To initialize a number of aliases for the BG/Q compilers run"
#  puts stderr ""
#  puts stderr "  . bgaliases.sh"
#}

# EOF


Reply via email to