GEOS-DEV / thirdPartyLibs

Repository to build the GEOSX third party libraries
3 stars 12 forks source link

Add ubuntu 22.04 to travis-ci #200

Closed TotoGaz closed 2 years ago

TotoGaz commented 2 years ago

This PR upgrades

because they were not compiling on ubuntu 22.04 (see https://github.com/GEOSX/GEOSX/issues/2065 and https://github.com/GEOSX/thirdPartyLibs/issues/136).

About caliper

Target Centos (7.6, clang 9.0.0 + gcc 4.9.3, open-mpi 1.10.7) is removed

Also

Relates to https://github.com/GEOSX/GEOSX/issues/1889

TotoGaz commented 2 years ago

@rrsettgast @bmhan12 can you check that the new trilinos builds on quartz? Which env do you wish to replicate if we remove the old clang 9 + gcc 4.9 target?

@XL64 can you check that it builds on Pangea 3?

bmhan12 commented 2 years ago

can you check that the new trilinos builds on quartz?

I ran into the std - related errors you mentioned while building trilinos:

thirdPartyLibs/build-quartz-clang@10.0.0-release/trilinos/src/trilinos/packages/kokkos/core/src/Kokkos_CopyViews.hpp:1321:10: error: no template named 'is_trivially_copy_assignable' in namespace 'std'; did you mean 'has_trivial_copy_assign'?
    std::is_trivially_copy_assignable<

I need try again and target a different gcc, see if that fixes it...

Which env do you wish to replicate if we remove the old clang 9 + gcc 4.9 target?

I think we want clang@10 to replicate what we're currently using on quartz.

TotoGaz commented 2 years ago

I ran into the std - related errors you mentioned while building trilinos:

thirdPartyLibs/build-quartz-clang@10.0.0-release/trilinos/src/trilinos/packages/kokkos/core/src/Kokkos_CopyViews.hpp:1321:10: error: no template named 'is_trivially_copy_assignable' in namespace 'std'; did you mean 'has_trivial_copy_assign'?
    std::is_trivially_copy_assignable<

Is there any chance that adding a missing #include <type_traits> could help? I doubt it, but this may be worth a try?

I need try again and target a different gcc, see if that fixes it...

Which env do you wish to replicate if we remove the old clang 9 + gcc 4.9 target?

I think we want clang@10 to replicate what we're currently using on quartz.

Do you know which "underlying" gcc headers you are using? We would face issues with gcc < 5, put above it should be OK. I guess this is the critical question.

bmhan12 commented 2 years ago

Do you know which "underlying" gcc headers you are using? We would face issues with gcc < 5, put above it should be OK.

I suspect the same thing. clang uses gcc 4.9.3 by default, trying out gcc 8.1.0...

TotoGaz commented 2 years ago

I suspect the same thing. clang uses gcc 4.9.3 by default, trying out gcc 8.1.0...

You mean clang 10 with gcc 8.1 as header backend?

bmhan12 commented 2 years ago

You mean clang 10 with gcc 8.1 as header backend?

Yes. I verified the TPLs build and GEOSX passes tests on quartz after adding the following flags to the host-config:

set(CMAKE_C_FLAGS "--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.1.0" CACHE STRING "")
set(CMAKE_CXX_FLAGS "--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.1.0" CACHE STRING "")
TotoGaz commented 2 years ago

I've just validated with @karimifard that the auto deployment for ubuntu 22.04 is running on ubuntu 22.04 (poke @jafranc).

@bmhan12 @rrsettgast How should we proceed? IIUC, fixing the host-config file could be enough to get to the merge? What should be our policy w.r.t. the corresponding docker instance? Could we merge right now and create it afterwards or should we wait for quartz clang10 to get created?

Also there is Stanford's Sherlock target which is coming too (with @jafranc #193).

XL64 commented 2 years ago

Build of TPL seems OK on P3 but the NVTX PR https://github.com/GEOSX/GEOSX/pull/1980 integration broke the GEOX build, I'll push a fix PR. Maybe I should enable NVTX by default so that it is tested in CI ?

XL64 commented 2 years ago

Build of TPL seems OK on P3 but the NVTX PR GEOSX/GEOSX#1980 integration broke the GEOX build, I'll push a fix PR. Maybe I should enable NVTX by default so that it is tested in CI ?

Fixed here :https://github.com/GEOSX/GEOSX/pull/2096

rrsettgast commented 2 years ago

You mean clang 10 with gcc 8.1 as header backend?

Yes. I verified the TPLs build and GEOSX passes tests on quartz after adding the following flags to the host-config:

set(CMAKE_C_FLAGS "--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.1.0" CACHE STRING "")
set(CMAKE_CXX_FLAGS "--gcc-toolchain=/usr/tce/packages/gcc/gcc-8.1.0" CACHE STRING "")

@bmhan12 Can you put this into a PR?

bmhan12 commented 2 years ago

Can you put this into a PR?

PR opened here in LvArray: Geosx/LvArray#271

TotoGaz commented 2 years ago

@bmhan12 Yes I will!