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

test suite of a source build fails for 6.7.0 #981

Open
sheepforce opened this issue Mar 5, 2024 · 9 comments
Open

test suite of a source build fails for 6.7.0 #981

sheepforce opened this issue Mar 5, 2024 · 9 comments
Labels
bug Something isn't working

Comments

@sheepforce
Copy link

Describe the bug
xTB 6.7.0 fails 4 test cases (10 - xtb/gfn1, 11 - xtb-gfn2, 13 - xtb/hessian and 17 - xtb/oniom) with large numerical deviations.

Building with:

  • tblite, commit 82c3dcb9f76f1b45639b7a17c27e7ba40fffe472
  • CPCM-X, commit 7de0d7be85a10a19d60220a8d25eaa750f282019
  • simple-dftd3-1.0.0
  • multicharge-0.2.0
  • openblas-0.3.26 (wrapped in standard interface)
  • mctc-lib-0.3.1
  • toml-f-0.4.2
  • test-drive-0.4.0
  • cmake-3.28.2
  • gfortran-13.2.0

To Reproduce
Steps to reproduce the behaviour:

  1. happens with input (include input files) ctest test suite fails. Full build log is here: xtb-build.txt
  2. start xtb with (all the options here)
  3. run xtb with your options and the --verbose flag
  4. output showing the error (see 1)

You can exactly reproduce this build by running nix build github:nix-qchem/nixos-qchem/xtb#xtb -L

Expected behaviour
The test suite should pass.

Additional context
I'm maintaining the xTB + tblite ecosystem for the Nix package manager and require reproducible builds from source for all packages.

@sheepforce sheepforce added the unconfirmed This report has not yet been confirmed by the developers label Mar 5, 2024
@Albkat
Copy link
Member

Albkat commented Mar 5, 2024

Hello,
Which version of CMake, which generator, and which Fortran compiler have you used?

@sheepforce
Copy link
Author

sheepforce commented Mar 5, 2024

Hi,

cmake-3.28.2
gfortran-13.2.0

CMake generates standard Makefiles without additional arguments, so plain Make :)

EDIT: I've just tested with Ninja as CMake generator, it doesn't change the result, unfortunately.

@Albkat
Copy link
Member

Albkat commented Mar 5, 2024

I see, I tested this with meson/ninja/ifort combination.
I will look into it:)

@Albkat
Copy link
Member

Albkat commented Mar 6, 2024

All right, I can reproduce this, but it will probably take some time to debug

@Albkat Albkat added build Build system related issues (OS, compilers, meson) bug Something isn't working and removed unconfirmed This report has not yet been confirmed by the developers build Build system related issues (OS, compilers, meson) labels Mar 6, 2024
@Albkat Albkat linked a pull request Mar 7, 2024 that will close this issue
@Albkat Albkat removed a link to a pull request Mar 7, 2024
@sheepforce
Copy link
Author

I've switched over to a meson+ninja build for all packages and can confirm that the test suite passes for this build type but otherwise the same dependencies.

@toxtran
Copy link

toxtran commented Nov 4, 2024

This issue should be fixed via #1121.

@sheepforce, could you please recheck?

@sheepforce
Copy link
Author

This issue should be fixed via #1121.

@sheepforce, could you please recheck?

Uhm partially yes! 😄 We've switched over the build system of all the Fortran packages that xTB requires to Meson in Nixpkgs and it would be quite some work to rewind everything (mctc-lib, tblite, test-drive, toml-f, simple-dftd3, dftd4, multicharge, cpcm-x) to a CMake build. What I can provide is a check at the state of all packages, when I've opened the issue (beginning of March) and everything was still using CMake in Nixpkgs; i.e. GFortran 11.4.0 and GCC 11.4.0. I'm building xTB commit 10c8a31. Unfortunately does not build at all with type errors:

xtb> /build/source/src/dipro/xtb.F90:53:49:
xtb> 
xtb>    53 |       call new_gfn2_calculator(xcalc, mol, error)
xtb>       |                                                 1
xtb> Error: More actual than formal arguments in procedure call at (1)
xtb> /build/source/src/dipro/xtb.F90:55:49:
xtb> 
xtb>    55 |       call new_gfn1_calculator(xcalc, mol, error)
xtb>       |                                                 1
xtb> Error: More actual than formal arguments in procedure call at (1)
xtb> /build/source/src/dipro/xtb.F90:57:50:
xtb> 
xtb>    57 |       call new_ipea1_calculator(xcalc, mol, error)
xtb>       |                                                  1
xtb> Error: More actual than formal arguments in procedure call at (1)
xtb> make[2]: *** [CMakeFiles/xtb-object.dir/build.make:257: CMakeFiles/xtb-object.dir/src/dipro/xtb.F90.o] Error 1
xtb> make[2]: *** Waiting for unfinished jobs....
xtb> make[1]: *** [CMakeFiles/Makefile2:631: CMakeFiles/xtb-object.dir/all] Error 2
xtb> make: *** [Makefile:146: all] Error 2

@awvwgk
Copy link
Member

awvwgk commented Nov 5, 2024

This issue is due to an API change in tblite, it looks like xtb is not pinning the version of tblite but using the latest git commit and therefore the incompatible change got pulled in already (meaning it is unrelated to meson / CMake as build system).

@sheepforce
Copy link
Author

Very good point! I've updated the tblite version pinning to commit ba9c91e8708b332fad67bcb021c7054b544ef7fb. In that commit, the Tblite test suite fails one test, but if I ignore that failure, the xTB test suite now passes completely.

@Albkat Albkat modified the milestone: v6.7.2 Nov 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants