Home | Docs | Forums | Lists | Bugs | Planet | Store | GMN | Get Gentoo!
Not eligible to see or edit group visibility for this bug.
View Bug Activity | Format For Printing | XML | Clone This Bug
Please find the attached ebuild for IT++ 3.10.0 release. Testers for other platforms (AMD64, SPARC, PPC) are welcome. BR, /ediap
Created an attachment (id=82211) [details] itpp-3.10.0.ebuild (version bump)
Hi Adam, Thanks for your ebuild. I am in principle ready to bump itpp, but I'd really prefer to keep the blas/cblas stuff as in the previous version, at least for the moment. The issue that I have with the additional cblas flag is its "correlation" with the blas one. E.g. USE="-blas cblas" will configure itpp to use cblas but it won't emerge the necessary dependency nor link against it (please correct me if I am wrong). Hence, we'd had to add an additional test to make sure that cblas is only used in combination with blas. Furthermore for each different cblas implementation we'd also need to pass a separate -with-cblas=.... Please let me know what you think. Thanks, Markus
Hi Markus, The configure script of IT++ is prepared to detect if BLAS is available before checking for CBLAS and LAPACK. Therefore, when a user sets USE="-blas cblas", IT++ will not use CBLAS at all, since the detection of BLAS is switched off. However, the user might intentionally set USE="blas -cblas" and in such case, BLAS library will be used, e.g. for LAPACK, but CBLAS, which is fully optional in IT++, will not. Moreover, the configure script is prepared to look for CBLAS in various libraries: - in a BLAS library itself (e.g. Intel MKL, which is supported by IT++, provides both BLAS and CBLAS in one library) - in a separate CBLAS library (currently libcblas.* and libgslcblas.* are checked). Therefore, both ATLAS and GSL cblas libraries will be detected automatically, when USE="blas cblas" is set. Therefore, I decided to add the separate "cblas" flag, not related to "blas" in ebuild - the BLAS dependency is handled by the configure script, not in the ebuild. The best solution for this would be in my opinion an extra virtual/cblas, as I proposed before. Unfortunately, there were no answer to my email on this CBLAS issue, posted to gentoo-science@... /ediap
Hi Adam, Thank you very much for your detailed comments. > The configure script of IT++ is prepared to detect if BLAS is available before > checking for CBLAS and LAPACK. Therefore, when a user sets USE="-blas cblas", > IT++ will not use CBLAS at all, since the detection of BLAS is switched off. > However, the user might intentionally set USE="blas -cblas" and in such case, > BLAS library will be used, e.g. for LAPACK, but CBLAS, which is fully optional > in IT++, will not. O.k., so it makes sense to keep the cblas use flag. In this case I will add a check in pkg_setup() to make sure the user's don't emerge with USE='-blas cblas' which does, in fact, not enable cblas after all. BTW: Is there any reason for the explicit --with-blas=-lblas instead of just --with-blas as in the 3.9.1 ebuild. Thanks, Markus
Hi Markus, > O.k., so it makes sense to keep the cblas use flag. In this case I will add > a check in pkg_setup() to make sure the user's don't emerge with > USE='-blas cblas' which does, in fact, not enable cblas after all. OK. > BTW: Is there any reason for the explicit --with-blas=-lblas instead of > just --with-blas as in the 3.9.1 ebuild. I think there is, since the IT++ configure script in version 3.10.0 starts detecting BLAS libraries from "libacml" and "libmkl" first. And in Gentoo we have the default BLAS implementation linked under "libblas" name, set with "eselect blas set <name>", independently of the name of the original library name. If we omit this explicit "--with-blas=blas", there might be situation that IT++ links to "libacml" or "libmkl" instead of the one selected by a user. Thanks for your help! /ediap
Hi Adam, The new version is in CVS. Thanks for your help! best, Markus
Hi Markus, (In reply to comment #6) > The new version is in CVS. Thanks for your help! I am reopening this bug report, because the cblas-reference package is now in portage. I suggest adding it to DEPEND and bumping itpp-3.10.0 to version 3.10.0-r1 in portage. BTW, I also recommend moving lapack? (...) into blas? (...), since lapack will be used only if blas is selected. So the updated DEPEND section might look like this: DEPEND="fftw? ( >=sci-libs/fftw-3.0.0 ) blas? ( virtual/blas cblas? ( || ( sci-libs/cblas-reference >=sci-libs/gsl-1.4 >=sci-libs/blas-atlas-3.6.0 ) ) lapack? ( virtual/lapack ) ) doc? ( app-doc/doxygen app-text/tetex )" BR, /ediap
Hi Adam, Thanks for pointing this out and I have changed the ebuild accordingly. Best, Markus
Hi Markus! I have tested this ebuild on AMD 64-bit platform and it seems to work OK. Therefore, I suggest adding "~amd64" to the KEYWORDS. BR, /ediap
Hi Adam, Thank you very much for testing. The ~amd64 marking can only be done by our amd64 team since I don't own an amd64 machine myself (gentoo policy). I'll file a bug with them later and cc you to it. Thanks, Markus