[Bug 489686] Review Request: armadillo - fast C++ matrix library with interfaces to LAPACK and ATLAS

bugzilla at redhat.com bugzilla at redhat.com
Sun Jun 14 21:29:07 UTC 2009


Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.


https://bugzilla.redhat.com/show_bug.cgi?id=489686





--- Comment #61 from Denis Arnaud <denis.arnaud_fedora at m4x.org>  2009-06-14 17:29:06 EDT ---
(In reply to comment #60, comment #59 and comment #56)

1. Thanks Michael for having shed light on this: that was what I was trying to
say, but less successfully :)

2. OK, Chitlesh, I will not interfere with my own versions (which I use when
reviewing packages), but will only suggest simple alterations. You are right,
that's cleaner.

3. 
> IMO the Requires: atlas-devel, lapack-devel of armadillo-devel are probably
> unnecessary. If one builds with
>  g++ -larmadillo
> not with
>  g++ -llapack -latlas -larmadillo
> then one doesn't need atlas-devel or lapack-devel and these can be safely
> dropped, since armadillo acts as a wrapper for the atlas and lapack libraries.  

https://fedoraproject.org/wiki/Packaging/Guidelines#BuildRequires properly
states "It is also a safety feature that prevents builds with that would not
otherwise fail, but would be missing crucial features. For example, a graphical
application may exclude PNG support after its configure script detects that
libpng is not installed."
And, in the Armadillo CMake configure script (CMakeLists.txt), the following
excerpt:
-----------------------------
  IF(LAPACK_FOUND)
    SET(ARMA_USE_LAPACK true)
  ENDIF(LAPACK_FOUND)

  IF(BLAS_FOUND)
    SET(ARMA_USE_BLAS true)
  ENDIF(BLAS_FOUND)

IF(Boost_FOUND)
  IF(Boost_MAJOR_VERSION GREATER 0)
    IF(Boost_MINOR_VERSION GREATER 33)
      SET(ARMA_USE_BOOST      true)
    ENDIF(Boost_MINOR_VERSION GREATER 33)
  ENDIF(Boost_MAJOR_VERSION GREATER 0)
ENDIF(Boost_FOUND)
-----------------------------
suggests that, if Lapack, Blas and/or Boost are not found, then they are not
used (and probably replaced by internal/workaround code).
Hence, they should be listed as dependencies... of the building process, i.e.,
as 'BuildRequires:'.

And, as mentioned by Michael, boost-devel should be present in the 'Requires:'
line as well, as most of Boost is delivered as header files only, which cannot
be detected properly by the building process scripts.


In summary, we would have:
--------------
BuildRequires:  cmake, atlas-devel, lapack-devel, boost-devel
%package devel
# Comment justifying the use of a 'Requires:' line
Requires:       boost-devel
--------------

Is that fine? Or did I miss something?

-- 
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.




More information about the Fedora-package-review mailing list