sstsimulator / sst-macro

SST Macro Element Library
http://sst-simulator.org/
Other
34 stars 41 forks source link

MVAPICH build with SST/macro fails #565

Closed kaushik-ks closed 2 years ago

kaushik-ks commented 4 years ago

New Issue for sst-macro

1 - Detailed description of problem or enhancement

  When MVAPICH is built with sst-macro, it gives some variable redeclaration errors. Possibly arising due to conflicts from sum-mpi, MVAPICH

make-output.txt

2 - Describe how to reproduce

  1. Configure MVAPICH with sst-macro, sst-transport as follows:
      ./configure --prefix=$PWD/install CC="sstcc" CXX="sst++" CFLAGS="--disable-mpi" CXXFLAGS="--disable-mpi" LDFLAGS="-fPIC" --with-device=ch3:nemesis:ofi --with-ofi-include=path/to/sst-transports/libfabric/include --with-ofi-lib=path/to/sst-transports/libfabric/lib64
  2. Then do make
       make -j install

3 - What Operating system(s) and versions

  Operating System: CentOS Linux 7 (Core), Kernel: Linux 3.10.0-1062.el7.x86_64

4 - What version of external libraries (Boost, MPI)

  An internal version of MVAPICH

5 - Provide sha1 of all relevant sst repositories (sst-core, sst-elements, etc)

 sst-macro 
     branch: mvapich, commit: 2ca5feca13f98c70239560bd695aab124dc6c8c5 
 sst-transports
     branch: master, commit: 6561e1ab001b3ee8ece1b97ee89360258cd4c75c
jjwilke commented 4 years ago

I'm currently not able to reproduce. The compile line looks correct to me. Somehow some header files are getting included that shouldn't be there (they should be removed by adding the --disable-mpi flag).

Along with SSTMAC_VERBOSE=1, you can build with SSTMAC_DELETE_TEMPS=0 as an env variable. This will dump a preprocessed file pp.close.c in the mpi-io folder. Can you post that here? It will be a ton of output, but should be easy enough to figure out how the offending header files are getting included in your build but not mine.

kaushik-ks commented 4 years ago

I've attached pp.close file.

pp.close.txt

jjwilke commented 4 years ago

Can you delete your install directory and re-install? I think you have some of the old header files in the wrong place. This got rearranged when I added the --disable-mpi option.

kaushik-ks commented 4 years ago

Do you want me to delete the install directory of sst-macro and then re-install sst-macro?

I deleted the install folder from mvapich build directory and reinstalled mvapich. I still get errors.

jjwilke commented 4 years ago

Delete sst-macro, sorry.

kaushik-ks commented 4 years ago

I deleted install folder and re-installed sst-macro.

It compiles, but I get link error (recompile with -fPIC).

The command seems to use -fPIC, but I still get the above error. Please take a look at the attached output file.

mk-ouput.txt

jjwilke commented 4 years ago

Hmm. I will try to reproduce. We won't actually need mpiexec or hydra. Not sure if there is an option to turn off build these for now.

jjwilke commented 4 years ago

I am not having that issue (although I have a later issue building the osu benchmarks). My configure is:

../configure \
  CXXFLAGS="--disable-mpi -fPIC" \
  CFLAGS="--disable-mpi -fPIC" \
  CXX=sst++ \
  CC=sstcc \
  --disable-fortran \
  --disable-f77 \
  --disable-fc \
  --disable-cxx \
  --disable-weak-symbols \
  --with-device=ch3:nemesis:ofi \
  --with-ofi-include=$HOME/Programs/install/sst-transports/include \
  --with-ofi-lib=$HOME/Programs/install/sst-transports/lib64 \
  --prefix=$HOME/Programs/install/mvapich/sst/ofi

We could try to debug this over screen share?

kaushik-ks commented 4 years ago

Sure, that will make it easier. Let me know your availability.

jpkenny commented 2 years ago

Looks like an abandoned issue. I have successfully built MVAPICH2 on top of sst-transports/OFI/sst-macro recently.