Bug 230002 - math/suitesparse build failure on FreeBSD 11 i386 and amd64
Summary: math/suitesparse build failure on FreeBSD 11 i386 and amd64
Status: New
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: freebsd-fortran mailing list
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-07-24 03:07 UTC by dewayne
Modified: 2018-08-03 18:41 UTC (History)
2 users (show)

See Also:
bugzilla: maintainer-feedback? (fortran)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description dewayne 2018-07-24 03:07:50 UTC
# uname -pivKU
FreeBSD 11.1-STABLE  r330133M   amd64 hqdev-amd64-smp-vga 1101511 1101509

Interestingly I'm using the default BLAS, netlib, but openblas is listed in the libraries to be linked, even after modifying the Makefile:
-OPTIONS_DEFAULT=       OPENBLAS
+#OPTIONS_DEFAULT=      OPENBLAS

gcc7 -pie -Wl,--strip-debug -Wl,--build-id=md5 -Wl,-rpath=/usr/local/lib/gcc7  -L/usr/local/lib/gcc7 -B/usr/local/bin -L/usr/local/lib -fno-stack-protector -Wl,-rpath=/usr/local/lib/gcc7 -L/usr/local/lib/gcc7 -L/var/ports/usr/ports/math/suitesparse/work/SuiteSparse/lib -L/var/ports/usr/ports/math/suitesparse/work/SuiteSparse/lib -L/var/ports/usr/ports/math/suitesparse/work/SuiteSparse/lib -L/var/ports/usr/ports/math/suitesparse/work/SuiteSparse/lib -shared -Wl,-soname -Wl,libcholmod.so.3 -Wl,--no-undefined -fopenmp cholmod_aat.o cholmod_add.o cholmod_band.o cholmod_change_factor.o cholmod_common.o cholmod_complex.o cholmod_copy.o cholmod_dense.o cholmod_error.o cholmod_factor.o cholmod_memory.o cholmod_sparse.o cholmod_transpose.o cholmod_triplet.o cholmod_version.o cholmod_check.o cholmod_read.o cholmod_write.o cholmod_amd.o cholmod_analyze.o cholmod_colamd.o cholmod_etree.o cholmod_factorize.o cholmod_postorder.o cholmod_rcond.o cholmod_resymbol.o cholmod_rowcolcounts.o cholmod_rowfac.o cholmod_solve.o cholmod_spsolve.o cholmod_drop.o cholmod_horzcat.o cholmod_norm.o cholmod_scale.o cholmod_sdmult.o cholmod_ssmult.o cholmod_submatrix.o cholmod_vertcat.o cholmod_symmetry.o cholmod_rowadd.o cholmod_rowdel.o cholmod_updown.o cholmod_super_numeric.o cholmod_super_solve.o cholmod_super_symbolic.o cholmod_ccolamd.o cholmod_csymamd.o cholmod_metis.o cholmod_nesdis.o cholmod_camd.o cholmod_l_aat.o cholmod_l_add.o cholmod_l_band.o cholmod_l_change_factor.o cholmod_l_common.o cholmod_l_complex.o cholmod_l_copy.o cholmod_l_dense.o cholmod_l_error.o cholmod_l_factor.o cholmod_l_memory.o cholmod_l_sparse.o cholmod_l_transpose.o cholmod_l_triplet.o cholmod_l_version.o cholmod_l_check.o cholmod_l_read.o cholmod_l_write.o cholmod_l_amd.o cholmod_l_analyze.o cholmod_l_colamd.o cholmod_l_etree.o cholmod_l_factorize.o cholmod_l_postorder.o cholmod_l_rcond.o cholmod_l_resymbol.o cholmod_l_rowcolcounts.o cholmod_l_rowfac.o cholmod_l_solve.o cholmod_l_spsolve.o cholmod_l_drop.o cholmod_l_horzcat.o cholmod_l_norm.o cholmod_l_scale.o cholmod_l_sdmult.o cholmod_l_ssmult.o cholmod_l_submatrix.o cholmod_l_vertcat.o cholmod_l_symmetry.o cholmod_l_rowadd.o cholmod_l_rowdel.o cholmod_l_updown.o cholmod_l_super_numeric.o cholmod_l_super_solve.o cholmod_l_super_symbolic.o cholmod_l_ccolamd.o cholmod_l_csymamd.o cholmod_l_metis.o cholmod_l_nesdis.o cholmod_l_camd.o -o /var/ports/usr/ports/math/suitesparse/work/SuiteSparse/lib/libcholmod.so.3.0.12 -lm -lamd -lcolamd -lsuitesparseconfig -lccolamd -lcamd -L/usr/local/lib -lmetis -pie -Wl,--strip-debug -Wl,--build-id=md5 -Wl,-rpath=/usr/local/lib/gcc7  -L/usr/local/lib/gcc7 -B/usr/local/bin -L/usr/local/lib -fno-stack-protector -Wl,-rpath=/usr/local/lib/gcc7 -L/usr/local/lib/gcc7 -llapack -lopenblas
/usr/local/bin/ranlib libcholmod.a
/usr/lib/Scrt1.o: In function `_start':
/smallblocks/src/lib/csu/amd64/crt1.c:(.text+0x18c): undefined reference to `main'
collect2: error: ld returned 1 exit status
gmake[4]: *** [Makefile:544: /var/ports/usr/ports/math/suitesparse/work/SuiteSparse/lib/libcholmod.so.3.0.12] Error 1
gmake[4]: Leaving directory '/var/ports/usr/ports/math/suitesparse/work/SuiteSparse/CHOLMOD/Lib'
gmake[3]: *** [Makefile:31: library] Error 2
gmake[3]: Leaving directory '/var/ports/usr/ports/math/suitesparse/work/SuiteSparse/CHOLMOD/Lib'
gmake[2]: *** [Makefile:14: all] Error 2
gmake[2]: Leaving directory '/var/ports/usr/ports/math/suitesparse/work/SuiteSparse/CHOLMOD'
gmake[1]: *** [Makefile:21: go] Error 2
gmake[1]: Leaving directory '/var/ports/usr/ports/math/suitesparse/work/SuiteSparse'
*** Error code 2

PS /usr/src points to /smallblocks, I'm surprised the port looks there for crt1.c? Prior to April updates, suitesparse built with gcc7
Comment 1 dewayne 2018-07-24 03:13:15 UTC
(In reply to dewayne from comment #0)
Since filing the above problem which was included in a previous PR that was marked as duplicate, suitesparse fails to build with netblas or "none" blas.  On FreeBSD 11.2 on i386 and amd64 using either gcc7 or clang 6.0.1.

With netblas
/usr/local/bin/ranlib libcholmod.a
/usr/lib/Scrt1.o: In function `_start':
crt1.c:(.text+0xb1): undefined reference to `main'
collect2: error: ld returned 1 exit status
gmake[4]: *** [Makefile:544: /var/ports/usr/ports/math/suitesparse/work/SuiteSparse/lib/libcholmod.so.3.0.12] Error 1

With "none" blas selected
/usr/local/lib/liblapack.so: undefined reference to `ztbmv_'
collect2: error: ld returned 1 exit status
gmake[4]: *** [Makefile:544: /var/ports/usr/ports/math/suitesparse/work/SuiteSparse/lib/libcholmod.so.3.0.12] Error 1

Seems that only "svnlite update -r '{20180424}' /usr/ports/math/suitesparse" works?