[Nek5000-users] Compilation problem on Blue Gene

nek5000-users at lists.mcs.anl.gov nek5000-users at lists.mcs.anl.gov
Mon May 22 04:59:30 CDT 2017


Hi Neks,

  I am facing a compilation problem on Blue Gene machine.
I get the following message towards the end:

I am attaching  the makenek file that I am using for compilation.

ld: skipping incompatible $HOME/NEK_2017/3rd_party/gslib/src/libgs.a 
when searching for -lgs
ld: cannot find -lgs

Thanks,

NN.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/nek5000-users/attachments/20170522/e0a24cfc/attachment.html>
-------------- next part --------------
#!/bin/bash
#-------------------------------------------------------------------------------
# Nek5000 build file
#-------------------------------------------------------------------------------

# source path 
SOURCE_ROOT="$HOME/NEK_2017" 
SOURCE_ROOT_GSLIB="$SOURCE_ROOT/3rd_party/gslib/src" 

# Fortran/C compiler
F77="mpixlf77_r"
CC="mpixlc_r"

# pre-processor list (set to "?" to get a list of available symbols)
#PPLIST="" 
PPLIST="MPIIO"

#-------------------------------------------------------------------------------
# WHAT FOLLOWS ARE OPTIONAL SETTINGS
#-------------------------------------------------------------------------------

# optional compiler flags
#FFLAGS=""
#CFLAGS=""

# optional linking flags
#USR_LFLAGS+=" -L/usr/lib -lfoo"
#USR_LFLAGS="-lmpi"

# auxilliary files to compile
# NOTE: source files have to located in the same directory as makenek
#       a makefile_usr.inc has to be provided containing the build rules 
#USR="foo.o"

# MPI (default 1) 
#MPI=0

# profiling (default 1)
#PROFILING=0

# VisIt in situ (default 0)
#VISIT=1
#  Note: you can override the lib and include paths. VISIT_LIB and VISIT_INC
#  If VISIT_STOP is set the simulation will stop after first step and wait
#  for VisIt to connect.
#VISIT_INSTALL="/path/to/visit/current/linux-x86_64/"
#VISIT_STOP=true


###############################################################################
# DONT'T TOUCH WHAT FOLLOWS !!!
###############################################################################
set -e
: ${MPI:=1}
: ${PROFILING:=1}
: ${VISIT:=0}

# assign version tag
mver=17.0.0

# overwrite source path with optional 2nd argument
if [ -d $2 ] && [ $# -eq 2 ]; then
  SOURCE_ROOT="$2"
  echo "change source code directory to: ", $SOURCE_ROOT
fi

if [ $MPI -eq 0 ]; then
  gslib="gsserial" 
else
  gslib="gs" 
fi
USR_LFLAGS+=" -L$SOURCE_ROOT_GSLIB -l$gslib"

# create makefile
source $SOURCE_ROOT/core/makenek.inc

# compile gslib if needed
if [ ! -f "$SOURCE_ROOT_GSLIB/lib$gslib.a" ]; then
  make -j4 -B -C $SOURCE_ROOT_GSLIB MPI=0 CC="$CC" CFLAGS="$CFLAGS" ADDUS=$UNDERSCORE lib \
   2>&1 | tee compiler.out
  if [ $MPI -ne 0 ]; then 
    make -j4 -B -C $SOURCE_ROOT_GSLIB MPI=1 CC="$CC" CFLAGS="$CFLAGS" ADDUS=$UNDERSCORE lib \
     2>&1 | tee compiler.out 
  fi
fi

# compile nek
make -j4 -f makefile 2>&1 | tee -a compiler.out

exit 0


More information about the Nek5000-users mailing list