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

GSL 2.7 : undefined symbol: gsl_spmatrix_uchar_norm1 #231

Closed
hakonhagland opened this issue Jun 25, 2021 · 2 comments
Closed

GSL 2.7 : undefined symbol: gsl_spmatrix_uchar_norm1 #231

hakonhagland opened this issue Jun 25, 2021 · 2 comments

Comments

@hakonhagland
Copy link
Contributor

After applying PR #230, I get the following test failures:

$ PATH="/opt/gsl/gsl-2.7/bin:$PATH" perl Build.PL
$ ./Build
$ LD_LIBRARY_PATH=/opt/gsl/gsl-2.7/lib ./Build test
Building wrappers for GSL 1.15
Building wrappers for GSL 1.16
Building wrappers for GSL 2.0
Building wrappers for GSL 2.1
Building wrappers for GSL 2.2
Building wrappers for GSL 2.2.1
Building wrappers for GSL 2.3
Building wrappers for GSL 2.4
Building wrappers for GSL 2.5
Building wrappers for GSL 2.6
Building wrappers for GSL 2.7
Processing 2.7 XS files, GSL 2.7 (via gsl-config) at /opt/gsl/gsl-2.7
Compiler        = cc (Ubuntu 10.3.0-1ubuntu1) 10.3.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


ccflags         = -fPIC -I/opt/gsl/gsl-2.7/include -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -Wno-sometimes-uninitialized -Wno-unused-function -Wno-unused-value -Wno-unused-function -Wno-unused-variable -Wno-gnu -g -fPIC -fno-omit-frame-pointer -I/opt/gsl/gsl-2.7/include
ldflags         = -shared -L/opt/gsl/gsl-2.7/lib -lgsl -lgslcblas -lm -fPIC -fno-omit-frame-pointer
swig_flags      = -I/opt/gsl/gsl-2.7/include  -w451,454
swig_version    = 4.0.2
PERL5LIB        = 
LD_LIBRARY_PATH = /opt/gsl/gsl-2.7/lib
t/00-load.t ........ 1/? 
#   Failed test 'use Math::GSL::SparseMatrix;'
#   at t/00-load.t line 14.
#     Tried to use 'Math::GSL::SparseMatrix'.
#     Error:  Can't load '/home/hakon/test/math--gsl/blib/arch/auto/Math/GSL/SparseMatrix/SparseMatrix.so' for module Math::GSL::SparseMatrix: /home/hakon/test/math--gsl/blib/arch/auto/Math/GSL/SparseMatrix/SparseMatrix.so: undefined symbol: gsl_spmatrix_uchar_norm1 at /home/hakon/perlbrew/perls/perl-5.32.0/lib/5.32.0/x86_64-linux/DynaLoader.pm line 193.
#  at /home/hakon/test/math--gsl/blib/lib/Math/GSL/SparseMatrix.pm line 11.
# Compilation failed in require at t/00-load.t line 14.
# BEGIN failed--compilation aborted at t/00-load.t line 14.
# Testing Math::GSL 0.42 with GSL 2.7 on x86_64-linux, Perl (/home/hakon/perlbrew/perls/perl-5.32.0/bin/perl) 5.032000
# Looks like you failed 1 test of 56.
t/00-load.t ........ Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/56 subtests 
t/BLAS.t ........... ok       
t/BSpline.t ........ ok   
t/CBLAS.t .......... ok   
t/CDF.t ............ ok       
t/Chebyshev.t ...... ok     
t/Combination.t .... ok     
t/Complex.t ........ ok    
t/Const.t .......... ok   
t/DHT.t ............ ok   
t/Deriv.t .......... ok     
t/Diff.t ........... ok   
t/Eigen.t .......... ok     
t/Errno.t .......... ok    
t/FFT.t ............ ok    
t/Fit.t ............ ok     
t/GSL.t ............ 1/? # 
# 	Elements start differing at index 2, delta = 9.99999998363421e-08
# 		$x->[2] = 3.0010001
# 		$y->[2] = 3.0010002
# 
# 	Elements start differing at index 2, delta = 0.00099999999999989
# 		$x->[2] = 3
# 		$y->[2] = 3.001
t/GSL.t ............ ok    
t/Heapsort.t ....... ok   
t/Histogram.t ...... ok     
t/Histogram2D.t .... ok     
t/IEEEUtils.t ...... ok   
t/Integration.t .... ok     
t/Interp.t ......... ok     
t/Linalg.t ......... ok    
t/Machine.t ........ ok   
t/Matrix.t ......... 1/? # 
# 	Elements start differing at index 1, delta = 1
# 		$x->[1] = 3
# 		$y->[1] = 2
t/Matrix.t ......... ok     
t/MatrixComplex.t .. 1/38 # 
# 	Elements start differing at index 1, delta = 1
# 		$x->[1] = 3
# 		$y->[1] = 4
# 
# 	Elements start differing at index 1, delta = 1
# 		$x->[1] = 3
# 		$y->[1] = 2
t/MatrixComplex.t .. ok     
t/Min.t ............ ok    
t/Monte.t .......... ok     
t/Multifit.t ....... ok     
t/Multilarge.t ..... ok   
t/Multimin.t ....... ok   
t/Multiroots.t ..... ok     
t/Multiset.t ....... ok     
t/NTuple.t ......... 1/11 This is the end at t/NTuple.t line 14.
t/NTuple.t ......... ok     
t/ODEIV.t .......... ok   
t/ODEIV_evolve.t ... ok    
t/Permutation.t .... ok     
t/Poly.t ........... ok   
t/PowInt.t ......... ok     
t/QRNG.t ........... ok     
t/RNG.t ............ ok     
t/Randist.t ........ ok       
t/Roots.t .......... ok     
t/Rstat.t .......... 1/? 
#   Failed test 'The median is 16.5'
#   at t/Rstat.t line 85.
#   (in Math::GSL::Rstat::Test->GSL_RSTAT)

#   Failed test 'gsl_rstat_quantile_get=17.2'
#   at t/Rstat.t line 45.
#   (in Math::GSL::Rstat::Test->GSL_RSTAT_QUANTILE)
# Looks like you failed 2 tests of 27.
t/Rstat.t .......... Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/27 subtests 
t/SF.t ............. 1/? # GSL version=2.7
t/SF.t ............. ok      
t/Siman.t .......... ok   
t/Sort.t ........... ok     
t/SparseMatrix.t ... Can't load '/home/hakon/test/math--gsl/blib/arch/auto/Math/GSL/SparseMatrix/SparseMatrix.so' for module Math::GSL::SparseMatrix: /home/hakon/test/math--gsl/blib/arch/auto/Math/GSL/SparseMatrix/SparseMatrix.so: undefined symbol: gsl_spmatrix_uchar_norm1 at /home/hakon/perlbrew/perls/perl-5.32.0/lib/5.32.0/x86_64-linux/DynaLoader.pm line 193.
 at /home/hakon/test/math--gsl/blib/lib/Math/GSL/SparseMatrix.pm line 11.
Compilation failed in require at (eval 22) line 1.
BEGIN failed--compilation aborted at (eval 22) line 1.
BEGIN failed--compilation aborted at t/SparseMatrix.t line 24.
t/SparseMatrix.t ... Dubious, test returned 2 (wstat 512, 0x200)
No subtests run 
t/Spline.t ......... ok     
t/Statistics.t ..... ok     
t/Sum.t ............ ok     
t/Sys.t ............ ok     
t/Vector.t ......... 1/143 # 
# 	Elements start differing at index 0, delta = 9
# 		$x->[0] = 1
# 		$y->[0] = 10
# 
# 	Elements start differing at index 0, delta = 9
# 		$x->[0] = 1
# 		$y->[0] = 10
t/Vector.t ......... ok       
t/VectorComplex.t .. ok     
t/Wavelet.t ........ ok     
t/Wavelet2D.t ...... ok   
t/ver2func.t ....... # Testing Math::GSL with GSL 1.16.1 on x86_64-linux, Perl (/home/hakon/perlbrew/perls/perl-5.32.0/bin/perl) 5.032000
t/ver2func.t ....... ok   

Test Summary Report
-------------------
t/00-load.t      (Wstat: 256 Tests: 56 Failed: 1)
  Failed test:  54
  Non-zero exit status: 1
t/Rstat.t        (Wstat: 512 Tests: 27 Failed: 2)
  Failed tests:  14, 27
  Non-zero exit status: 2
t/SparseMatrix.t (Wstat: 512 Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: No plan found in TAP output
Files=58, Tests=4165,  5 wallclock secs ( 0.31 usr  0.08 sys +  4.47 cusr  0.57 csys =  5.43 CPU)
Result: FAIL
Failed 3/58 test programs. 3/4165 subtests failed.
hakonhagland added a commit to hakonhagland/math--gsl that referenced this issue Jun 25, 2021
@hakonhagland
Copy link
Contributor Author

undefined symbol: gsl_spmatrix_uchar_norm1

Seems like this could be a problem with the GSL library itself, the following C program norm.c :

#include <stdio.h>
#include <gsl/gsl_spmatrix.h>
int
main()
{
    gsl_spmatrix_uchar *A = gsl_spmatrix_uchar_alloc(2, 2);

    gsl_spmatrix_uchar_set(A, 0, 0, 1);
    gsl_spmatrix_uchar_set(A, 0, 1, 2);
    gsl_spmatrix_uchar_set(A, 1, 0, 3);
    gsl_spmatrix_uchar_set(A, 1, 1, 4);

    double norm = gsl_spmatrix_uchar_norm1(A);
    printf("norm = %g\n", norm);
    gsl_spmatrix_uchar_free(A);

    return 0;
}

and compiled with:

$ gcc -Wall -I/opt/gsl/gsl-2.7/include -c norm.c
$ gcc -L/opt/gsl/gsl-2.7/lib -o norm norm.o -lgsl -lgslcblas -lm
/bin/ld: norm.o: in function `main':
norm.c:(.text+0x93): undefined reference to `gsl_spmatrix_uchar_norm1'
collect2: error: ld returned 1 exit status

produces the same error.

@hakonhagland
Copy link
Contributor Author

Added bug report.

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

No branches or pull requests

1 participant