Bug 159267 - math/suitesparse 3.6.1_1 build failure
Summary: math/suitesparse 3.6.1_1 build failure
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Maho Nakata
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-07-28 20:20 UTC by Joseph Mingrone
Modified: 2011-08-09 07:40 UTC (History)
0 users

See Also:


Attachments
suitesparse.diff (707 bytes, patch)
2011-07-29 02:22 UTC, b. f.
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Joseph Mingrone freebsd_committer freebsd_triage 2011-07-28 20:20:10 UTC
gmake[2]: Entering directory `/usr/ports/math/suitesparse/work/SuiteSparse/UMFPACK/Demo'
gcc45 -O2 -pipe  -Wl,-rpath=/usr/local/lib/gcc45 -fno-strict-aliasing    -fexceptions  -I../Include -I../../AMD/Include -I../../UFconfig -o
 umfpack_di_demo umfpack_di_demo.c ../Lib/libumfpack.a ../../AMD/Lib/libamd.a ../../CHOLMOD/Lib/libcholmod.a ../../COLAMD/Lib/libcolamd.a .
./../CAMD/Lib/libcamd.a  ../../CCOLAMD/Lib/libccolamd.a -L/usr/local/lib -Wl,-rpath=/usr/local/lib/gcc45 -lgoto2p -pthread  -lm
/usr/local/lib/libgoto2p.so: undefined reference to `_gfortran_concat_string'
/usr/local/lib/libgoto2p.so: undefined reference to `_gfortran_pow_i4_i4'
/usr/local/lib/libgoto2p.so: undefined reference to `_gfortran_compare_string'
/usr/local/lib/libgoto2p.so: undefined reference to `cexp'
/usr/local/lib/libgoto2p.so: undefined reference to `cexpf'
collect2: ld returned 1 exit status
gmake[2]: *** [umfpack_di_demo] Error 1
gmake[2]: Leaving directory `/usr/ports/math/suitesparse/work/SuiteSparse/UMFPACK/Demo'
gmake[1]: *** [all] Error 2
gmake[1]: Leaving directory `/usr/ports/math/suitesparse/work/SuiteSparse/UMFPACK'
gmake: *** [default] Error 2
*** Error code 2

Stop in /usr/ports/math/suitesparse.

Fix: 

Uninstall the gotoblas port.
How-To-Repeat: Install suitesparse-3.6.1_1 with the gotoblas port installed.
Comment 1 b. f. 2011-07-29 02:22:44 UTC
> gmake[2]: Entering directory `/usr/ports/math/suitesparse/work/SuiteSparse/UMFPACK/Demo'
> gcc45 -O2 -pipe  -Wl,-rpath=/usr/local/lib/gcc45 -fno-strict-aliasing    -fexceptions  -I../Include -I../../AMD/Include -I../../UFconfig -o
>  umfpack_di_demo umfpack_di_demo.c ../Lib/libumfpack.a ../../AMD/Lib/libamd.a ../../CHOLMOD/Lib/libcholmod.a ../../COLAMD/Lib/libcolamd.a .
> ./../CAMD/Lib/libcamd.a  ../../CCOLAMD/Lib/libccolamd.a -L/usr/local/lib -Wl,-rpath=/usr/local/lib/gcc45 -lgoto2p -pthread  -lm
> /usr/local/lib/libgoto2p.so: undefined reference to `_gfortran_concat_string'
> /usr/local/lib/libgoto2p.so: undefined reference to `_gfortran_pow_i4_i4'
> /usr/local/lib/libgoto2p.so: undefined reference to `_gfortran_compare_string'
> /usr/local/lib/libgoto2p.so: undefined reference to `cexp'
> /usr/local/lib/libgoto2p.so: undefined reference to `cexpf'
> collect2: ld returned 1 exit status
> gmake[2]: *** [umfpack_di_demo] Error 1
> gmake[2]: Leaving directory `/usr/ports/math/suitesparse/work/SuiteSparse/UMFPACK/Demo'
> gmake[1]: *** [all] Error 2
> gmake[1]: Leaving directory `/usr/ports/math/suitesparse/work/SuiteSparse/UMFPACK'
> gmake: *** [default] Error 2
> *** Error code 2


I'm afraid this error arose from my recent changes, when I removed a
crutch that I thought was only needed by obsolete versions of
math/blas and math/lapack (and perhaps by parts of math/atlas -- but
that should change soon).  This is really a problem with the
math/gotoblas port: its shared libraries should include ELF DT_NEEDED
tags that tell rtld(1) which libraries it needs at runtime, and we
should not have to provide this information in each port that uses
gotoblas, as we did in the past when we used static archives.  So the
problem really ought to be fixed in that port.  However, you can try
the attached patch, to see if it solves your linking problem.

b.
Comment 2 b. f. 2011-07-29 02:26:36 UTC
On 7/28/11, b. f. <bf1783@googlemail.com> wrote:
...
> I'm afraid this error arose from my recent changes, when I removed a
> crutch that I thought was only needed by obsolete versions of
> math/blas and math/lapack (and perhaps by parts of math/atlas -- but
> that should change soon).  This is really a problem with the
> math/gotoblas port: its shared libraries should include ELF DT_NEEDED
> tags that tell rtld(1) which libraries it needs at runtime, and we

... and, as in this case, also tell ld(1) at build-time.

> should not have to provide this information in each port that uses
> gotoblas, as we did in the past when we used static archives.  So the
...

b.
Comment 3 Mark Linimon freebsd_committer freebsd_triage 2011-07-29 06:42:55 UTC
Responsible Changed
From-To: freebsd-ports-bugs->maho

Over to maintainer.
Comment 4 b. f. 2011-07-29 08:53:00 UTC
On 7/28/11, b. f. <bf1783@googlemail.com> wrote:
>> gmake[2]: Entering directory
>> `/usr/ports/math/suitesparse/work/SuiteSparse/UMFPACK/Demo'
>> gcc45 -O2 -pipe  -Wl,-rpath=/usr/local/lib/gcc45 -fno-strict-aliasing
>> -fexceptions  -I../Include -I../../AMD/Include -I../../UFconfig -o
>>  umfpack_di_demo umfpack_di_demo.c ../Lib/libumfpack.a
>> ../../AMD/Lib/libamd.a ../../CHOLMOD/Lib/libcholmod.a
>> ../../COLAMD/Lib/libcolamd.a .
>> ./../CAMD/Lib/libcamd.a  ../../CCOLAMD/Lib/libccolamd.a -L/usr/local/lib
>> -Wl,-rpath=/usr/local/lib/gcc45 -lgoto2p -pthread  -lm
>> /usr/local/lib/libgoto2p.so: undefined reference to
>> `_gfortran_concat_string'
>> /usr/local/lib/libgoto2p.so: undefined reference to `_gfortran_pow_i4_i4'
>> /usr/local/lib/libgoto2p.so: undefined reference to
>> `_gfortran_compare_string'
>> /usr/local/lib/libgoto2p.so: undefined reference to `cexp'
>> /usr/local/lib/libgoto2p.so: undefined reference to `cexpf'
>> collect2: ld returned 1 exit status
>> gmake[2]: *** [umfpack_di_demo] Error 1
>> gmake[2]: Leaving directory
>> `/usr/ports/math/suitesparse/work/SuiteSparse/UMFPACK/Demo'
>> gmake[1]: *** [all] Error 2
>> gmake[1]: Leaving directory
>> `/usr/ports/math/suitesparse/work/SuiteSparse/UMFPACK'
>> gmake: *** [default] Error 2
>> *** Error code 2
>
>
> I'm afraid this error arose from my recent changes, when I removed a
> crutch that I thought was only needed by obsolete versions of
> math/blas and math/lapack (and perhaps by parts of math/atlas -- but
> that should change soon).  This is really a problem with the
> math/gotoblas port: its shared libraries should include ELF DT_NEEDED
> tags that tell rtld(1) which libraries it needs at runtime, and we
> should not have to provide this information in each port that uses
> gotoblas, as we did in the past when we used static archives.  So the
> problem really ought to be fixed in that port.  However, you can try
> the attached patch, to see if it solves your linking problem.
>
> b.
>

Maho-san:

Joseph confirms that this patch fixes the problem: do you want me to
commit it in math/suitesparse as a stopgap, to give us more time to
fix the problem at the source, in math/gotoblas?

Regards,

b.
Comment 5 NAKATA Maho 2011-08-02 06:06:04 UTC
From: "b. f." <bf1783@googlemail.com>
Subject: Re: ports/159267: suitesparse-3.6.1_1 build failure
Date: Thu, 28 Jul 2011 21:22:44 -0400

>> gmake[2]: Entering directory `/usr/ports/math/suitesparse/work/SuiteSparse/UMFPACK/Demo'
>> gcc45 -O2 -pipe  -Wl,-rpath=/usr/local/lib/gcc45 -fno-strict-aliasing    -fexceptions  -I../Include -I../../AMD/Include -I../../UFconfig -o
>>  umfpack_di_demo umfpack_di_demo.c ../Lib/libumfpack.a ../../AMD/Lib/libamd.a ../../CHOLMOD/Lib/libcholmod.a ../../COLAMD/Lib/libcolamd.a .
>> ./../CAMD/Lib/libcamd.a  ../../CCOLAMD/Lib/libccolamd.a -L/usr/local/lib -Wl,-rpath=/usr/local/lib/gcc45 -lgoto2p -pthread  -lm
>> /usr/local/lib/libgoto2p.so: undefined reference to `_gfortran_concat_string'
>> /usr/local/lib/libgoto2p.so: undefined reference to `_gfortran_pow_i4_i4'
>> /usr/local/lib/libgoto2p.so: undefined reference to `_gfortran_compare_string'
>> /usr/local/lib/libgoto2p.so: undefined reference to `cexp'
>> /usr/local/lib/libgoto2p.so: undefined reference to `cexpf'
>> collect2: ld returned 1 exit status
>> gmake[2]: *** [umfpack_di_demo] Error 1
>> gmake[2]: Leaving directory `/usr/ports/math/suitesparse/work/SuiteSparse/UMFPACK/Demo'
>> gmake[1]: *** [all] Error 2
>> gmake[1]: Leaving directory `/usr/ports/math/suitesparse/work/SuiteSparse/UMFPACK'
>> gmake: *** [default] Error 2
>> *** Error code 2
> 
> 
> I'm afraid this error arose from my recent changes, when I removed a
> crutch that I thought was only needed by obsolete versions of
> math/blas and math/lapack (and perhaps by parts of math/atlas -- but
> that should change soon).  This is really a problem with the
> math/gotoblas port: its shared libraries should include ELF DT_NEEDED
> tags that tell rtld(1) which libraries it needs at runtime, and we
> should not have to provide this information in each port that uses
> gotoblas, as we did in the past when we used static archives.  So the
> problem really ought to be fixed in that port.  However, you can try
> the attached patch, to see if it solves your linking problem.

Thanks bf
(I think you may have explained it to me before, but I didn't understand...sorry)
I see, I'll fix it in the gotoblas port.

I also reproduced this error.
thanks
-- Nakata Maho http://accc.riken.jp/maho/ , JA OOO http://ja.openoffice.org/
http://blog.goo.ne.jp/nakatamaho/ ,GPG: http://accc.riken.jp/maho/maho.pgp.txt
Comment 6 Maho Nakata freebsd_committer freebsd_triage 2011-08-09 07:29:58 UTC
State Changed
From-To: open->closed

Fixed, thanks for your report!
Comment 7 dfilter service freebsd_committer freebsd_triage 2011-08-09 07:29:59 UTC
maho        2011-08-09 06:29:45 UTC

  FreeBSD ports repository

  Modified files:
    math/gotoblas        Makefile 
  Added files:
    math/gotoblas/files  patch-exports+Makefile 
  Log:
  Add libgfortran for shared libs (i.e. included in ELF DT_NEEDED)
  and bump PORTREVISION.
  
  PR:             159267
  Discussed with: bf@
  
  Revision  Changes    Path
  1.25      +1 -1      ports/math/gotoblas/Makefile
  1.4       +10 -0     ports/math/gotoblas/files/patch-exports+Makefile (new)
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"