View Issue Details

IDProjectCategoryView StatusLast Update
0001770ThirdParty[All Projects] Bugpublic2015-10-22 15:03
Reporteruser1178Assigned Tohenry 
PrioritynormalSeverityminorReproducibilitysometimes
Status resolvedResolutionfixed 
PlatformLinuxOSCentOSOS Version6.3
Product Version 
Fixed in Version 
Summary0001770: openMPI not being built (openfoam 2.4.0; openmpi 1.8.5)
DescriptionUsing WM_MPILIB=OPENMPI in bashrc and running ThirdParty's Allwmake, openmpi libraries are not built. After all the checking, it enter the directories within $WM_THIRD_PARTY_DIR/openmpi-1.8.5 and it keeps running distclean and no make files at all. See thirdparty_centos.log around lines 3207--3239.

I installed Ubuntu 14.04 on a VM to check if I was able to build openmpi on a different system. Log file is also attached. See around lines 2948--2980.

I'm aware that the compilation was stopped because some other libraries could not be found, but either way, several make files are being skipped during the openmpi part of the Allwmake.
Steps To ReproduceChange WM_MPILIB to OPENMPI in bashrc then run ThirdParty's Allwmake.
Additional InformationI compared with an old successful build log (openfoam 2.0.1; openmpi 1.5.3) and the make files were called exactly where I was expecting them to be.
TagsNo tags attached.

Activities

user1178

2015-06-30 23:08

 

thirdparty_log.zip (47,219 bytes)

wyldckat

2015-07-05 20:37

updater   ~0005035

Side note: This was initially asked about here: http://www.cfd-online.com/Forums/openfoam-installation/155228-issues-openmpi-compilation.html - and it does seem to be a bug.

@Regis: I believe that you didn't properly redirect the output of the Allwmake script, namely like this:

  ./Allwmake > log.make 2>&1

Therefore, no error messages are present in your log files and therefore not possible to diagnose based on them alone.

Nonetheless, I've done a somewhat quick test just now on CentOS 6.6 and using the system's GCC 4.4.7 for the test (but didn't try building OpenFOAM itself). The error message that isn't seen in your log file is shown here:

    config.status: creating ompi/contrib/libompitrace/Makefile
    config.status: creating Makefile
    config.status: creating config/Makefile
    config.status: creating contrib/Makefile
    config.status: error: cannot find input file: `contrib/dist/mofed/debian/changelog.in'
    + make -j 4
    Making all in config
    make[1]: Entering directory `/home/ofuser/OpenFOAM/ThirdParty-2.4.0/openmpi-1.8.5/config'
    make[1]: Nothing to be done for `all'.
    make[1]: Leaving directory `/home/ofuser/OpenFOAM/ThirdParty-2.4.0/openmpi-1.8.5/config'
    Making all in contrib
    make[1]: Entering directory `/home/ofuser/OpenFOAM/ThirdParty-2.4.0/openmpi-1.8.5/contrib'
    make[1]: Nothing to be done for `all'.
    make[1]: Leaving directory `/home/ofuser/OpenFOAM/ThirdParty-2.4.0/openmpi-1.8.5/contrib'
    Making all in opal
    make[1]: Entering directory `/home/ofuser/OpenFOAM/ThirdParty-2.4.0/openmpi-1.8.5/opal'
    make[1]: *** No rule to make target `all'. Stop.
    make[1]: Leaving directory `/home/ofuser/OpenFOAM/ThirdParty-2.4.0/openmpi-1.8.5/opal'
    make: *** [all-recursive] Error 1

I remember someone mentioning on the forum that the openmpi-1.8.5 package that is in ThirdParty-2.4.0 was a little different from the one from the Open-MPI website. I'll report back in another note as soon as I can confirm this.

wyldckat

2015-07-05 20:45

updater   ~0005036

The post on the forum that had pointed this out and that I didn't take a better look into this sooner: http://www.cfd-online.com/Forums/openfoam-installation/153905-mpi-compiling-version-mismatch.html#post549532 (post #5)

Detailed list of files that differ:

    $ diff -Nurq openmpi-1.8.5/ ThirdParty-2.4.0/openmpi-1.8.5/
    Files openmpi-1.8.5/contrib/dist/mofed/debian/changelog and ThirdParty-2.4.0/openmpi-1.8.5/contrib/dist/mofed/debian/changelog differ
    Files openmpi-1.8.5/contrib/dist/mofed/debian/changelog.in and ThirdParty-2.4.0/openmpi-1.8.5/contrib/dist/mofed/debian/changelog.in differ
    Files openmpi-1.8.5/contrib/dist/mofed/debian/compat and ThirdParty-2.4.0/openmpi-1.8.5/contrib/dist/mofed/debian/compat differ
    Files openmpi-1.8.5/contrib/dist/mofed/debian/control and ThirdParty-2.4.0/openmpi-1.8.5/contrib/dist/mofed/debian/control differ
    Files openmpi-1.8.5/contrib/dist/mofed/debian/control.in and ThirdParty-2.4.0/openmpi-1.8.5/contrib/dist/mofed/debian/control.in differ
    Files openmpi-1.8.5/contrib/dist/mofed/debian/copyright and ThirdParty-2.4.0/openmpi-1.8.5/contrib/dist/mofed/debian/copyright differ
    Files openmpi-1.8.5/contrib/dist/mofed/debian/rules and ThirdParty-2.4.0/openmpi-1.8.5/contrib/dist/mofed/debian/rules differ
    Files openmpi-1.8.5/contrib/dist/mofed/debian/rules.in and ThirdParty-2.4.0/openmpi-1.8.5/contrib/dist/mofed/debian/rules.in differ
    Files openmpi-1.8.5/contrib/dist/mofed/debian/source/format and ThirdParty-2.4.0/openmpi-1.8.5/contrib/dist/mofed/debian/source/format differ
    Files openmpi-1.8.5/ompi/contrib/vt/vt/tools/vtsetup/src/vtsetup-1.0.1.src.tar.gz and ThirdParty-2.4.0/openmpi-1.8.5/ompi/contrib/vt/vt/tools/vtsetup/src/vtsetup-1.0.1.src.tar.gz differ


The steps for fixing this problem:

    foam3rdParty
    wget www.open-mpi.org/software/ompi/v1.8/downloads/openmpi-1.8.5.tar.gz
    tar -xf openmpi-1.8.5.tar.gz

user1178

2015-07-08 03:32

  ~0005047

Bruno,
Thanks. It indeed worked what you suggested. Regarding the error output, I was saving the output using "| tee", so you're right. Sorry.

Also, I checked on my Ubuntu installation and the same was successful as well. As a side note, OpenFOAM 2.3.1 has a similar problem. Before trying 2.4.0 I tried it and couldn't get it compiled either.

user1179

2015-07-08 12:55

  ~0005052

Due to the missing 'debian' dir in 'ThirdParty-2.4.0/openmpi-1.8.5/contrib/dist/mofed', the configure step is interupted and the compilation fails. I can confirm that adding the missing directory from the official openmpi-1.8.5 tarball (resp. using that tarball) fixes the issue.

user1022

2015-07-09 13:49

  ~0005057

I can confirm that too.

user1178

2015-07-09 20:10

  ~0005059

I add that the same issue is present in OpenFOAM 2.3.1, OpenMPI 1.6.5. Analogous fix (for correct version of OpenMPI) solves the problem. Tested on CentOS 6.3.

henry

2015-10-22 10:27

manager   ~0005470

Do you have the same problems with either OpenFOAM-2.4.x or OpenFOAM-dev?

wyldckat

2015-10-22 11:26

updater   ~0005476

@Henry: The problem isn't due to OpenFOAM itself, it's due to the Open-MPI package that is packaged in "ThirdParty-2.3.1.tgz" and "ThirdParty-2.4.0.tgz".

Somehow a few files for Open-MPI are missing from the package, as I mentioned in a comment above: http://www.openfoam.org/mantisbt/view.php?id=1770#c5036

henry

2015-10-22 11:46

manager   ~0005477

It is not clear why some of the files would be missing as the packs simply contain the unpacked OpenMPI packs. The only possibility is that by compiling and cleaning some of the files are removed. Have you looked into this possibility? If this is the case then the only option after building would be to delete the entire OpenMPI source directory and unpacking the source-pack.

wyldckat

2015-10-22 13:15

updater   ~0005478

OK, I believe I've solved the mystery. The problem occurs from the use of the script "foamPackThirdParty", that is in OpenFOAM's "bin" folder.

The actual problem is indeed in OpenFOAM, file "bin/tools/foamListSourceFiles", near the end of the file, in the last item for "sed" it has this line:

   -e '\@/debian/@d'

which is the folder that is being eliminated when it shouldn't be.


As for the missing file "openmpi-1.8.5/ompi/contrib/vt/vt/tools/vtsetup/src/vtsetup-1.0.1.src.tar.gz", which doesn't seem to be very important, it's due to this line in the same script:

   -a ! -name "*.tar.gz"



Therefore, at least for the near future, the fix is to simply remove the line that is removing "debian" from the file list. But beyond that, this script might need some updates.

henry

2015-10-22 13:39

manager   ~0005479

Excellent, thanks for finding the problem, I will remove the offending line from the script.

henry

2015-10-22 15:02

manager   ~0005481

Resolved by commit 2b147f41daf9ca07d0fb4c6b0576dc3d10a435f3 in OpenFOAM-2.4.x
Resolved by commit fb659522bbf75d0e344b4fa265e237146d8e796a in OpenFOAM-dev

Issue History

Date Modified Username Field Change
2015-06-30 23:08 user1178 New Issue
2015-06-30 23:08 user1178 File Added: thirdparty_log.zip
2015-07-05 20:37 wyldckat Note Added: 0005035
2015-07-05 20:45 wyldckat Note Added: 0005036
2015-07-08 03:32 user1178 Note Added: 0005047
2015-07-08 12:55 user1179 Note Added: 0005052
2015-07-09 13:49 user1022 Note Added: 0005057
2015-07-09 20:10 user1178 Note Added: 0005059
2015-10-22 10:27 henry Note Added: 0005470
2015-10-22 11:26 wyldckat Note Added: 0005476
2015-10-22 11:46 henry Note Added: 0005477
2015-10-22 13:15 wyldckat Note Added: 0005478
2015-10-22 13:39 henry Note Added: 0005479
2015-10-22 15:02 henry Note Added: 0005481
2015-10-22 15:02 henry Status new => resolved
2015-10-22 15:02 henry Resolution open => fixed
2015-10-22 15:02 henry Assigned To => henry