Summary: | math/lapack 3.3.0 port lacks some routines | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | Eijiro Shibusawa <phd_kimberlite> | ||||||
Component: | Individual Port(s) | Assignee: | Maho Nakata <maho> | ||||||
Status: | Closed FIXED | ||||||||
Severity: | Affects Only Me | ||||||||
Priority: | Normal | ||||||||
Version: | Latest | ||||||||
Hardware: | Any | ||||||||
OS: | Any | ||||||||
Attachments: |
|
Description
Eijiro Shibusawa
2010-12-02 10:00:22 UTC
Responsible Changed From-To: freebsd-ports-bugs->maho Assign to maintainer maho 2010-12-04 09:10:23 UTC FreeBSD ports repository Modified files: math/lapack Makefile math/lapack/files shared-patch-SRC+Makefile Log: Build fix for science/mpqc, graphics/mypaint, graphics/cimg, math/suitesparse, math/biggles, astro/astrometry math/clp, science/mpb. Reported by: pav, erwin, Anton Shterenlikht, "Hartmann, O" [1], Submmited by: Eijiro Shibusawa <phd_kimberlite@yahoo.co.jp> [2] PR: 152771 [2], 152790 [1] Revision Changes Path 1.54 +1 -0 ports/math/lapack/Makefile 1.2 +19 -1 ports/math/lapack/files/shared-patch-SRC+Makefile _______________________________________________ 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" State Changed From-To: open->closed committed, thanks! Dear Prof. Nakata, Maintainer of math/lapack, Thank you very much for dealing with this PR. Could you please reopen this PR? The previous patch only partially solves problems, and there are still remains of them (I'm really sorry!!!). liblapack.a (installed from port version 3.3.0_1) has symbol duplication problem. $ nm /usr/local/lib/liblapack.a | grep " T " | grep spotrf_ 0000000000000000 T spotrf_ 0000000000000000 T spotrf_ $ nm /usr/local/lib/liblapack.a | grep " T " | grep cgetrf_ 0000000000000000 T cgetrf_ 0000000000000000 T cgetrf_ $ nm /usr/local/lib/liblapack.a | grep " T " | grep cgetrs_ 0000000000000000 T cgetrs_ 0000000000000000 T cgetrs_ $ nm /usr/local/lib/liblapack.a | grep " T " | grep cpotrf_ 0000000000000000 T cpotrf_ 0000000000000000 T cpotrf_ $ nm /usr/local/lib/liblapack.a | grep " T " | grep cpotrs_ 0000000000000000 T cpotrs_ 0000000000000000 T cpotrs_ I think that the symbol lack and the symbol duplication problems have same cause. It is some errors in the Makefile (provided from lapack 3.3.0), and it should be fixed in "patch" target by patch-SRC+Makefile. The patch shared-patch-SRC+Makefile is not necessary, because if patch-SRC+Makefile includes the correction of the errors, we does not need to patch the Makefile again in "post-patch" target. The attached patch includes the above modifications, but it does not bump new $PORTREVISION. Thus please update it if you need. I had tested liblapack.a built according to patched Makefile, and I found it woks fine. Please confirm, # make regression-test NOTE: [background] The both problems are attributable to the following fact: * routine spotrf is defined in $DSLASRC and it also exists in $SLASRC; * routines {cpotrs cgetrs cpotrf cgetrf} are defined in $ZCLASRC and they also exist in $CLASRC. If a macro containing {$DSLASRC $SLASRC $ZCLASRC $CLASRC} is defined, like $ALLOBJ, then "multiple definition" of the five routines {spotrf cpotrs cgetrs cpotrf cgetrf} is encountered. [lack problem -- the PR] By removing $DSLASRC and $ZCLASRC, like your patch (in 3.3.0 port), we can fix "multiple definition" error and build shared library, however routines {spotrs sgetrs sgetrf} exist in $DSLASRC ONLY. Thus, library may lack the three symbols {spotrs sgetrs sgetrf}, except for the case where they are added to somewhere. [duplication problem] In contrast to the case of shared library, gcc does not report linker error, however the "multiple definition" problem also affects build process of static library. Indeed liblapack.a has the routines duplicated. [solution] Last week, I had submitted the patch (committed as 3.3.0_1 port) adding {spotrs sgetrs sgetrf} to $SLASRC, because I had not correctly recognized the cause of the problems. For fixing both symbol lack/duplication problems I think that each routine should be defined only once in $ALLOBJ, while $DSLASRC and $ZCLASRC are preserved (They are definitions for the routines using mixed-precision algorithm, {dsgesv, dsposv, zcgesv, zcposv}[1]). Therefore routines spotrf and {cpotrs cgetrs cpotrf cgetrf} should be removed from $SLASRC and $CLASRC respectively. [1] http://icl.cs.utk.edu/lapack-forum/viewtopic.php?f=2&t=1891 Thanks in advance, Shibusawa State Changed From-To: closed->open The origial patch submitter submit a better patch. To apply, I reopened the PR. Thanks! maho 2010-12-25 04:10:30 UTC FreeBSD ports repository Modified files: math/lapack Makefile math/lapack/files patch-SRC+Makefile Removed files: math/lapack/files shared-patch-SRC+Makefile Log: Removing dupe from static lib as well. PR: 152771 Submitted by: Eijiro Shibusawa <phd_kimberlite@yahoo.co.jp> Revision Changes Path 1.55 +1 -2 ports/math/lapack/Makefile 1.2 +33 -6 ports/math/lapack/files/patch-SRC+Makefile 1.3 +0 -38 ports/math/lapack/files/shared-patch-SRC+Makefile (dead) _______________________________________________ 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" State Changed From-To: open->closed committed, thanks. |