Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

resolves 2205: add support for ubuntu 2404 #2207

Merged
merged 66 commits into from
Mar 18, 2024

Conversation

prudhomm
Copy link
Member

@prudhomm prudhomm commented Dec 29, 2023

  • Have you checked to ensure there aren't other open Pull Requests for the same change?
  • Have you added an explanation of what your changes do and why you'd like us to include them?
  • Have you written new tests for your changes?
  • Have you successfully run the Feel++ testsuite with your changes locally?
  • Have you written Doxygen comments in your contribution ?

- gcc vs clang
- cpp17(default) vs cpp20
- release vs debug

improve cmake preset #2082
add support for ubuntu 24.04 #2205
add support for ubuntu 24.04 #2205
add support for c++20  #2206
add support for c++20  #2206
add support for ubuntu 24.04 #2205
@prudhomm prudhomm added cpp20 C++ 20 boost Boost C++ Libraries os: ubuntu:24.04 labels Dec 29, 2023
@prudhomm prudhomm self-assigned this Dec 29, 2023
@prudhomm prudhomm linked an issue Dec 29, 2023 that may be closed by this pull request
add support for ubuntu 24.04 #2205
improve cmake preset #2082
add support for c++20  #2206
add support for ubuntu 24.04 #2205
fix installation
add tests preset
add support for c++20  #2206
add support for boost 1.83 #2204
@prudhomm
Copy link
Member Author

prudhomm commented Dec 29, 2023

here is the ctest status with clang c++20 boost 1.83 and ubuntu 24.04

94% tests passed, 51 tests failed out of 917

Label Time Summary:
cfpdes               =  12.11 sec*proc (2 tests)
heat                 = 124.56 sec*proc (5 tests)
testalg              =  77.27 sec*proc (26 tests)
testcore             = 134.14 sec*proc (60 tests)
testdiscr            = 1258.52 sec*proc (114 tests)
testevents           =   6.65 sec*proc (2 tests)
testfilters          =  83.24 sec*proc (20 tests)
testfit              =  11.87 sec*proc (4 tests)
testintegration      =  57.45 sec*proc (16 tests)
testinterpolation    = 406.77 sec*proc (25 tests)
testleaks            =  46.89 sec*proc (16 tests)
testls               =  17.63 sec*proc (5 tests)
testmaterial         =   1.57 sec*proc (2 tests)
testmath             =   1.83 sec*proc (2 tests)
testmesh             = 171.26 sec*proc (34 tests)
testmodels           =   6.42 sec*proc (2 tests)
testmor              = 221.85 sec*proc (25 tests)
testopt              =   6.11 sec*proc (2 tests)
testpde              =  16.94 sec*proc (4 tests)
testpoly             =  79.98 sec*proc (20 tests)
testpython           =  16.18 sec*proc (6 tests)
testts               =  23.72 sec*proc (7 tests)
testvf               = 219.45 sec*proc (46 tests)
testviewfactor       = 117.65 sec*proc (2 tests)

Total Test time (real) = 5355.16 sec

The following tests did not run:
        794 - feelpp_test_hdiv-np-1 (Skipped)
        895 - feelpp_test_bdf3-np-1 (Skipped)

The following tests FAILED:
        524 - feelpp_qs_python-alg (Failed)
        525 - feelpp_qs_python-mpi-alg (Failed)
        526 - feelpp_qs_python-core (Failed)
        527 - feelpp_qs_python-mpi-core (Failed)
        528 - feelpp_qs_python-discr (Failed)
        529 - feelpp_qs_python-mpi-discr (Failed)
        530 - feelpp_qs_python-exporter (Failed)
        531 - feelpp_qs_python-mpi-exporter (Failed)
        532 - feelpp_qs_python-integrate (Failed)
        533 - feelpp_qs_python-mpi-integrate (Failed)
        534 - feelpp_qs_python-interpolation (Failed)
        535 - feelpp_qs_python-mpi-interpolation (Failed)
        536 - feelpp_qs_python-measure (Failed)
        537 - feelpp_qs_python-mpi-measure (Failed)
        538 - feelpp_qs_python-mesh (Failed)
        539 - feelpp_qs_python-mpi-mesh (Failed)
        540 - feelpp_qs_python-meshmover (Failed)
        541 - feelpp_qs_python-mpi-meshmover (Failed)
        542 - feelpp_qs_python-operators (Failed)
        543 - feelpp_qs_python-mpi-operators (Failed)
        544 - feelpp_qs_python-remesh (Failed)
        545 - feelpp_qs_python-mpi-remesh (Failed)
        546 - feelpp_qs_python-remotedata (Failed)
        547 - feelpp_qs_python-mpi-remotedata (Failed)
        548 - feelpp_qs_python-timing (Failed)
        549 - feelpp_qs_python-mpi-timing (Failed)
        550 - feelpp_toolbox_python-tests-in (Failed)
        551 - feelpp_toolbox_python-tests-mpi-in (Failed)
        552 - feelpp_toolbox_python-tests-fluid (Failed)
        553 - feelpp_toolbox_python-tests-mpi-fluid (Failed)
        554 - feelpp_toolbox_python-tests-cfpdes (Failed)
        555 - feelpp_toolbox_python-tests-mpi-cfpdes (Failed)
        556 - feelpp_toolbox_python-tests-heat (Failed)
        557 - feelpp_toolbox_python-tests-mpi-heat (Failed)
        558 - feelpp_toolbox_python-tests-electric (Failed)
        559 - feelpp_toolbox_python-tests-mpi-electric (Failed)
        560 - feelpp_toolbox_python-tests-thermoelectric (Failed)
        561 - feelpp_toolbox_python-tests-mpi-thermoelectric (Failed)
        562 - feelpp_toolbox_python-tests-heatfluid (Failed)
        563 - feelpp_toolbox_python-tests-mpi-heatfluid (Failed)
        754 - feelpp_test_interpolation_RT-np-1 (Subprocess aborted)
        755 - feelpp_test_interpolation_Nedelec-np-1 (Subprocess aborted)
        756 - feelpp_test_interpolation_Nedelec3d-np-1 (Timeout)
        773 - feelpp_test_integration_relatedmesh-np-6 (Failed)
        795 - feelpp_test_hdiv_oneelt-np-1 (Failed)
        796 - feelpp_test_hdiv3D_oneelt-np-1 (Timeout)
        797 - feelpp_test_hcurl_oneelt-np-1 (Failed)
        803 - feelpp_test_hcurl3D_oneelt-np-1 (Timeout)
        822 - feelpp_test_mixed-np-1 (Failed)
        977 - feelpp_test_viewfactor_quadrature-np-1 (Failed)
        978 - feelpp_test_viewfactor_raytracing-np-1 (Failed)
Errors while running CTest

the python tests failed, probably a problem with python installation or configuration in the docker image

= is not needed
add support for c++20  #2206
- try fix linking issue with LDLAGS
- add export compile command for vscode
- add ctest preset
@prudhomm
Copy link
Member Author

here is the status of the testsuite on 24.04 and boost 1.83:

7 6721.0 98% tests passed, 10 tests failed out of 415
#7 6721.0 
#7 6721.0 Label Time Summary:
#7 6721.0 testalg              =  70.45 sec*proc (26 tests)
#7 6721.0 testcore             =  37.12 sec*proc (60 tests)
#7 6721.0 testdiscr            = 2741.64 sec*proc (114 tests)
#7 6721.0 testevents           =   1.30 sec*proc (2 tests)
#7 6721.0 testfilters          = 227.43 sec*proc (20 tests)
#7 6721.0 testfit              =   5.17 sec*proc (4 tests)
#7 6721.0 testintegration      = 133.34 sec*proc (16 tests)
#7 6721.0 testinterpolation    = 648.06 sec*proc (25 tests)
#7 6721.0 testleaks            =  17.57 sec*proc (16 tests)
#7 6721.0 testls               =  39.46 sec*proc (5 tests)
#7 6721.0 testmaterial         =   0.50 sec*proc (2 tests)
#7 6721.0 testmath             =   0.47 sec*proc (2 tests)
#7 6721.0 testmesh             = 824.77 sec*proc (34 tests)
#7 6721.0 testmodels           =  10.90 sec*proc (2 tests)
#7 6721.0 testopt              =   1.36 sec*proc (2 tests)
#7 6721.0 testpde              =  48.69 sec*proc (4 tests)
#7 6721.0 testpoly             =  72.17 sec*proc (20 tests)
#7 6721.0 testpython           =   5.66 sec*proc (6 tests)
#7 6721.0 testts               =  18.84 sec*proc (7 tests)
#7 6721.0 testvf               = 1581.38 sec*proc (46 tests)
#7 6721.0 testviewfactor       = 320.45 sec*proc (2 tests)
#7 6721.0 
#7 6721.0 Total Test time (real) = 5544.37 sec
#7 6721.0 
#7 6721.0 The following tests did not run:
#7 6721.0 	231 - feelpp_test_hdiv-np-1 (Skipped)
#7 6721.0 	332 - feelpp_test_bdf3-np-1 (Skipped)
#7 6721.0 
#7 6721.0 The following tests FAILED:
#7 6721.0 	127 - feelpp_test_bvh-np-6 (Timeout)
#7 6721.0 	210 - feelpp_test_integration_relatedmesh-np-6 (Failed)
#7 6721.0 	259 - feelpp_test_mixed-np-1 (Failed)
#7 6721.0 	290 - feelpp_test_mortar-np-1 (Subprocess aborted)
#7 6721.0 	291 - feelpp_test_mortar2-np-1 (Failed)
#7 6721.0 	322 - feelpp_test_on_dofs-np-6 (Timeout)
#7 6721.0 	323 - feelpp_test_on_dofs-np-1 (Timeout)
#7 6721.0 	348 - feelpp_test_laplaciant-np-1 (Timeout)
#7 6721.0 	414 - feelpp_test_viewfactor_quadrature-np-1 (Timeout)
#7 6721.0 	415 - feelpp_test_viewfactor_raytracing-np-1 (Failed)
#7 6721.0 --- CTesting Feel++ Module testsuite done. 
#7 ERROR: process "/bin/sh -c bash -c \"source $HOME/feelpp.conf.sh &&              install_test_feelpp_module_nofail ${BRANCH} testsuite $HOME/src/feelpp/testsuite \\\"${BUILD_JOBS}\\\" \\\"${CONFIGURE_FLAGS}\\\" \\\"${CTEST_FLAGS}\\\" \\\"${CMAKE_FLAGS}\\\" &&              clean_feelpp_cpp_o\"" did not complete successfully: exit code: 1
------
 > [2/3] RUN bash -c "source /home/feelpp/feelpp.conf.sh &&              install_test_feelpp_module_nofail 2205-add-support-for-ubuntu-2404 testsuite /home/feelpp/src/feelpp/testsuite "20" "" "-R feelpp_test_ -T test --no-compress-output --output-on-failure" "" &&              clean_feelpp_cpp_o":
#7 6721.0 	210 - feelpp_test_integration_relatedmesh-np-6 (Failed)
#7 6721.0 	259 - feelpp_test_mixed-np-1 (Failed)
#7 6721.0 	290 - feelpp_test_mortar-np-1 (Subprocess aborted)
#7 6721.0 	291 - feelpp_test_mortar2-np-1 (Failed)
#7 6721.0 	322 - feelpp_test_on_dofs-np-6 (Timeout)
#7 6721.0 	323 - feelpp_test_on_dofs-np-1 (Timeout)
#7 6721.0 	348 - feelpp_test_laplaciant-np-1 (Timeout)
#7 6721.0 	414 - feelpp_test_viewfactor_quadrature-np-1 (Timeout)
#7 6721.0 	415 - feelpp_test_viewfactor_raytracing-np-1 (Failed)
#7 6721.0 --- CTesting Feel++ Module testsuite done. 

add support for ubuntu 24.04 #2205
add support for ubuntu 24.04 #2205
add support for boost 1.83 #2204
skip feelpp skip toolboxes skip mor skip python
add support for ubuntu 24.04 #2205
add support for boost 1.83 #2204

skip toolboxes skip mor skip python
with docker we can use different distribution and architectures use DISTRIBUTION and ARCH  to make the build explicity
eg
DISTRIBUTION="-jammy"
DISTRIBUTION="-focal"
ARCH="-aarch64"

prepend "-" to make the build dir more readable

if these env var are not defined then it is just as before
use HDF5_LINK_LIBRARIES
@prudhomm
Copy link
Member Author

those tests are currently failing:

97% tests passed, 11 tests failed out of 415

Label Time Summary:
testalg              = 126.96 sec*proc (26 tests)
testcore             = 181.69 sec*proc (60 tests)
testdiscr            = 2402.71 sec*proc (114 tests)
testevents           =   7.06 sec*proc (2 tests)
testfilters          = 230.93 sec*proc (20 tests)
testfit              =  16.53 sec*proc (4 tests)
testintegration      = 205.33 sec*proc (16 tests)
testinterpolation    = 522.77 sec*proc (25 tests)
testleaks            =  65.45 sec*proc (16 tests)
testls               =  43.90 sec*proc (5 tests)
testmaterial         =   1.74 sec*proc (2 tests)
testmath             =   1.70 sec*proc (2 tests)
testmesh             = 784.43 sec*proc (34 tests)
testmodels           =  13.17 sec*proc (2 tests)
testopt              =   6.80 sec*proc (2 tests)
testpde              =  47.50 sec*proc (4 tests)
testpoly             = 100.19 sec*proc (20 tests)
testpython           =  20.91 sec*proc (6 tests)
testts               =  32.85 sec*proc (7 tests)
testvf               = 1327.65 sec*proc (46 tests)
testviewfactor       = 315.08 sec*proc (2 tests)

Total Test time (real) = 3369.32 sec

The following tests did not run:
        231 - feelpp_test_hdiv-np-1 (Skipped)
        332 - feelpp_test_bdf3-np-1 (Skipped)

The following tests FAILED:
         51 - feelpp_test_serialization-np-6 (Failed)
        127 - feelpp_test_bvh-np-6 (Timeout)
        131 - feelpp_test_imsimplex-np-6 (Failed)
        290 - feelpp_test_mortar-np-1 (Subprocess aborted)
        291 - feelpp_test_mortar2-np-1 (Failed)
        322 - feelpp_test_on_dofs-np-6 (Timeout)
        323 - feelpp_test_on_dofs-np-1 (Failed)
        324 - feelpp_test_sensors-np-6 (Failed)
        325 - feelpp_test_sensors-np-1 (Failed)
        414 - feelpp_test_viewfactor_quadrature-np-1 (Timeout)
        415 - feelpp_test_viewfactor_raytracing-np-1 (Failed)
Errors while running CTest

@@ -39,10 +39,11 @@ struct MeshContiguousNumberingMapping
using range_element_type = elements_reference_wrapper_t<mesh_type>;
using point_ref_type = boost::reference_wrapper< typename mesh_type::point_type const>;

explicit MeshContiguousNumberingMapping( mesh_type* mesh, bool interprocessPointAreDuplicated = false )
explicit MeshContiguousNumberingMapping( mesh_type* mesh, bool interprocessPointAreDuplicated = false, bool exportByParts = true )
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@prudhomm The idea was to put a struct here (not just a boolean), with possibility to define a more complex behavior.
For example, A part name toto will contain a range of elements, another part named titi with another range, …
This is required for our kub application.
For a simpler use, A JSON object and a mesh can set up easily this struct.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is it possible to do that in another specific branch/PR ? I guess there would be more development than that.
this will unbreak the exports

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I understand. I only thought of adding the struct with a boolean and init from a Mesh. This will avoid breaking the API in the future.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok I can do that, what do you want as an API ?
just replace the bool by a json ?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, a c++ struct or class with inside a mesh pointer and this boolean for now.
The JSON will be used to build this object (another constructor), but it can be done in the future.
In kub app, I will add directly the range in this struct.

prudhomm and others added 18 commits February 28, 2024 19:51
…ssian_sensor

[skip toolboxes, skip python, skip mor]
skip feelpp
added completion for bash

[ci skip]
skip feelpp skip testsuite
see https://bugs.launchpad.net/ubuntu/+source/gmsh/+bug/2056625

for more details

this should fix the last issue in toolboxes
skip testsuite
reduce default verbosity of gmsh
skip feelpp skip testsuite
fix  compilation on 24.04 (deprecated boost header)

skip feelpp skip testsuite skip toolboxes
needed to increase remesh frequency @VLCeline otherwise I get a crash on 24.04

skip feelpp skip testsuite skip toolboxes skip mor
@prudhomm
Copy link
Member Author

@vincentchabannes the PR is now ready , it compiles on debian:12 ubuntu:22.04 and ubuntu:24.04

@vincentchabannes vincentchabannes merged commit ff5c92d into develop Mar 18, 2024
8 checks passed
@vincentchabannes vincentchabannes deleted the 2205-add-support-for-ubuntu-2404 branch March 18, 2024 10:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
3 participants