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