Page 1 of 1

Testsuite regression with nauty on FreeBSD

Posted: 28 Aug 2021, 17:34
by Philipp
Hi everyone,

after importing this patch by Benjamin Lorenz, it is now possible to compile polymake without having access to the nauty sources. Unfortunately, this patch introduces a regression in the testsuite:

Code: Select all

*** Testing in application common *** testing Examples: [ /common/property_types/Set Types/ApproximateSet ] 1 OK [ /common/property_types/Set Types/HashMap ] 1 OK [ /common/property_types/Set Types/Map ] 1 OK [ /common/property_types/Algebraic Types/Matrix ] 1 OK [ /common/property_types/Set Types/Set ] 1 OK [ /common/property_types/Algebraic Types/SparseMatrix ] 1 2 OK [ /common/property_types/Algebraic Types/SparseVector ] 1 2 OK [ /common/property_types/Algebraic Types/Vector ] 1 OK [ /common/functions/Combinatorics/all_permutations ] 1 OK [ /common/functions/Linear Algebra/anti_diag ] 1 2 OK [ /common/property_types/Algebraic Types/Matrix/methods/anti_diagonal ] 1 OK ERROR [ /common/functions/Combinatorics/are_permuted ] 1 OK [ /common/functions/Utilities/average ] 1 OK [ /common/functions/Linear Algebra/barycenter ] 1 OK [ /common/functions/Linear Algebra/basis ] 1 OK [ /common/functions/Linear Algebra/basis_affine ] 1 OK [ /common/functions/Linear Algebra/basis_cols ] 1 OK [ /common/functions/Linear Algebra/basis_rows ] 1 OK [ /common/functions/Combinatorics/binomial ] 1 OK [ /common/property_types/Algebraic Types/Matrix/methods/col ] 1 OK [ /common/functions/Data Conversion/cols ] 1 FAILED [ /common/property_types/Algebraic Types/Matrix/methods/cols ] 1 OK ERROR [ /common/functions/Data Conversion/concat_rows ] 1 2 FAILED [ /common/functions/Data Conversion/convert_to ] 1 2 OK [ /common/functions/Linear Algebra/cramer ] 1 OK ERROR ERROR [ /common/functions/Data Conversion/dense ] 1 2 3 4 FAILED [ /common/functions/Linear Algebra/det ] 1 2 OK [ /common/functions/Linear Algebra/diag ] 1 2 OK [ /common/property_types/Algebraic Types/Matrix/methods/diagonal ] 1 OK [ /common/property_types/Algebraic Types/Vector/methods/dim ] 1 OK [ /common/functions/Utilities/distance_matrix ] 1 FAILED [ /common/functions/Arithmetic/div ] 1 OK [ /common/functions/Arithmetic/div_exact ] 1 OK [ /common/property_types/Algebraic Types/Matrix/methods/div_exact ] 1 OK [ /common/property_types/Algebraic Types/Vector/methods/div_exact ] 1 OK ERROR [ /common/functions/Linear Algebra/eigenvalues ] 1 OK [ /common/property_types/Algebraic Types/Matrix/methods/elem ] 1 OK [ /common/functions/Lattice Tools/eliminate_denominators ] 1 OK [ /common/functions/Lattice Tools/eliminate_denominators_entire ] 1 OK [ /common/functions/Lattice Tools/eliminate_denominators_entire_affine ] 1 OK [ /common/functions/Lattice Tools/eliminate_denominators_in_rows ] 1 OK [ /common/property_types/Algebraic Types/Polynomial/methods/embed ] 1 OK [ /common/functions/Linear Algebra/equal_bases ] 1 OK ERROR [ /common/functions/Arithmetic/ext_gcd ] 1 OK [ /common/functions/Combinatorics/fibonacci ] 1 OK [ /common/functions/Combinatorics/fibonacci2 ] 1 OK [ /common/functions/Combinatorics/find_permutation ] 1 OK [ /common/functions/Arithmetic/floor ] 1 OK [ /common/functions/Arithmetic/gcd ] 1 2 3 OK [ /common/functions/Linear Algebra/hermite_normal_form ] 1 OK [ /common/functions/Utilities/histogram ] 1 OK [ /common/functions/Set Operations/incl ] 1 OK [ /common/functions/Data Conversion/index_matrix ] 1 OK [ /common/functions/Utilities/index_of ] 1 OK [ /common/functions/Data Conversion/indices ] 1 OK [ /common/functions/Graph Operations/induced_subgraph ] 1 FAILED [ /common/functions/Linear Algebra/inv ] 1 OK [ /common/functions/Lattice Tools/is_integral ] 1 2 OK [ /common/functions/Utilities/is_nonnegative ] 1 OK [ /common/functions/Utilities/is_unimodal ] 1 OK [ /common/functions/Arithmetic/isfinite ] 1 OK [ /common/functions/Arithmetic/isinf ] 1 OK [ /common/functions/Formatting/labeled ] 1 OK [ /common/functions/Linear Algebra/lattice_basis ] 1 OK [ /common/functions/Arithmetic/lcm ] 1 2 OK [ /common/functions/Data Conversion/lex_ordered ] 1 FAILED [ /common/functions/Linear Algebra/lin_solve ] 1 OK [ /common/functions/Linear Algebra/lineality_space ] 1 OK [ /common/property_types/Algebraic Types/Polynomial/methods/mapvars ] 1 OK [ /common/functions/Utilities/maximum ] 1 OK [ /common/functions/Utilities/median ] 1 OK [ /common/functions/Utilities/minimum ] 1 OK [ /common/property_types/Algebraic Types/Matrix/methods/minor ] 1 OK [ /common/property_types/Set Types/IncidenceMatrix/methods/minor ] 1 FAILED [ /common/functions/Linear Algebra/moore_penrose_inverse ] 1 OK [ /common/functions/Combinatorics/n_fixed_points ] 1 OK [ /common/functions/Graph Operations/node_edge_incidences ] 1 FAILED [ /common/functions/Graph Operations/nodes ] 1 FAILED [ /common/functions/Linear Algebra/normalized ] 1 OK [ /common/functions/Linear Algebra/null_space ] 1 2 OK [ /common/functions/Linear Algebra/null_space_integer ] 1 OK [ /common/functions/Formatting/numbered ] 1 OK [ /common/functions/Linear Algebra/ones_matrix ] 1 OK [ /common/functions/Linear Algebra/ones_vector ] 1 OK [ /common/functions/Combinatorics/permutation_cycle_lengths ] 1 OK [ /common/functions/Combinatorics/permutation_cycles ] 1 OK [ /common/functions/Combinatorics/permutation_matrix ] 1 OK [ /common/functions/Combinatorics/permutation_order ] 1 OK [ /common/functions/Combinatorics/permutation_sign ] 1 OK [ /common/functions/Linear Algebra/pluecker ] 1 OK [ /common/functions/Lattice Tools/primitive ] 1 2 OK [ /common/functions/Lattice Tools/primitive_affine ] 1 2 OK [ /common/functions/Formatting/print_constraints ] 1 OK [ /common/property_types/Algebraic Types/Polynomial/methods/project ] 1 OK [ /common/functions/Linear Algebra/project_to_orthogonal_complement ] 1 OK [ /common/functions/Linear Algebra/qr_decomp ] 1 OK [ /common/functions/Set Operations/range ] 1 OK [ /common/functions/Set Operations/range_from ] 1 OK [ /common/functions/Linear Algebra/rank ] 1 OK [ /common/functions/Linear Algebra/remove_zero_rows ] 1 OK [ /common/functions/Data Conversion/repeat_col ] 1 OK [ /common/functions/Data Conversion/repeat_row ] 1 OK [ /common/property_types/Algebraic Types/Matrix/methods/resize ] 1 OK [ /common/property_types/Algebraic Types/SparseMatrix/methods/resize ] 1 OK [ /common/property_types/Algebraic Types/Matrix/methods/row ] 1 OK [ /common/functions/Data Conversion/rows ] 1 FAILED [ /common/property_types/Algebraic Types/Matrix/methods/rows ] 1 OK [ /common/functions/Formatting/rows_labeled ] 1 2 FAILED [ /common/functions/Formatting/rows_numbered ] 1 FAILED [ /common/functions/Set Operations/scalar2set ] 1 OK [ /common/functions/Set Operations/select_subset ] 1 OK [ /common/functions/Set Operations/sequence ] 1 OK [ /common/functions/Linear Algebra/singular_value_decomposition ] 1 OK [ /common/property_types/Algebraic Types/SparseVector/methods/size ] 1 OK [ /common/property_types/Algebraic Types/Vector/methods/slice ] 1 OK [ /common/functions/Linear Algebra/smith_normal_form ] 1 OK [ /common/functions/Linear Algebra/smith_normal_form_flint ] 1 OK [ /common/functions/Linear Algebra/solve_left ] 1 OK [ /common/functions/Linear Algebra/solve_right ] 1 2 OK [ /common/functions/Linear Algebra/sqr ] 1 OK [ /common/property_types/Algebraic Types/SparseMatrix/methods/squeeze ] 1 OK [ /common/property_types/Algebraic Types/SparseMatrix/methods/squeeze_cols ] 1 OK [ /common/property_types/Algebraic Types/SparseMatrix/methods/squeeze_rows ] 1 OK [ /common/property_types/Algebraic Types/Polynomial/methods/substitute ] 1 OK [ /common/functions/Utilities/sum ] 1 OK [ /common/functions/Arithmetic/sum_of_square_roots_naive ] 1 OK [ /common/functions/Data Conversion/support ] 1 OK [ /common/functions/Data Conversion/toMatrix ] 1 FAILED [ /common/functions/Data Conversion/toVector ] 1 OK [ /common/functions/Linear Algebra/totally_unimodular ] 1 OK [ /common/functions/Linear Algebra/trace ] 1 OK [ /common/functions/Linear Algebra/transpose ] 1 OK [ /common/functions/Linear Algebra/unit_matrix ] 1 2 OK [ /common/functions/Linear Algebra/unit_vector ] 1 2 3 OK [ /common/property_types/Algebraic Types/PuiseuxFraction/methods/val ] 1 ERROR [ /common/functions/Data Conversion/vector2col ] 1 OK [ /common/functions/Data Conversion/vector2row ] 1 OK [ /common/functions/Linear Algebra/zero_matrix ] 1 2 OK [ /common/functions/Linear Algebra/zero_vector ] 1 2 3 OK polymake: ERROR: "/home/pj/FreeBSD/ports-wip/math/polymake/work/polymake-4.4/apps/fan/rules/main.rules", line 21: Cyclic dependence between applications fan and polytope *** Error code 1 Stop. make: stopped in /home/pj/FreeBSD/ports-wip/math/polymake
Steps to reproduce:
- grab a recent ports tree (commit a8ceb6491219baa95155e2b55a1ba5b1654757cb or later) and this patch (which installs a currently missing header file for nauty)
- build the polymake port with options NAUTY and TESTS (that is the minimal set of options to reproduce this problem)

This is on a FreeBSD 12.2-Stable amd64 system, using the system compiler (clang 10.0.1) and perl 5.32.1. Nauty is at version 2.7r1.

The testsuite passes without problems when polymake is built with bliss.

Kind regards
Philipp

Re: Testsuite regression with nauty on FreeBSD

Posted: 28 Aug 2021, 19:27
by blorenz
Unfortunately there is a small mistake in the patch, in the case that --without-prereq is passed to configure the -lnauty flag for the linker will be missing. Please try this patch: https://polymake.org/downloads/libnauty2.patch

Benjamin

Re: Testsuite regression with nauty on FreeBSD

Posted: 01 Sep 2021, 23:58
by Philipp
That fixed the problem. Thank you very much!