Skip to content

octave: update to 7.3.0.#40720

Merged
Piraty merged 2 commits intovoid-linux:masterfrom
tornaria:octave
Dec 7, 2022
Merged

octave: update to 7.3.0.#40720
Piraty merged 2 commits intovoid-linux:masterfrom
tornaria:octave

Conversation

@tornaria
Copy link
Contributor

  • Fix cross build
  • Use SuiteSparse
  • Use rapidjson
  • Use --disable-docs to skip building docs, instead install the docs in
    the tarball. This way we don't need texlive/texinfo/gnuplot to build.
  • Avoid warnings due to egrep deprecation
  • xlint fixes

Testing the changes

  • I tested the changes in this PR: briefly

I wonder if we really want all those build options. I am tempted to remove almost all of them.

I also wonder if the choice of GraphicsMagick over ImageMagick is the best one.

NOTE: this PR includes #39846 for the current SuiteSparse. Could work with the current SuiteSparse, but I didn't try (#39846 is ready to merge IMO; the CI failures in that PR are addressed in the comments)

@hervyqa
Copy link

hervyqa commented Dec 4, 2022

can you please rebase? CI runs again
igraph merged #40224

@Piraty
Copy link
Member

Piraty commented Dec 4, 2022

remove the suitesparse commits from this branch. #39846 is merged

- Fix cross build
- Use SuiteSparse
- Use rapidjson
- Use --disable-docs to skip building docs; install the docs from the
  tarball. This way we don't makedepend on texlive/texinfo/gnuplot.
- Avoid warnings due to egrep deprecation
- xlint fixes
- disable spqr on i686 (it segfaults)
@tornaria
Copy link
Contributor Author

tornaria commented Dec 6, 2022

The testsuite was giving a segfault on i686, when using qr on a sparse matrix. In fact this is trivial to reproduce:

octave:1> qr(sparse(1,1));
fatal: caught signal Segmentation fault -- stopping myself...
Segmentation fault

I "solved" it by using --without-spqr on i686 builds.


Then there are a couple of test failures seemingly due to numerical unstability, but they are not fixed with the standard tricks (-ffloat-store, -mfpmath=sse, etc). At least one is unrelated to octave as I can reproduce with:

$ cat sin.cc 
#include <complex>
#include <iostream>

int main()
{
	std::complex<double> c(-1.3962634015954636, 3.141592653589793);
	std::complex<double> d(-11.415845458288851, 2.0054175437381652);
	std::complex<double> e = std::sin(c) - d;

	std::cout << e << std::endl;
}
$ g++ sin.cc -o sin && ./sin                    
(-1.77636e-15,0)

The same code on x86_64 gives (0,0).

@tornaria
Copy link
Contributor Author

tornaria commented Dec 6, 2022

Summary of testsuite (since failures don't error out):

  • on x86_64, everything looks ok:
Summary:

  PASS                            17107
  FAIL                                0
  XFAIL (reported bug)               33
  SKIP (missing feature)            140
  SKIP (run-time condition)          52
  • on x86_64-musl, 6 regressions:
  libinterp/corefcn/mappers.cc-tst ............................... pass  412/420 
                                                              REGRESSION   6
...
Summary:

  PASS                            17099
  FAIL                                0
  REGRESSION                          6
  XFAIL (reported bug)               35
  SKIP (missing feature)            140
  SKIP (run-time condition)          52
  • on i686, 2 failures and 1 regression:

  libinterp/corefcn/qz.cc-tst .................................... pass    3/4   
                                                                   FAIL    1
  libinterp/corefcn/sqrtm.cc-tst ................................. pass    3/4   
                                                              REGRESSION   1
...
  elfun/sind.m ................................................... pass    9/10  
                                                                   FAIL    1
...
Summary:

  PASS                            17095
  FAIL                                2
  REGRESSION                          1
  XFAIL (reported bug)               30
  SKIP (missing feature)            152
  SKIP (run-time condition)          52

Note that i686 has more skips because of the --without-spqr.

I'm satisfied as it is, I'm not going to work on fixing these unless this causes some real issue for someone.

@tornaria tornaria requested a review from Piraty December 6, 2022 22:54
@Piraty
Copy link
Member

Piraty commented Dec 7, 2022

good work!!

@Piraty Piraty merged commit 7d77a18 into void-linux:master Dec 7, 2022
@tornaria tornaria deleted the octave branch December 7, 2022 00:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants