octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #61393] [octave forge] (sparsersb) Crash while


From: Markus Mützel
Subject: [Octave-bug-tracker] [bug #61393] [octave forge] (sparsersb) Crash while "pkg test sparsersb"
Date: Fri, 21 Oct 2022 12:44:46 -0400 (EDT)

Follow-up Comment #38, bug #61393 (project octave):

That was a good hint. It looks like libtool didn't want to build a shared
library:

/bin/bash ./libtool  --tag=CC   --mode=link x86_64-w64-mingw32-gcc  -g -O2
-D__USE_MINGW_ANSI_STDIO=1 -std=c99 -no-undefined -version-info 0:0:0
-L/home/osboxes/mxe-octave-stable/usr/x86_64-w64-mingw32/lib -o librsb.la
-rpath /home/osboxes/mxe-octave-stable/usr/x86_64-w64-mingw32/lib rsb.lo
librsb_nounroll.la librsb_base.la librsb_spblas.la
/home/osboxes/mxe-octave-stable/tmp-librsb/librsb-1.3.0.1/librsbpp/librsbpp.la
-lstdc++ -lm -lz -fopenmp
-L/home/osboxes/mxe-octave-stable/usr/x86_64-w64-mingw32/lib
-L/home/osboxes/mxe-octave-stable/usr/lib/gcc/x86_64-w64-mingw32/11.2.0
-L/home/osboxes/mxe-octave-stable/usr/lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/lib/../lib
-L/home/osboxes/mxe-octave-stable/usr/lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/lib
-lgfortran -lmingw32 -lmoldname -lmingwex -lmsvcrt -lkernel32 -lquadmath -lm
-lkernel32 -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -lkernel32

*** Warning: This system cannot link to static lib archive
/home/osboxes/mxe-octave-stable/usr/lib/gcc/x86_64-w64-mingw32/11.2.0/libstdc++fs.la.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have.

*** Warning: linker path does not have real file for library -lmingw32.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have
*** because I did check the linker path looking for a file starting
*** with libmingw32 and none of the candidates passed a file format test
*** using a file magic. Last file checked:
/home/osboxes/mxe-octave-stable/usr/x86_64-w64-mingw32/lib/libmingw32.a

*** Warning: linker path does not have real file for library -lmoldname.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have
*** because I did check the linker path looking for a file starting
*** with libmoldname and none of the candidates passed a file format test
*** using a file magic. Last file checked:
/home/osboxes/mxe-octave-stable/usr/x86_64-w64-mingw32/lib/libmoldname.a

*** Warning: linker path does not have real file for library -lmingwex.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have
*** because I did check the linker path looking for a file starting
*** with libmingwex and none of the candidates passed a file format test
*** using a file magic. Last file checked:
/home/osboxes/mxe-octave-stable/usr/x86_64-w64-mingw32/lib/libmingwex.a
*** The inter-library dependencies that have been dropped here will be
*** automatically added whenever a program is linked with this library
*** or is declared to -dlopen it.

*** Since this library must not contain undefined symbols,
*** because either the platform does not support them or
*** it was explicitly requested with -no-undefined,
*** libtool will only create a static version of it.
libtool: link: (cd .libs/librsb.lax/librsb_nounroll.a && x86_64-w64-mingw32-ar
x
"/home/osboxes/mxe-octave-stable/tmp-librsb/librsb-1.3.0.1/./.libs/librsb_nounroll.a")
libtool: link: (cd .libs/librsb.lax/librsb_base.a && x86_64-w64-mingw32-ar x
"/home/osboxes/mxe-octave-stable/tmp-librsb/librsb-1.3.0.1/./.libs/librsb_base.a")
libtool: link: (cd .libs/librsb.lax/librsb_spblas.a && x86_64-w64-mingw32-ar x
"/home/osboxes/mxe-octave-stable/tmp-librsb/librsb-1.3.0.1/./.libs/librsb_spblas.a")
libtool: link: (cd .libs/librsb.lax/librsbpp.a && x86_64-w64-mingw32-ar x
"/home/osboxes/mxe-octave-stable/tmp-librsb/librsb-1.3.0.1/librsbpp/.libs/librsbpp.a")
libtool: link: x86_64-w64-mingw32-ar cru .libs/librsb.a .libs/rsb.o 
.libs/librsb.lax/librsb_nounroll.a/librsb_nounroll_la-rsb_bench.o
.libs/librsb.lax/librsb_nounroll.a/librsb_nounroll_la-rsb_krnl.o
.libs/librsb.lax/librsb_nounroll.a/librsb_nounroll_la-rsb_krnl_bcoo_spmv_u.o
.libs/librsb.lax/librsb_nounroll.a/librsb_nounroll_la-rsb_krnl_bcss.o
.libs/librsb.lax/librsb_nounroll.a/librsb_nounroll_la-rsb_krnl_bcss_l.o
.libs/librsb.lax/librsb_nounroll.a/librsb_nounroll_la-rsb_krnl_bcss_misc_u.o
.libs/librsb.lax/librsb_nounroll.a/librsb_nounroll_la-rsb_krnl_bcss_spmv_u.o
.libs/librsb.lax/librsb_nounroll.a/librsb_nounroll_la-rsb_krnl_bcss_spsv_u.o
.libs/librsb.lax/librsb_nounroll.a/librsb_nounroll_la-rsb_krnl_bcss_u.o
.libs/librsb.lax/librsb_nounroll.a/librsb_nounroll_la-rsb_krnl_lb.o
.libs/librsb.lax/librsb_nounroll.a/librsb_nounroll_la-rsb_krnl_vb.o
.libs/librsb.lax/librsb_nounroll.a/librsb_nounroll_la-rsb_merge.o
.libs/librsb.lax/librsb_nounroll.a/librsb_nounroll_la-rsb_mergesort.o
.libs/librsb.lax/librsb_nounroll.a/librsb_nounroll_la-rsb_ompio.o
.libs/librsb.lax/librsb_nounroll.a/librsb_nounroll_la-rsb_permute.o
.libs/librsb.lax/librsb_nounroll.a/librsb_nounroll_la-rsb_prec.o
.libs/librsb.lax/librsb_nounroll.a/librsb_nounroll_la-rsb_spgemm_csr.o
.libs/librsb.lax/librsb_nounroll.a/librsb_nounroll_la-rsb_spmv.o
.libs/librsb.lax/librsb_nounroll.a/librsb_nounroll_la-rsb_spsum_misc.o
.libs/librsb.lax/librsb_nounroll.a/librsb_nounroll_la-rsb_strmif.o
.libs/librsb.lax/librsb_nounroll.a/librsb_nounroll_la-rsb_stropts.o
.libs/librsb.lax/librsb_nounroll.a/librsb_nounroll_la-rsb_unroll.o
.libs/librsb.lax/librsb_nounroll.a/librsb_nounroll_la-rsb_util.o 
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_asm.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_bio.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_blas_stuff.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_clone.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_coo.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_coo2rec.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_coo_check.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_coo_symm.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_cpmv.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_csr.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_csr2coo.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_do.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_dump.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_eps.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_err.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_fpb.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_garbage.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_gen.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_get.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_idx.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_init.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_internals.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_is.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_limiter.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_lock.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_mbw.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_mio.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_mmio.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_msort_up.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_op.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_partition.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_perf.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_rec.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_rec2coo.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_rec2csr.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_render.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_rsb.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_set.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_spgemm.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_spsum.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_spsv.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_src.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_srt.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_srtp.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_swt.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_sys.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_test_accuracy.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_tune.o
.libs/librsb.lax/librsb_base.a/librsb_base_la-rsb_user.o 
.libs/librsb.lax/librsb_spblas.a/rsb_libspblas.o
.libs/librsb.lax/librsb_spblas.a/rsb_libspblas_handle.o 
.libs/librsb.lax/librsbpp.a/rsbpp_coo.o
.libs/librsb.lax/librsbpp.a/rsbpp_csr.o 
libtool: link: x86_64-w64-mingw32-ranlib .libs/librsb.a
libtool: link: rm -fr .libs/librsb.lax
libtool: link: ( cd ".libs" && rm -f "librsb.la" && ln -s "../librsb.la"
"librsb.la" )


The first library it complains about is "libstdc++fs". It looks like its
implementation in GCC is incomplete (especially for Windows), and there is no
shared library for it. [1]
I worked around that by adding `ac_cv_lib_stdcppfs_main=no
ac_cv_header_filesystem=no` to the configure flags.

The other libraries seem to come from the `AC_FC_LIBRARY_LDFLAGS` macro. By
the looks of it, its output is completely broken (at least for Windows). I
worked around that by setting `FCLIBS="-lgfortran"` for the configure script.

With those changes to the configure command, a shared library `librsb-0.dll`
is built.

With that in place, the sparsersb package builds without any issues.

I guess that means that your pre-released version builds successfully for
Windows (when working around some platform specific quirks). 👍

Please, let us know when you are ready to release it, and we'll update to that
version in MXE Octave.

[1]:
https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dynamic_or_shared.html



    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?61393>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]