Bug 227791 - math/suitesparse undefined reference to `SuiteSparse_config'
Summary: math/suitesparse undefined reference to `SuiteSparse_config'
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Yuri Victorovich
URL:
Keywords:
: 227795 (view as bug list)
Depends on:
Blocks:
 
Reported: 2018-04-26 14:05 UTC by Marco Beishuizen
Modified: 2018-08-05 20:04 UTC (History)
13 users (show)

See Also:


Attachments
[patch] link with libs in build tree before LOCALBASE (442 bytes, patch)
2018-06-03 02:18 UTC, John Hein
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Marco Beishuizen 2018-04-26 14:05:53 UTC
After the update today of math/suitesparse, the port doesn't build:

/usr/local/bin/ar rv libamd.a amd_i_aat.o amd_i_1.o amd_i_2.o amd_i_dump.o amd_i_postorder.o amd_i_defaults.o amd_i_post_tree.o amd_i_order.o amd_i_control.o amd_i_info.o amd_i_valid.o amd_i_preprocess.o amd_l_aat.o amd_l_1.o amd_l_2.o amd_l_dump.o amd_l_postorder.o amd_l_defaults.o amd_l_post_tree.o amd_l_order.o amd_l_control.o amd_l_info.o amd_l_valid.o amd_l_preprocess.o
/usr/local/bin/ar: creating libamd.a
a - amd_i_aat.o
a - amd_i_1.o
a - amd_i_2.o
a - amd_i_dump.o
a - amd_i_postorder.o
a - amd_i_defaults.o
a - amd_i_post_tree.o
a - amd_i_order.o
a - amd_i_control.o
a - amd_i_info.o
a - amd_i_valid.o
a - amd_i_preprocess.o
a - amd_l_aat.o
a - amd_l_1.o
a - amd_l_2.o
a - amd_l_dump.o
a - amd_l_postorder.o
a - amd_l_defaults.o
a - amd_l_post_tree.o
a - amd_l_order.o
a - amd_l_control.o
a - amd_l_info.o
a - amd_l_valid.o
a - amd_l_preprocess.o
gcc6  -Wl,-rpath=/usr/local/lib/gcc6  -L/usr/local/lib/gcc6 -B/usr/local/bin -L/usr/local/lib -fstack-protector -Wl,-rpath=/usr/local/lib/gcc6 -L/usr/local/lib/gcc6 -L/usr/ports/math/suitesparse/work/SuiteSparse/lib -L/usr/ports/math/suitesparse/work/SuiteSparse/lib -L/usr/ports/math/suitesparse/work/SuiteSparse/lib -L/usr/ports/math/suitesparse/work/SuiteSparse/lib -shared -Wl,-soname -Wl,libamd.so.2 -Wl,--no-undefined amd_i_aat.o amd_i_1.o amd_i_2.o amd_i_dump.o amd_i_postorder.o amd_i_defaults.o amd_i_post_tree.o amd_i_order.o amd_i_control.o amd_i_info.o amd_i_valid.o amd_i_preprocess.o amd_l_aat.o amd_l_1.o amd_l_2.o amd_l_dump.o amd_l_postorder.o amd_l_defaults.o amd_l_post_tree.o amd_l_order.o amd_l_control.o amd_l_info.o amd_l_valid.o amd_l_preprocess.o -o /usr/ports/math/suitesparse/work/SuiteSparse/lib/libamd.so.2.4.6 -lm -lsuitesparseconfig
/usr/local/bin/ranlib libamd.a
amd_i_control.o: In function `amd_control':
amd_control.c:(.text+0x2c): undefined reference to `SuiteSparse_config'
amd_control.c:(.text+0x104): undefined reference to `SuiteSparse_config'
amd_i_info.o: In function `amd_info':
amd_info.c:(.text+0x14): undefined reference to `SuiteSparse_config'
amd_l_control.o: In function `amd_l_control':
amd_control.c:(.text+0x2d): undefined reference to `SuiteSparse_config'
amd_control.c:(.text+0x106): undefined reference to `SuiteSparse_config'
amd_l_info.o:amd_info.c:(.text+0x14): more undefined references to `SuiteSparse_config' follow
collect2: error: ld returned 1 exit status
gmake[5]: *** [Makefile:90: /usr/ports/math/suitesparse/work/SuiteSparse/lib/libamd.so.2.4.6] Error 1
Comment 1 Marco Beishuizen 2018-04-26 17:53:12 UTC
My uname -a:
FreeBSD yokozuna 11.1-STABLE FreeBSD 11.1-STABLE #0 r328478: Sat Jan 27 22:31:28 CET 2018     root@yokozuna:/usr/obj/usr/src/sys/YOKOZUNA  amd64
Comment 2 Matthieu Volat 2018-04-26 19:48:31 UTC
Looks like the build procedure is catching previous libsuitesparse from /usr/local/lib ... If -L options could be arranged so it does not, that would work.
Comment 3 Koichiro Iwao freebsd_committer freebsd_triage 2018-04-27 00:35:48 UTC
*** Bug 227795 has been marked as a duplicate of this bug. ***
Comment 4 rkoberman 2018-04-27 01:33:04 UTC
I can confirm that deletion of the old version allows correct installation of the new one.
Comment 5 Rainer Hurling freebsd_committer freebsd_triage 2018-04-27 05:41:26 UTC
When I try to build math/suitesparse, after deleting the old version, I get the following on 12.0-CURRENT amd64:


[..skip..]
gmake[4]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/KLU/Demo'
gmake[3]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/KLU'
( cd UMFPACK && gmake )
gmake[3]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/UMFPACK'
( cd Lib    ; gmake )
gmake[4]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/UMFPACK/Lib'
gmake install INSTALL=/usr/ports/math/suitesparse/work/SuiteSparse
gmake[5]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/UMFPACK/Lib'
gmake[5]: Nothing to be done for 'install'.
gmake[5]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/UMFPACK/Lib'
gmake[4]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/UMFPACK/Lib'
( cd Demo   ; gmake )
gmake[4]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/UMFPACK/Demo'
( cd ../.. && gmake metis )
./umfpack_simple
gmake[5]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse'
Using pre-installed METIS 5.1.0 library at  [-L/usr/local/lib -lmetis  -Wl,-rpath=/usr/local/lib/gcc6  -L/usr/local/lib/gcc6 -B/usr/local/bin -L/usr/local/lib -fstack-protector -Wl,-rpath=/usr/local/lib/gcc6 -L/usr/local/lib/gcc6]
gmake[5]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse'
( cd ../../SuiteSparse_config ; gmake )
gmake[5]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/SuiteSparse_config'
gmake install INSTALL=/usr/ports/math/suitesparse/work/SuiteSparse
gmake[6]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/SuiteSparse_config'
gmake[6]: Nothing to be done for 'install'.
gmake[6]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/SuiteSparse_config'
gmake[5]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/SuiteSparse_config'
( cd ../../AMD ; gmake library )
gmake[5]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/AMD'
( cd Lib    ; gmake )
gmake[6]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/AMD/Lib'
gmake install INSTALL=/usr/ports/math/suitesparse/work/SuiteSparse
gmake[7]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/AMD/Lib'
gmake[7]: Nothing to be done for 'install'.
gmake[7]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/AMD/Lib'
gmake[6]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/AMD/Lib'
gmake[5]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/AMD'
( cd ../Lib ; gmake )
gmake[5]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/UMFPACK/Lib'
gmake install INSTALL=/usr/ports/math/suitesparse/work/SuiteSparse
gmake[6]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/UMFPACK/Lib'
gmake[6]: Nothing to be done for 'install'.
gmake[6]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/UMFPACK/Lib'
gmake[5]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/UMFPACK/Lib'
( cd ../../CHOLMOD && gmake library )
gmake[5]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/CHOLMOD'
( cd Lib ; gmake )
gmake[6]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/CHOLMOD/Lib'
gmake install INSTALL=/usr/ports/math/suitesparse/work/SuiteSparse
gmake[7]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/CHOLMOD/Lib'
gmake[7]: Nothing to be done for 'install'.
gmake[7]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/CHOLMOD/Lib'
gmake[6]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/CHOLMOD/Lib'
gmake[5]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/CHOLMOD'
( cd ../../COLAMD && gmake library )
gmake[5]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/COLAMD'
( cd Lib    ; gmake )
gmake[6]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/COLAMD/Lib'
gmake install INSTALL=/usr/ports/math/suitesparse/work/SuiteSparse
gmake[7]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/COLAMD/Lib'
gmake[7]: Nothing to be done for 'install'.
gmake[7]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/COLAMD/Lib'
gmake[6]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/COLAMD/Lib'
gmake[5]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/COLAMD'
( cd ../../CCOLAMD ; gmake library )
gmake[5]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/CCOLAMD'
( cd Lib    ; gmake )
gmake[6]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/CCOLAMD/Lib'
gmake install INSTALL=/usr/ports/math/suitesparse/work/SuiteSparse
gmake[7]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/CCOLAMD/Lib'
gmake[7]: Nothing to be done for 'install'.
gmake[7]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/CCOLAMD/Lib'
gmake[6]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/CCOLAMD/Lib'
gmake[5]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/CCOLAMD'
( cd ../../CAMD ; gmake library )
gmake[5]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/CAMD'
( cd Lib    ; gmake )
gmake[6]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/CAMD/Lib'
gmake install INSTALL=/usr/ports/math/suitesparse/work/SuiteSparse
gmake[7]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/CAMD/Lib'
gmake[7]: Nothing to be done for 'install'.
gmake[7]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/CAMD/Lib'
gmake[6]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/CAMD/Lib'
gmake[5]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/CAMD'
gmake[4]: *** [Makefile:95: run] Segmentation fault (core dumped)
gmake[4]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/UMFPACK/Demo'
gmake[3]: *** [Makefile:15: all] Error 2
gmake[3]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/UMFPACK'
gmake[2]: *** [Makefile:26: go] Error 2
gmake[2]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse'
*** Error code 2


It seems, something went wrong in gmake[4]. There is a file UMFPACK/Demo/umfpack_simple.core.

Unfortunately, I have only a low level of expertise in debugging and until now, math/suiteparse was build without debugging symbols.
Comment 6 Trond Endrestøl 2018-04-27 09:18:44 UTC
(In reply to Rainer Hurling from comment #5)
The same error appears when using synth to compile math/suitesparse. Note that synth compiles math/suitesparse in complete isolation from the "LiveSystem", installing only what's needed to build math/suitesparse in a chroot(8) environment. This core dump is the same as happened in PR 174893. Does anyone know what was done to rectify that problem?
Comment 7 Yuri Victorovich freebsd_committer freebsd_triage 2018-04-28 13:31:13 UTC
This is because it picks old headers, and they aren't compatible. Try using the poudriere build.
Comment 8 O. Hartmann 2018-04-30 06:33:07 UTC
(In reply to Yuri Victorovich from comment #7)


Why should I add more (vast) load with poudriere? This is insane.

The solution for this problem - also present on recent CURRENT - is to remove (pkg delete, even on traditional built ports) math/suitesparse and rebuild it again. I ignore at that point other implications reeled in with a simple build and not rebuilding ports depending on math/suitesparse.
Comment 9 Yuri Victorovich freebsd_committer freebsd_triage 2018-04-30 07:16:08 UTC
(In reply to O. Hartmann from comment #8)

FYI poudriere is currently the only way to build packages correctly and avoid issues like this one.

But yes, 'pkg delete' works. It will hierarchically delete all packages that depend on suitresparse.
Comment 10 Rainer Hurling freebsd_committer freebsd_triage 2018-04-30 07:56:22 UTC
(In reply to O. Hartmann from comment #8)

> The solution for this problem - also present on recent CURRENT - is to remove 
> (pkg delete, even on traditional built ports) math/suitesparse and rebuild it 
> again. I ignore at that point other implications reeled in with a simple build 
> and not rebuilding ports depending on math/suitesparse.

As I stated in https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=227791#c5, I have some boxes with head, where deleting the port before rebuild and reinstall them, does not help.
Comment 11 Yuri Victorovich freebsd_committer freebsd_triage 2018-04-30 08:08:03 UTC
(In reply to Rainer Hurling from comment #10)

This looks like some other problem (not due to older headers). I can't reproduce it. It's built for me in the 12.0-CURRENT VM on poudriere.
Comment 12 Rainer Hurling freebsd_committer freebsd_triage 2018-04-30 08:15:34 UTC
(In reply to Yuri Victorovich from comment #11)

Hi Yuri,

For me too, it builds on Poudriere, and after deleting the old version of math/suitesparse, for some 12.0-CURRENT boxes in the production environment, for other boxes not. I found no rule for this until now :(
Comment 13 Yuri Victorovich freebsd_committer freebsd_triage 2018-04-30 08:20:16 UTC
(In reply to Rainer Hurling from comment #12)

But 12 isn't stable yet. I think it's not yet suitable for a production environment. Besides, why can't you just install from a package built in poudriere?
Comment 14 Rainer Hurling freebsd_committer freebsd_triage 2018-04-30 09:20:45 UTC
(In reply to Yuri Victorovich from comment #13)

Of course I can and I did for the boxes with these errors. But, shouldn't we be interested in the cause of such failures?
Comment 15 Yuri Victorovich freebsd_committer freebsd_triage 2018-04-30 15:42:02 UTC
(In reply to Rainer Hurling from comment #14)

Well, I don't even use 12 at home because I am afraid of instabilities in 12. -) And I know there are various issues. Many packages fail there. clang-6 used on 12 also has several unresolved regressions, I created at least 2 bug reports for clang with such regressions which still aren't resolved.

But you are right, we should be interested in the cause.

There is a segmentation failure. Do you know which process crashes? Does log show this?
Comment 16 doctor 2018-04-30 17:13:44 UTC
Seeing the same problem on FreeBSD 11.1 amd64 

a - amd_l_postorder.o
a - amd_l_defaults.o
a - amd_l_post_tree.o
a - amd_l_order.o
a - amd_l_control.o
a - amd_l_info.o
a - amd_l_valid.o
a - amd_l_preprocess.o
/usr/local/bin/ranlib libamd.a
/usr/local/bin/gcc7  -Wl,-rpath=/usr/local/lib/gcc6  -L/usr/local/lib/gcc6 -B/usr/local/bin -L/usr/local/lib -fstack-protector -L/usr/ports/math/suitesparse/work/SuiteSparse/lib -L/usr/ports/math/suitesparse/work/SuiteSparse/lib -L/usr/ports/math/suitesparse/work/SuiteSparse/lib -L/usr/ports/math/suitesparse/work/SuiteSparse/lib -shared -Wl,-soname -Wl,libamd.so.2 -Wl,--no-undefined amd_i_aat.o amd_i_1.o amd_i_2.o amd_i_dump.o amd_i_postorder.o amd_i_defaults.o amd_i_post_tree.o amd_i_order.o amd_i_control.o amd_i_info.o amd_i_valid.o amd_i_preprocess.o amd_l_aat.o amd_l_1.o amd_l_2.o amd_l_dump.o amd_l_postorder.o amd_l_defaults.o amd_l_post_tree.o amd_l_order.o amd_l_control.o amd_l_info.o amd_l_valid.o amd_l_preprocess.o -o /usr/ports/math/suitesparse/work/SuiteSparse/lib/libamd.so.2.4.6 -lm -lsuitesparseconfig
amd_i_control.o: In function `amd_control':
amd_control.c:(.text+0x9): undefined reference to `SuiteSparse_config'
amd_i_info.o: In function `amd_info':
amd_info.c:(.text+0xc): undefined reference to `SuiteSparse_config'
amd_l_control.o: In function `amd_l_control':
amd_control.c:(.text+0x9): undefined reference to `SuiteSparse_config'
amd_l_info.o: In function `amd_l_info':
amd_info.c:(.text+0xc): undefined reference to `SuiteSparse_config'
collect2: error: ld returned 1 exit status
gmake[5]: *** [Makefile:90: /usr/ports/math/suitesparse/work/SuiteSparse/lib/libamd.so.2.4.6] Error 1
gmake[5]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/AMD/Lib'
gmake[4]: *** [Makefile:18: library] Error 2
gmake[4]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/AMD/Lib'
gmake[3]: *** [Makefile:16: all] Error 2
gmake[3]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/AMD'
gmake[2]: *** [Makefile:16: go] Error 2
gmake[2]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse'
*** Error code 2

Stop.
make[1]: stopped in /usr/ports/math/suitesparse
*** Error code 1

Stop.
make: stopped in /usr/ports/math/suitesparse
Comment 17 Yuri Victorovich freebsd_committer freebsd_triage 2018-04-30 17:34:06 UTC
(In reply to doctor from comment #16)

Did you uninstall suitesparse: pkg delete suitesparse ?
Comment 18 rkoberman 2018-04-30 18:14:31 UTC
(In reply to Yuri Victorovich from comment #17)
Eek! No!!

# pkg delete -f suitesparse
# portmaster math/suitesparse (or whichever ports tool you prefer)

Without the '-f' you will delete all ports that depend on suitesparse.
Comment 19 Marco Beishuizen 2018-04-30 18:37:51 UTC
I deleted suitesparse, but it doesn't get reinstalled with a "portupgrade -a", which is weird because suitesparse is installed in the first place as a dependency of another port.

Does anyone know which port depends on suitesparse? Tried digging in freshports.org but couldn't find it. System is running fine without it so I'll probably leave it like this.
Comment 20 Rainer Hurling freebsd_committer freebsd_triage 2018-04-30 18:53:15 UTC
(In reply to Marco Beishuizen from comment #19)

For example math/py-numpy and science/py-scikit-sparse depend on math/suitesparse.
Comment 21 Rainer Hurling freebsd_committer freebsd_triage 2018-04-30 19:05:32 UTC
(In reply to Yuri Victorovich from comment #15)

comment #5 is the most complete, I can deliver. There is no log file and the core file UMFPACK/Demo/umfpack_simple.core includes no symbols, even if build with DEBUG=1 and '-g' flag.
Comment 22 lumiwa 2018-04-30 22:04:19 UTC
I have the same problem on FreeBSD 11.1-RELEASE-p9 FreeBSD 11.1-RELEASE-p9 #0: Tue Apr  3 16:59:16 UTC 2018     root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64
I did uninstall suitesparse and also py-numpy which I need it and doesn't work.
I use also Synth to install but it is the same problem. I saw on the FreeBSD Forum that also other users have the same problem too.
Comment 23 Yuri Victorovich freebsd_committer freebsd_triage 2018-05-01 01:07:15 UTC
(In reply to rkoberman from comment #18)

You have to delete them, because they will need to be rebuilt.
You need to build with poudriere to avoid this problem.
poudriere rebuilds only the needed parts.
Comment 24 rkoberman 2018-05-01 02:57:12 UTC
(In reply to Yuri Victorovich from comment #23)
You are, of course, correct. Senior moment!

Thanks for correcting me.
Comment 25 gja822 2018-05-01 17:02:31 UTC
I assume I have the same bug on 10.4-STABLE amd64
Have to rebuild py-numpy without suitesparse. No luck with rebuilding the latter with or without deinstall.
Comment 26 Zane C. Bowers-Hadley 2018-05-08 03:29:14 UTC
FreeBSD vixen42.vulpes.vvelox.net 11.1-STABLE FreeBSD 11.1-STABLE #0 r332502: Sat Apr 14 08:41:54 CDT 2018     root@vixen42.vulpes.vvelox.net:/usr/obj/arc/src/FreeBSD/base/stable/11/sys/vixen42  amd64


Had to delete the old one before rebuilding it. This should really be added to UPDATING.
Comment 27 Yuri Victorovich freebsd_committer freebsd_triage 2018-05-08 04:03:27 UTC
(In reply to Zane C. Bowers-Hadley from comment #26)

A added the notice to UPDATING, thanks.
Comment 28 gja822 2018-05-09 17:15:38 UTC
Preventive deletion doesn't help for me.


a - cholmod_l_rowdel.o
gcc7  -Wl,-rpath=/usr/local/lib/gcc7  -L/usr/local/lib/gcc7 -B/usr/local/bin -L/usr/local/lib -fstack-protector -Wl,-rpath=/usr/local/lib/gcc7 -L/usr/local/lib/gcc7 -L/usr/ports/math/suitesparse/work/SuiteSparse/lib -L/usr/ports/math/suitesparse/work/SuiteSparse/lib -L/usr/ports/math/suitesparse/work/SuiteSparse/lib -L/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 chola - cholmod_l_updown.o
mod_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 /usr/ports/math/suitesparse/work/SuiteSparse/lib/libcholmod.so.3.0.12 -lm -lamd -lcolamd -lsuitesparseconfig -lccolamd -lcamd -L/usr/local/lib -lmetis  -Wl,-rpath=/usr/local/lib/gcc7  -L/usr/local/lib/gcc7 -B/usr/local/bin -L/usr/local/lib -fstack-protector -Wl,-rpath=/usr/local/lib/gcc7 -L/usr/local/lib/gcc7 -llapack -lopenblas
a - cholmod_l_super_numeric.o
a - cholmod_l_super_solve.o
a - cholmod_l_super_symbolic.o
a - cholmod_l_ccolamd.o
a - cholmod_l_csymamd.o
a - cholmod_l_metis.o
a - cholmod_l_nesdis.o
a - cholmod_l_camd.o
/usr/local/bin/ranlib libcholmod.a
/usr/local/bin/ld: cannot find -lopenblas
collect2: error: ld returned 1 exit status
gmake[5]: *** [Makefile:544: /usr/ports/math/suitesparse/work/SuiteSparse/lib/libcholmod.so.3.0.12] Error 1
gmake[5]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/CHOLMOD/Lib'
gmake[4]: *** [Makefile:31: library] Error 2
gmake[4]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/CHOLMOD/Lib'
gmake[3]: *** [Makefile:14: all] Error 2
gmake[3]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/CHOLMOD'
gmake[2]: *** [Makefile:21: go] Error 2
gmake[2]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse'
*** Error code 2

Stop.
make[1]: stopped in /usr/ports/math/suitesparse
*** Error code 1

Stop.
make: stopped in /usr/ports/math/suitesparse


Chosen option is ATLAS. Default GCC version is 7 (DEFAULT_VERSIONS+=gcc=7 in make.conf).
Comment 29 Tao Zhen 2018-05-10 01:52:51 UTC
Same thing with me, 11.1-RELEASE-p9 with stock compiler. Checked ATLAS option but the build process still tries to link with openblas. Deinstall doesn't help.
Comment 30 commit-hook freebsd_committer freebsd_triage 2018-05-10 07:20:32 UTC
A commit references this bug:

Author: yuri
Date: Thu May 10 07:20:08 UTC 2018
New revision: 469513
URL: https://svnweb.freebsd.org/changeset/ports/469513

Log:
  math/suitesparse: Unbreak with the option ATLAS=yes

  It was an incomplete makefile patching beginning from 5.2.0 update.

  PR:		210579 227791
  Approved by:	portmgr (port compliance, infrastructure)

Changes:
  head/math/suitesparse/Makefile
Comment 31 Yuri Victorovich freebsd_committer freebsd_triage 2018-05-10 08:00:12 UTC
Closing because `SuiteSparse_config' is due to the conflict with installed older versions, and the problem with ATLAS=yes is fixed.

Please reopen if you think something else should be done.
Comment 32 lumiwa 2018-05-19 23:21:42 UTC
I have ATLAS disabled (I have Openblas) and on my system doesn't works still:
Sparse_config'
gmake[6]: Nothing to be done for 'install'.
gmake[6]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/SuiteSparse_config'
gmake[5]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/SuiteSparse_config'
( cd ../../AMD ; gmake library )
gmake[5]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/AMD'
( cd Lib    ; gmake )
gmake[6]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/AMD/Lib'
gmake install INSTALL=/usr/ports/math/suitesparse/work/SuiteSparse
gmake[7]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/AMD/Lib'
gmake[7]: Nothing to be done for 'install'.
gmake[7]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/AMD/Lib'
gmake[6]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/AMD/Lib'
gmake[5]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/AMD'
( cd ../Lib ; gmake )
gmake[5]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/UMFPACK/Lib'
gmake install INSTALL=/usr/ports/math/suitesparse/work/SuiteSparse
gmake[6]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/UMFPACK/Lib'
gmake[6]: Nothing to be done for 'install'.
gmake[6]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/UMFPACK/Lib'
gmake[5]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/UMFPACK/Lib'
( cd ../../CHOLMOD && gmake library )
gmake[5]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/CHOLMOD'
( cd Lib ; gmake )
gmake[6]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/CHOLMOD/Lib'
gmake install INSTALL=/usr/ports/math/suitesparse/work/SuiteSparse
gmake[7]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/CHOLMOD/Lib'
gmake[7]: Nothing to be done for 'install'.
gmake[7]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/CHOLMOD/Lib'
gmake[6]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/CHOLMOD/Lib'
gmake[5]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/CHOLMOD'
( cd ../../COLAMD && gmake library )
gmake[5]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/COLAMD'
( cd Lib    ; gmake )
gmake[6]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/COLAMD/Lib'
gmake install INSTALL=/usr/ports/math/suitesparse/work/SuiteSparse
gmake[7]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/COLAMD/Lib'
gmake[7]: Nothing to be done for 'install'.
gmake[7]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/COLAMD/Lib'
gmake[6]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/COLAMD/Lib'
gmake[5]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/COLAMD'
( cd ../../CCOLAMD ; gmake library )
gmake[5]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/CCOLAMD'
( cd Lib    ; gmake )
gmake[6]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/CCOLAMD/Lib'
gmake install INSTALL=/usr/ports/math/suitesparse/work/SuiteSparse
gmake[7]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/CCOLAMD/Lib'
gmake[7]: Nothing to be done for 'install'.
gmake[7]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/CCOLAMD/Lib'
gmake[6]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/CCOLAMD/Lib'
gmake[5]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/CCOLAMD'
( cd ../../CAMD ; gmake library )
gmake[5]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/CAMD'
( cd Lib    ; gmake )
gmake[6]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/CAMD/Lib'
gmake install INSTALL=/usr/ports/math/suitesparse/work/SuiteSparse
gmake[7]: Entering directory '/usr/ports/math/suitesparse/work/SuiteSparse/CAMD/Lib'
gmake[7]: Nothing to be done for 'install'.
gmake[7]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/CAMD/Lib'
gmake[6]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/CAMD/Lib'
gmake[5]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/CAMD'
./umfpack_simple
gmake[4]: *** [Makefile:95: run] Segmentation fault (core dumped)
gmake[4]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/UMFPACK/Demo'
gmake[3]: *** [Makefile:15: all] Error 2
gmake[3]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse/UMFPACK'
gmake[2]: *** [Makefile:26: go] Error 2
gmake[2]: Leaving directory '/usr/ports/math/suitesparse/work/SuiteSparse'
*** Error code 2

Stop.
make[1]: stopped in /usr/ports/math/suitesparse
*** Error code 1

Stop.
make: stopped in /usr/ports/math/suitesparse
Comment 33 Yuri Victorovich freebsd_committer freebsd_triage 2018-05-20 05:10:18 UTC
(In reply to lumiwa from comment #32)

Please uninstall it first, or update from the central build.
Comment 34 John Hein 2018-06-03 02:18:09 UTC
Created attachment 193957 [details]
[patch] link with libs in build tree before LOCALBASE

The build should find and link with its own libraries that it has built - in the build tree - before suitesparse libraries in LOCALBASE.  Pure and simple.

Removing the old package is a workaround.

Attached is a simple fix that is better than that workaround (add -L${WRKSRC}/lib to the front of LDFLAGS).

Even better would be for upstream to properly link with in-tree libs, but this is good defense until that fix is developed and applied.

Sorry for only submitting this now.  I just tried to update by suitesparse-4.0.2_8 to 5.2.0 recently.

I'd probably re-open this if it were my bug report since I think this is the best fix until upstream fixes it.  But I can't change the status since it's not my bug report.  I hope the maintainers see this and can apply it without having to open a new bug.
Comment 35 Yuri Victorovich freebsd_committer freebsd_triage 2018-06-03 02:21:38 UTC
(In reply to John Hein from comment #34)

You should also write to the original author and suggest that he should incorporate the fix.

Yuri
Comment 36 commit-hook freebsd_committer freebsd_triage 2018-06-03 02:51:25 UTC
A commit references this bug:

Author: yuri
Date: Sun Jun  3 02:50:39 UTC 2018
New revision: 471443
URL: https://svnweb.freebsd.org/changeset/ports/471443

Log:
  math/suitesparse: Fix undesirable linking with pre-installed older version

  PR:		227791
  Reported by:	John Hein <z7dr6ut7gs@snkmail.com>

Changes:
  head/math/suitesparse/Makefile
Comment 37 John Hein 2018-06-04 21:52:02 UTC
(In reply to Yuri Victorovich from comment #35)
Thanks for adding the fix.

I looked into suggesting an upstream patch, but I think upstream is fine.  SuiteSparse_config/SuiteSparese_config.mk already has something in LDFLAGS to point to the build tree lib.  Look for 'LDFLAGS += -L$(INSTALL_LIB)'.

But our port overrides that LDFLAGS (passed in MAKE_ENV) which blows away what the upstream build infrastructure does.

So this patch you checked in to add ${WRKSRC}/lib to the LDFLAGS we pass in is _exactly_ what upstream is trying to do anyway.  They don't expect (support) users to override its definition of LDFLAGS.  A patch to add support for user-defined LDFLAGS (and presumably CFLAGS, CPPFLAGS, etc.) in the SuiteSparse build process is conceivable, but that seems like more major surgery.

p.s. It's likely that the setting of LD_LIBRARY_PATH in the port Makefile (which may have been an attempt to do what the LDFLAGS addition does??) can be removed, I believe.  Seems to build fine without it:

--- Makefile    (revision 471538)
+++ Makefile    (working copy)
@@ -71,10 +71,10 @@
                ${REINPLACE_CMD} -e 's|$$(CFLAGS)|$$(CFLAGS) $$(PICFLAG)|g'

 do-build:
-       @cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} PICFLAG= \
-               LD_LIBRARY_PATH=${WRKDIR}/SuiteSparse/lib ${MAKE_CMD} ${_MAKE_JOBS} ${MAKE_ARGS}
-       @cd ${WRKSRC_SHARED} && ${SETENV} ${MAKE_ENV} PICFLAG=${PICFLAG} \
-               LD_LIBRARY_PATH=${WRKDIR}/SuiteSparse/lib ${MAKE_CMD} ${_MAKE_JOBS} ${MAKE_ARGS}
+       cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} PICFLAG= \
+               ${MAKE_CMD} ${_MAKE_JOBS} ${MAKE_ARGS}
+       cd ${WRKSRC_SHARED} && ${SETENV} ${MAKE_ENV} PICFLAG=${PICFLAG} \
+               ${MAKE_CMD} ${_MAKE_JOBS} ${MAKE_ARGS}

 do-install:
        @${MKDIR} ${STAGEDIR}${PREFIX}/include/suitesparse
Comment 38 Walter Schwarzenfeld freebsd_triage 2018-08-05 08:17:21 UTC
reopen:
see at
https://forums.freebsd.org/threads/suitesparse-portmaster.65647/#post-397146
Comment 39 Yuri Victorovich freebsd_committer freebsd_triage 2018-08-05 20:04:23 UTC
(In reply to w.schwarzenfeld from comment #38)

It appears that people identified this PR in the referenced thread on forums mistakenly. The error that they have is different.

Closing.