<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Dear all,</p>
<p><br>
</p>
<p>I'm struggling to compile PETSc 3.3-p6 on a cluster where it is
to be provided in a read-only folder.<br>
</p>
<p><br>
</p>
<p>My scenario is the following:</p>
<p>PETSc shall end up in a folder into which I can write from a
login node but which is read-only on compute nodes: I'll call it
/readonly/ below.<br>
So, using a compute node, I need to compile PETSc in a different
location, which I'll call /temporary/</p>
<p>I have read numerous instructions on the web and here are the
steps that I came up with:</p>
<p><br>
</p>
<p>1. on a compute node: unpack the PETSc source to /temporary/ and
navigate there.</p>
<p>2. configure:<br>
</p>
<p><tt>./configure
\</tt><br>
<tt> --prefix=/readonly/
\</tt><br>
<tt>
--with-gnu-compilers=0
\</tt><br>
<tt>
--with-vendor-compilers=intel
\</tt><br>
<tt>
--with-large-file-io=1
\</tt><br>
<tt> --CFLAGS="-fPIC -L${I_MPI_ROOT}/intel64/lib
-I${I_MPI_ROOT}/intel64/include -lmpi" \</tt><br>
<tt> --CXXFLAGS="-fPIC -L${I_MPI_ROOT}/intel64/lib
-I${I_MPI_ROOT}/intel64/include -lmpi -lmpicxx" \</tt><br>
<tt> --FFLAGS="-fPIC -L${I_MPI_ROOT}/intel64/lib
-I${I_MPI_ROOT}/intel64/include -lmpi" \</tt><br>
<tt> --LDFLAGS="-L${I_MPI_ROOT}/intel64/lib
-I${I_MPI_ROOT}/intel64/include -lmpi" \</tt><br>
<tt> COPTFLAGS="-O3 -axCORE-AVX2 -xSSE4.2 -fp-model
consistent -fp-model source -fp-speculation=safe -ftz" \</tt><br>
<tt> CXXOPTFLAGS="-O3 -axCORE-AVX2 -xSSE4.2 -fp-model
consistent -fp-model source -fp-speculation=safe -ftz" \</tt><br>
<tt> FOPTFLAGS="-O3 -axCORE-AVX2 -xSSE4.2 -fp-model
consistent -fp-model source -fp-speculation=safe -ftz" \</tt><br>
<tt>
--with-blas-lapack-dir="${MKLROOT}/lib/intel64"
\</tt><br>
<tt>
--download-hypre
\</tt><br>
<tt> --with-debugging=no</tt><br>
<br>
</p>
<p>3. <tt>make all</tt></p>
<p>4. on a login node: <tt>make install</tt></p>
<p>5. From now on set <tt>PETSC_DIR=/readonly PETSC_ARCH=''</tt><br>
</p>
<p>step 4 moves the compiled PETSc to /readonly/ and it works, but
when I compile a program with it the following line pops up in the
linking command:<br>
</p>
<pre class="western"><tt>-Wl,-rpath,</tt><tt><span style="background: #ffff00">/temporary/-Xlinker</span></tt></pre>
<p>
<style type="text/css">pre { direction: ltr; color: rgb(0, 0, 10); text-align: left; }pre.western { font-family: "Liberation Mono", sans-serif; }pre.cjk { font-family: "AR PL SungtiL GB"; }pre.ctl { font-family: "Liberation Mono"; }p { margin-top: 1.01mm; margin-bottom: 1.01mm; direction: ltr; color: rgb(0, 0, 10); line-height: 100%; text-align: justify; }p.western { font-family: "Open Sans", sans-serif; font-size: 10pt; }p.cjk { font-family: "AR PL SungtiL GB"; font-size: 10pt; }p.ctl { font-family: "FreeSans"; font-size: 12pt; }a.western:visited { }a.cjk:visited { }a.ctl:visited { }a:link { color: rgb(5, 99, 193); }</style></p>
<p>This is a problem when the drive on which /temporary/ is placed
is not reachable which is the case right now due to technical
issues. This causes the linking process to get stuck.<br>
The folder /temporary/ is to be deleted anyway so I do not see why
it should be referenced here.</p>
<p><br>
</p>
<p>Am I missing something?<br>
</p>
<p><br>
</p>
<p>- Bastian<br>
</p>
</body>
</html>