Test failure and warning in last SWI build

I’ve just updated swi pulling from github. During the build process i get a warning (maybe harmless)

/swipl-devel/src/pl-gmp.c:1543:7: warning: ‘r_mode’ may be used uninitialized in this function [-Wmaybe-uninitialized]
       fesetround(r_mode);

Moreover, the SSL test fails again (i know about this issue that has been solved, but now the problem is still present). I’m using WSL on Windows 10. Running

$> swipl --version

i get

SWI-Prolog version 8.3.1 for x86_64-linux

If you check the source you see this is a false alarm. So far the compilers I’ve used understand there is no problem. Just ignore.

If you just did a pull and rebuild from a location where you build before, start with

rm -r packages/ssl/tests
ninja
ctest -R ssl

If that still fails, run this to see the output of the tests, so we may have some clue.

ctest -V -R ssl
1 Like

After removing packages/ssl/test, the ninja command prints an error:

ninja: error: loading 'build.ninja': No such file or directory

Maybe because i’ve built SWI using make?

Ok, i’ve downloaded it and rebuilt again. The error is no more present

1 Like

Yip. Run make instead of ninja

Normal update:

git pull
git submodule update
# check that everything is cleanly updated:
git status

Now build, assuming you build in a subdir build

cd build
ninja    # or make, depending on how you ran `cmake`
ctest -j 8  # concurrent test.  Number of cores, more than 16 is useless.
ninja install

If ssl test fails due to expired test certificates:

rm -r packages/ssl/tests
ninja
ctest -R ssl

Build also tends to fail after an OS upgrade or an upgrade of dependencies (notably ssl). In that case remove the entire build subdir and recreate it.

2 Likes