Problems when building version 6.1.0 in Slackware/Slackbuilds

I’ve been trying to (unsuccessfully) build GNU Octave 6.1.0 from source: https://slackbuilds.org/repository/14.2/academic/octave/. Slackware Linux 14.2+

Once all the tests have run, I get this error:
“error: ignoring const execution_exception& while preparing to exit”
See the attached image

Any idea how to fix this?
Your help is much appreciated

Best regards,

Ricardo

This is indeed very strange that you get the build up to this point until you receive such a hard error :thinking:

Does this happen with the latest stable release Octave 6.2.0 too?

Did you face any configuration or build errors? Can you attach /tmp/SBo/octave-6.1.0/config.log and a build log to this report?

@siko1056

Thanks a lot for you for your quick reply!

I tried with 6.2.0, modifying the SlackBuild script accordingly and I get the same error exactly at the same point in execution: just after the test cases have run.

During configuration, I saw some warnings but nothing stopped the script execution

I’m running Slackware 14.2 current
Linux slackware.com 5.10.24 #1 SMP Wed Mar 17 16:27:58 CDT 2021 x86_64 Intel(R) Core™ i5-2520M CPU @ 2.50GHz GenuineIntel GNU/Linux
lapack 3.9.0 and blas 3.9.0 libraries are installed
gcc 10.2.0; make 4.3

config.log (3.0 MB)

Do you see the same if you start Octave (with the ./run-octave script in the build tree) and close it again?

Here is a build log:
./octave.SlackBuild 2>&1 | tee build-octave-6.1.0.log

The error that seems to terminate the execution is in line 12622

Thank you!

build-octave-6.1.0.log (646.1 KB)

@mmuetzel

Hi

./run-octave seems to work fine (I tested both cli and gui), however the slackware package never gets created

Does there error repeat if you run make check in the build tree?
Do you have “gdb” installed? In case you do and make check fails reproducibly, could you please run make check RUN_OCTAVE_OPTIONS=-g in the build tree, start the test suite ("(gdb)" command r), and try to get a backtrace ("(gdb)" command bt) from the crash?

@mmuetzel

Indeed, I get the exact same error just by running make check in the build tree

That’s actually good news. At least it is none of those elusive bugs that sometimes occur and are hard to reproduce. :slight_smile:

Do you have “gdb” on that machine or could you install it?

Thanks. I’m not claiming to understand what is happening.
Could you please run the (gdb) command thread apply all bt at that point and copy the output to a file that you upload (instead of posting a screenshot)?

@mmuetzel

Thank you Markus
At this point I don’t really understand what’s going on and why it breaks just after ending the test cases (If you check my logs and previous screenshots, it prints a summary of the all test cases and then breaks).

Here’s what gdb shows for threads:
gdb_thread_output.txt (6.5 KB)

I really appreciate your help!

Ricardo

You are seeing a “crash on exit”. I’m not sure what is causing that crash though. I don’t know that part of the code.
To me it looks like the event_queue is executing while the interpreter is being deleted. I don’t know if that is the issue or if that is expected behavior.
Maybe @jwe will understand better?

Good news…

Well, I contacted the package’s maintainer an he suggested to comment ‘make check’ line in the SlackBuild script (knowing that most of the test cases passed from my failed attempts, of course) and guess what… the package was finally created. There’s obviously something wrong in the script that prevents the package from building (on my machine at least) but this workaround definitely worked for me

Slackware package /tmp/octave-6.1.0-x86_64-1_SBo.tgz created.

I’m happy you found a solution for you. But there is definitely something wrong. Probably in Octave. It shouldn’t crash on exit.

There was a problem with the exit sequence in 6.1. This was fixed in 6.2 as far as I know. It would be better to build from 6.2 sources even if the error is still present because it would be a different manifestation that might be worth debugging.