[Llvm-bgq-discuss] so how does it work

Hal Finkel hfinkel at anl.gov
Tue Sep 3 20:43:40 CDT 2013


----- Original Message -----
> 
> Hello all,
> 
> 
> I am Tim, happy developer with 4 racks of BG/Q and the only user ^_^'
> . I am a big fan of C++11 and Clang.
> I am familiar about compiler (install) but install Clang on BGQ seems
> a little bit tricky.
> 
> 
> So, I first downloaded clang following the standard procedure (all
> steps)
> 
> 
> http://clang.llvm.org/get_started.html
> 
> 
> I downloaded the patch r189357-20130827 (v2) (should I also download
> the patch r189327-20130827 ?) from
> http://trac.alcf.anl.gov/projects/llvm-bgq/wiki/WikiStart .
> This patch have 4 .sh scripts. Should I compile first Clang/llvm as
> usual ( http://clang.llvm.org/get_started.html ) or should I apply
> .sh script (and in witch order) ?

Here's essentially the procedure that I use:

[First, adjust all necessary paths in the build scripts]. By default, these install into /home/projects/llvm

svn co -r<REV> http://llvm.org/svn/llvm-project/llvm/trunk llvm-trunk
(cd llvm-trunk/tools && svn co -r<REV> http://llvm.org/svn/llvm-project/cfe/trunk clang)

(cd llvm-trunk && patch -p1 < ../llvm-bgq-r<REV>-<DATE>.patch)
(cd llvm-trunk/tools/clang && patch -p1 < ../../../clang-bgq-r<REV>-<DATE>.patch)

mkdir llvm-trunk-build
(cd llvm-trunk-build && ../llvm-trunk/configure)
(cd llvm-trunk-build && ../llvm-trunk-build.sh)

Copy bgclang (and its symlinks) into /home/projects/llvm/r<REV>-<DATE>/bin. (and maybe setup some more symlinks, see below)

svn co http://llvm.org/svn/llvm-project/libcxx/trunk libcxx-trunk
mkdir libcxx-trunk-build
(cd libcxx-trunk-build && ../libcxx-trunk-build.sh)

svn co http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt-trunk
(cd compiler-rt-trunk && patch -p0 < ../compiler-rt-bgq-r<REV>-<DATE>.patch)
mkdir compiler-rt-trunk-build
./compiler-rt-trunk-build.sh

Download http://shibatch.sourceforge.net/download/sleef-2.80.tar.gz (SLEEF from http://shibatch.sourceforge.net/).
tar -xvzf sleef-2.80.tar.gz
(cd sleef-2.80 && patch -p1 < ../sleef-bgq-<DATE>.patch)
(cd sleef-2.80/simd && ../../sleef-build.sh)

copy mpi and info libstdc++fixup into /home/projects/llvm. The current /home/projects/llvm on vesta is setup with:

lrwxrwxrwx bin -> current/bin
lrwxrwxrwx compiler-rt -> compiler-rt-r189356
drwxr-sr-x compiler-rt-r189356  
lrwxrwxrwx current -> r189357-20130827
lrwxrwxrwx docs -> current/docs
lrwxrwxrwx include -> current/include
lrwxrwxrwx lib -> current/lib
lrwxrwxrwx libc++ -> libc++.r189359
drwxr-sr-x libc++.r189359  
drwxr-sr-x libstdc++fixup  
drwxrwsr-x mpi  
drwxr-sr-x r189357-20130827  
lrwxrwxrwx scan-build -> current/scan-build
lrwxrwxrwx scan-view -> current/scan-view
lrwxrwxrwx share -> current/share
lrwxrwxrwx sleef -> sleef-20130827
drwxr-sr-x sleef-20130827  
drwxr-sr-x wbin  

where wbin is an optional convenience directory:
lrwxrwxrwx bgclang -> ../bin/bgclang
lrwxrwxrwx bgclang++ -> ../bin/bgclang++
lrwxrwxrwx bgclang++11 -> ../bin/bgclang++11
lrwxrwxrwx powerpc64-bgq-linux-clang -> ../bin/powerpc64-bgq-linux-clang
lrwxrwxrwx powerpc64-bgq-linux-clang++ -> ../bin/powerpc64-bgq-linux-clang++
lrwxrwxrwx powerpc64-bgq-linux-clang++11 -> ../bin/powerpc64-bgq-linux-clang++11

I'm probably leaving something out, but please feel free to ask more questions! :)

 -Hal

> 
> 
> Best,
> 
> 
> Tim
> 
> _______________________________________________
> llvm-bgq-discuss mailing list
> llvm-bgq-discuss at lists.alcf.anl.gov
> https://lists.alcf.anl.gov/mailman/listinfo/llvm-bgq-discuss
> 

-- 
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory


More information about the llvm-bgq-discuss mailing list