Bug 1706659 - Review Request: ensmallen - header-only C++ library for efficient mathematical optimization
Summary: Review Request: ensmallen - header-only C++ library for efficient mathematica...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Elliott Sales de Andrade
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-05-06 01:32 UTC by Ryan Curtin
Modified: 2019-11-19 03:42 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-11-19 03:42:39 UTC
quantum.analyst: fedora-review+


Attachments (Terms of Use)

Description Ryan Curtin 2019-05-06 01:32:12 UTC
Spec URL: http://www.ratml.org/misc/ensmallen.spec
SRPM URL: http://www.ratml.org/misc/ensmallen-1.14.2-1.fc30.src.rpm
Description:
  ensmallen is a header-only C++ library for efficient mathematical optimization. It provides a simple set of abstractions for writing an objective function to optimize. It also provides a large set of standard and cutting-edge optimizers that can be used for virtually any mathematical optimization task.  These include full-batch gradient descent techniques, small-batch techniques,
gradient-free optimizers, and constrained optimization.

Fedora Account System Username: rcurtin

This is being packaged as a new dependency of mlpack (it used to be a part of mlpack, now it is standalone).  Once this is approved and merged, I'll be able to update mlpack in Fedora/RHEL to its latest version.  If there are any issues I'll get them handled quickly.

Thanks!

Comment 1 Elliott Sales de Andrade 2019-05-09 06:00:44 UTC
- The URL and Source look like they can use https://.
- rm -rf $RPM_BUILD_ROOT should be removed
- You do not need to install LICENSE.txt manually; just list it as a relative path and it will be installed for you.
- Summary should not end in a period.
- If you've built the tests, why not run them in %check?
- %changelog is missing version-release
- This fails to build for me due to missing armadillo; why is it not in BuildRequires also? (I don't think a new enough armadillo is packaged in Fedora, though.)

Comment 2 Ryan Curtin 2019-05-12 16:58:57 UTC
Hi Elliott,

Thanks so much for your quick review.  I handled each of the issues you pointed out and updated https://www.ratml.org/misc/ensmallen.spec and https://www.ratml.org/misc/ensmallen-1.14.2-1.fc30.src.rpm.

> - The URL and Source look like they can use https://.

Yeah, you're right, fixed.

> - rm -rf $RPM_BUILD_ROOT should be removed

Oops, didn't realize this was unnecessary.  Gone now.

> - You do not need to install LICENSE.txt manually; just list it as a relative path and it will be installed for you.

Ah, nice!  I didn't know that.  Thanks.

> - Summary should not end in a period.

Fixed.

> - If you've built the tests, why not run them in %check?

Good point, they run in %check now.

> - %changelog is missing version-release

Oops, simple oversight.  Fixed now.

> - This fails to build for me due to missing armadillo; why is it not in BuildRequires also? (I don't think a new enough armadillo is packaged in Fedora, though.)

Ah, yeah, you're right, Armadillo should be `BuildRequires` also.  It is now, and the versions in Fedora should be new enough that it isn't a problem (6.500.0 or newer is necessary, and that was quite a while ago now).

Let me know if you see any other issues and I'll get them handled.

Thanks again!

Ryan

Comment 3 Elliott Sales de Andrade 2019-05-16 08:30:37 UTC
Putting %package and %description all the way at the end there is a bit odd; it's usually before %prep.

Unfortunately, the tests segfault for me:

+ ./ensmallen_tests
ensmallen version: 1.14.2 (Difficult Crimp) 
armadillo version: 9.400.3 (Surrogate Miscreant)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ensmallen_tests is a Catch v2.4.1 host application.
Run with -? for options
-------------------------------------------------------------------------------
SmallLovaszThetaSdp
-------------------------------------------------------------------------------
/builddir/build/BUILD/ensmallen-1.14.2/tests/sdp_primal_dual_test.cpp:286
...............................................................................
/builddir/build/BUILD/ensmallen-1.14.2/tests/sdp_primal_dual_test.cpp:286: FAILED:
due to a fatal error condition:
  SIGSEGV - Segmentation violation signal
===============================================================================
test cases:  102 |  101 passed | 1 failed
assertions: 5732 | 5731 passed | 1 failed
BUILDSTDERR: /var/tmp/rpm-tmp.xRlIat: line 31:   628 Segmentation fault      (core dumped) ./ensmallen_tests

Comment 4 Ryan Curtin 2019-05-23 18:48:40 UTC
Hi Elliott, I spent a while working with it but I can't reproduce the segfault at all (I ran with tons of different random seeds).  Do you think we should then just ignore running the tests in this case?

Comment 5 Ryan Curtin 2019-05-23 18:50:57 UTC
I should add, since ensmallen is header-only, the tests are primarily of importance for ensuring everything compiles.  They are also tests of the internal optimizers, but given that during development the issue you see hasn't been encountered at all, I'm not sure we can effectively resolve it at the packaging level.  We could report it upstream (although I am part of upstream :)) but I have no idea how long it will take to even reproduce, and I don't know if it makes sense to hold up adding the package on that.  (Especially since adding ensmallen is a dependency for new versions of mlpack, so mlpack can't be updated until then.)

Let me know what you think, and thanks again for your time. :)

Comment 6 Elliott Sales de Andrade 2019-05-25 07:02:11 UTC
Here is the backtrace if it's helpful? It looks like something is going wrong in armadillo though.

#0  0x000055555564ebb4 in arma::Mat<double>::~Mat (this=0x1, __in_chrg=<optimized out>) at /usr/include/armadillo_bits/Mat_meat.hpp:23
#1  0x000055555574a594 in arma::auxlib::chol_band_common<double> (layout=<optimized out>, KD=<optimized out>, X=...)
    at /usr/include/bits/string_fortified.h:34
#2  arma::auxlib::chol_band<double> (layout=<optimized out>, KD=<optimized out>, X=...) at /usr/include/armadillo_bits/auxlib_meat.hpp:2008
#3  arma::op_chol::apply_direct<arma::Mat<double> > (A_expr=..., layout=<optimized out>, out=...) at /usr/include/armadillo_bits/op_chol_meat.hpp:72
#4  arma::op_chol::apply_direct<arma::Mat<double> > (layout=<optimized out>, A_expr=..., out=...) at /usr/include/armadillo_bits/op_chol_meat.hpp:43
#5  arma::chol<arma::Mat<double> > (out=..., X=..., layout=layout@entry=0x55555578b6e4 "lower") at /usr/include/armadillo_bits/fn_chol.hpp:59
#6  0x000055555573ae70 in ens::Alpha (A=..., dA=..., tau=0.98999999999999999, alpha=@0x7fffffffb900: 4.9406564584124654e-323)
    at /builddir/build/BUILD/ensmallen-1.14.2/include/ensmallen_bits/sdp/primal_dual_impl.hpp:127
#7  0x0000555555760ae6 in ens::PrimalDualSolver<ens::SDP<arma::Mat<double> > >::Optimize (this=this@entry=0x7fffffffd620, X=..., ysparse=..., 
    ydense=..., Z=...) at /usr/include/armadillo_bits/Glue_meat.hpp:47
#8  0x000055555573f9df in ____C_A_T_C_H____T_E_S_T____2 () at /builddir/build/BUILD/ensmallen-1.14.2/tests/sdp_primal_dual_test.cpp:296
#9  0x00005555555ee1f7 in Catch::TestCase::invoke (this=<optimized out>) at /usr/include/c++/9/bits/shared_ptr_base.h:1020
#10 Catch::RunContext::invokeActiveTestCase (this=0x7fffffffe0c0) at /builddir/build/BUILD/ensmallen-1.14.2/tests/catch.hpp:9745
#11 0x0000555555601c7f in Catch::RunContext::runCurrentTest (this=0x7fffffffe0c0, redirectedCout="", redirectedCerr="")
    at /builddir/build/BUILD/ensmallen-1.14.2/tests/catch.hpp:9719
#12 0x0000555555612280 in Catch::RunContext::runTest (this=0x7fffffffe0c0, testCase=...)
    at /builddir/build/BUILD/ensmallen-1.14.2/tests/catch.hpp:9495
#13 0x00005555556167de in Catch::(anonymous namespace)::runTests (config=std::shared_ptr<Catch::Config> (use count 4, weak count 0) = {...})
    at /builddir/build/BUILD/ensmallen-1.14.2/tests/catch.hpp:10035
#14 Catch::Session::runInternal (this=0x7fffffffe320) at /builddir/build/BUILD/ensmallen-1.14.2/tests/catch.hpp:10236
#15 0x0000555555616c6f in Catch::Session::run (this=0x7fffffffe320) at /builddir/build/BUILD/ensmallen-1.14.2/tests/catch.hpp:10193
#16 0x00005555555e0ddb in Catch::Session::run (argv=0x7fffffffe598, argc=1, this=0x7fffffffe320)
    at /builddir/build/BUILD/ensmallen-1.14.2/tests/catch.hpp:10161
#17 Catch::Session::run (argv=0x7fffffffe598, argc=1, this=0x7fffffffe320) at /builddir/build/BUILD/ensmallen-1.14.2/tests/catch.hpp:10156
#18 main (argc=1, argv=0x7fffffffe598) at /builddir/build/BUILD/ensmallen-1.14.2/tests/main.cpp:33


What versions of everything do you get? Is one of us outdated somewhere?

Dependencies resolved.
======================================================================================================================================================
 Package                                      Architecture                Version                                   Repository                   Size
======================================================================================================================================================
Installing:
 armadillo-devel                              x86_64                      9.400.3-1.fc31                            fedora                      1.4 M
 cmake                                        x86_64                      3.14.4-1.fc31                             fedora                      8.9 M
 gcc-c++                                      x86_64                      9.1.1-1.fc31                              fedora                       12 M
Installing dependencies:
 SuperLU                                      x86_64                      5.2.1-6.fc30                              fedora                      169 k
 SuperLU-devel                                x86_64                      5.2.1-6.fc30                              fedora                       23 k
 annobin                                      x86_64                      8.76-1.fc31                               fedora                      180 k
 armadillo                                    x86_64                      9.400.3-1.fc31                            fedora                       26 k
 arpack                                       x86_64                      3.5.0-6.fc28                              fedora                      195 k
 arpack-devel                                 x86_64                      3.5.0-6.fc28                              fedora                       12 k
 atlas                                        x86_64                      3.10.3-8.fc30                             fedora                      6.3 M
 atlas-devel                                  x86_64                      3.10.3-8.fc30                             fedora                      1.5 M
 blas                                         x86_64                      3.8.0-11.fc30                             fedora                      415 k
 blas-devel                                   x86_64                      3.8.0-11.fc30                             fedora                       15 k
 cmake-data                                   noarch                      3.14.4-1.fc31                             fedora                      1.4 M
 cmake-filesystem                             x86_64                      3.14.4-1.fc31                             fedora                       16 k
 cmake-rpm-macros                             noarch                      3.14.4-1.fc31                             fedora                       15 k
 cpp                                          x86_64                      9.1.1-1.fc31                              fedora                      9.8 M
 emacs-filesystem                             noarch                      1:26.2-1.fc31                             fedora                      9.8 k
 gcc                                          x86_64                      9.1.1-1.fc31                              fedora                       23 M
 gcc-gfortran                                 x86_64                      9.1.1-1.fc31                              fedora                       11 M
 gdbm-libs                                    x86_64                      1:1.18-4.fc30                             fedora                       50 k
 glibc-devel                                  x86_64                      2.29.9000-19.fc31                         fedora                      1.0 M
 glibc-headers                                x86_64                      2.29.9000-19.fc31                         fedora                      487 k
 hdf5                                         x86_64                      1.10.5-2.fc31                             fedora                      2.1 M
 hdf5-devel                                   x86_64                      1.10.5-2.fc31                             fedora                      1.1 M
 isl                                          x86_64                      0.16.1-8.fc30                             fedora                      796 k
 jsoncpp                                      x86_64                      1.8.4-6.fc30                              fedora                       86 k
 kernel-headers                               x86_64                      5.1.0-1.fc31                              fedora                      1.2 M
 lapack                                       x86_64                      3.8.0-11.fc30                             fedora                      8.5 M
 lapack-devel                                 x86_64                      3.8.0-11.fc30                             fedora                       78 k
 libaec                                       x86_64                      1.0.4-1.fc30                              fedora                       35 k
 libaec-devel                                 x86_64                      1.0.4-1.fc30                              fedora                       11 k
 libgfortran                                  x86_64                      9.1.1-1.fc31                              fedora                      705 k
 libgomp                                      x86_64                      9.1.1-1.fc31                              fedora                      223 k
 libmpc                                       x86_64                      1.1.0-3.fc30                              fedora                       56 k
 libquadmath                                  x86_64                      9.1.1-1.fc31                              fedora                      194 k
 libquadmath-devel                            x86_64                      9.1.1-1.fc31                              fedora                       36 k
 libstdc++-devel                              x86_64                      9.1.1-1.fc31                              fedora                      2.1 M
 libuv                                        x86_64                      1:1.29.0-1.fc31                           fedora                      135 k
 libxcrypt-devel                              x86_64                      4.4.6-1.fc31                              fedora                       35 k
 openblas                                     x86_64                      0.3.6-1.fc31                              fedora                       29 k
 openblas-devel                               x86_64                      0.3.6-1.fc31                              fedora                       88 k
 openblas-openmp                              x86_64                      0.3.6-1.fc31                              fedora                      4.9 M
 openblas-openmp64                            x86_64                      0.3.6-1.fc31                              fedora                      4.8 M
 openblas-openmp64_                           x86_64                      0.3.6-1.fc31                              fedora                      4.8 M
 openblas-serial                              x86_64                      0.3.6-1.fc31                              fedora                      4.8 M
 openblas-serial64                            x86_64                      0.3.6-1.fc31                              fedora                      4.7 M
 openblas-serial64_                           x86_64                      0.3.6-1.fc31                              fedora                      4.7 M
 openblas-threads                             x86_64                      0.3.6-1.fc31                              fedora                      4.9 M
 openblas-threads64                           x86_64                      0.3.6-1.fc31                              fedora                      4.8 M
 openblas-threads64_                          x86_64                      0.3.6-1.fc31                              fedora                      4.8 M
 python-pip-wheel                             noarch                      19.1-1.fc31                               fedora                      1.1 M
 python-setuptools-wheel                      noarch                      41.0.1-1.fc31                             fedora                      279 k
 python3                                      x86_64                      3.7.3-3.fc31                              fedora                       38 k
 python3-libs                                 x86_64                      3.7.3-3.fc31                              fedora                      7.9 M
 rhash                                        x86_64                      1.3.8-1.fc30                              fedora                      168 k
 sqlite-libs                                  x86_64                      3.28.0-1.fc31                             fedora                      563 k
 zlib-devel                                   x86_64                      1.2.11-15.fc30                            fedora                       46 k

Comment 7 Ryan Curtin 2019-05-27 02:39:08 UTC
I tried reproducing the issue in an fc31 docker container by running the tests over and over with different random seeds, but I wasn't able to reproduce it at all.  It does look like a lower-level Armadillo bug perhaps, but even if I wanted to figure out what was going on and submit a patch I can't make heads or tails of the actual issue.

What do you think?  The package builds and tests successfully on my system (and the multiple Docker images I tested), so I don't know if it's worth digging into (unless I can reproduce it, which I currently can't).

Comment 8 Elliott Sales de Andrade 2019-05-27 03:57:57 UTC
Well, unfortunately, it doesn't work on either Rawhide or F30 in koji:

https://koji.fedoraproject.org/koji/taskinfo?taskID=35079859
https://koji.fedoraproject.org/koji/taskinfo?taskID=35080468

which is where you'll have to build it...

Only failing on x86_64 is suspicious though, and looks a bit familiar. This may be an OpenBLAS (or something linking to it) bug.

Comment 9 Ryan Curtin 2019-06-01 00:19:14 UTC
It took a while but I determined that the CXXFLAGS used by the %cmake macro cause the problem.  Specifically, the -D_FORTIFY_SOURCE option causes the segfault.  In any case, since ensmallen is not actually distributing that code and since the bug lies in some lower level library, I simply rewrote the spec to not use that particular flag.

http://www.ratml.org/misc/ensmallen.spec
http://www.ratml.org/misc/ensmallen-1.15.1-1.fc31.src.rpm

(I also updated the version.)

Comment 10 Elliott Sales de Andrade 2019-06-04 07:24:36 UTC
That indicates a real error: https://access.redhat.com/blogs/766093/posts/1976213 Please report a bug for it.

Instead of disabling all the flags (and then possibly forgetting to re-enable them), I would skip the broken test instead by running: ./ensmallen_tests ~SmallLovaszThetaSdp

Comment 11 Ryan Curtin 2019-06-05 01:16:46 UTC
Ah, good point, disabling the SmallLovaszThetaSdp test is the better way to go.  I'll try to keep digging and report a bug to the right place.

The spec and SRPM are updated now; let me know what you think:

http://www.ratml.org/misc/ensmallen.spec
http://www.ratml.org/misc/ensmallen-1.15.1-1.fc31.src.rpm

Thanks again for your review and help with this. :)

Comment 12 Elliott Sales de Andrade 2019-06-06 05:22:43 UTC
Your spec and srpm are not in sync; be sure to use the right one when you import it.

Approved.

Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed



===== MUST items =====

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: If your application is a C or C++ application you must list a
     BuildRequires against gcc, gcc-c++ or clang.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "Unknown or generated", "BSD 3-clause "New" or "Revised"
     License", "Boost Software License BSL BSD 3-clause "New" or "Revised"
     License", "*No copyright* BSL". 253 files have unknown license.
     Detailed output of licensecheck in 1706659-ensmallen/licensecheck.txt
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[x]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory
     names).
[x]: Package is named according to the Package Naming Guidelines.
[?]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least
     one supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: If (and only if) the source package includes the text of the
     license(s) in its own file, then that file, containing the text of the
     license(s) for the package is included in %license.
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package must not depend on deprecated() packages.
[x]: Package use %makeinstall only when make install DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package does not use a name that already exists.
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as
     provided in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 0 bytes in 0 files.
[x]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

Generic:
[-]: If the source package does not include license text(s) as a separate
     file from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[?]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[?]: Package should compile and build into binary rpms on all supported
     architectures.
[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed
     files.
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[!]: Spec file according to URL is the same as in SRPM.
     Note: Spec file as given by url is not the same as in SRPM (see
     attached diff).
     See: (this test has no URL)
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Large data in /usr/share should live in a noarch subpackage if package
     is arched.


Rpmlint
-------
Checking: ensmallen-devel-1.15.1-1.fc31.x86_64.rpm
          ensmallen-1.15.1-1.fc31.src.rpm
ensmallen-devel.x86_64: W: spelling-error %description -l en_US optimizers -> optimizer, optimizes, optimize rs
ensmallen-devel.x86_64: W: no-documentation
ensmallen.src: W: spelling-error %description -l en_US optimizers -> optimizer, optimizes, optimize rs
ensmallen.src:34: W: macro-in-comment %{_prefix}
ensmallen.src:35: W: macro-in-comment %{_includedir}
ensmallen.src:36: W: macro-in-comment %{_libdir}
ensmallen.src:37: W: macro-in-comment %{_sysconfdir}
ensmallen.src:38: W: macro-in-comment %{_datadir}
ensmallen.src:11: W: mixed-use-of-spaces-and-tabs (spaces: line 1, tab: line 11)
2 packages and 0 specfiles checked; 0 errors, 9 warnings.




Rpmlint (installed packages)
----------------------------
ensmallen-devel.x86_64: W: spelling-error %description -l en_US optimizers -> optimizer, optimizes, optimize rs
ensmallen-devel.x86_64: W: invalid-url URL: https://www.ensmallen.org <urlopen error [Errno -2] Name or service not known>
ensmallen-devel.x86_64: W: no-documentation
1 packages and 0 specfiles checked; 0 errors, 3 warnings.



Source checksums
----------------
https://www.ensmallen.org/files/ensmallen-1.15.1.tar.gz :
  CHECKSUM(SHA256) this package     : e597a7d488b59add432dba7e8a3911eddbbce30ab665e9e3fc0541466245997a
  CHECKSUM(SHA256) upstream package : e597a7d488b59add432dba7e8a3911eddbbce30ab665e9e3fc0541466245997a


Requires
--------
ensmallen-devel (rpmlib, GLIBC filtered):



Provides
--------
ensmallen-devel:
    ensmallen-devel
    ensmallen-devel(x86-64)
    ensmallen-static



Diff spec file in url and in SRPM
---------------------------------
--- review/1706659-ensmallen/srpm/ensmallen.spec	2019-06-05 23:45:39.137176086 -0400
+++ review/1706659-ensmallen/srpm-unpacked/ensmallen.spec	2019-06-04 19:19:00.000000000 -0400
@@ -29,5 +29,12 @@
 
 %build
+# Don't use the usual RPM-based CXXFLAGS because they cause a segfault in the
+# tests (at a lower level than ensmallen).
 %cmake
+# -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \
+#      -DINCLUDE_INSTALL_DIR:PATH=%{_includedir} \
+#      -DLIB_INSTALL_DIR:PATH=%{_libdir} \
+#      -DSYSCONF_INSTALL_DIR:PATH=%{_sysconfdir} \
+#      -DSHARE_INSTALL_PREFIX:PATH=%{_datadir} .
 
 # Technically we don't need to build anything but it's a good sanity check to
@@ -39,6 +46,4 @@
 
 %check
-# Disable the SmallLovaszThetaSdp test---it exposes a bug in one of ensmallen's
-# dependencies.
 ./ensmallen_tests ~SmallLovaszThetaSdp
 


Generated by fedora-review 0.7.2 (65d36bb) last change: 2019-04-09
Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -b 1706659
Buildroot used: fedora-rawhide-x86_64
Active plugins: C/C++, Generic, Shell-api
Disabled plugins: Perl, R, PHP, fonts, Haskell, Python, SugarActivity, Java, Ocaml
Disabled flags: EPEL6, EPEL7, DISTTAG, BATCH, EXARCH

Comment 13 Ryan Curtin 2019-06-09 05:08:49 UTC
Thanks!  And you're right, I did change the spec file after building the SRPM, but in this case I only changed comments.  Sorry for any confusion.

Does anything else need to be done by me here?  And thanks again.

Comment 14 Elliott Sales de Andrade 2019-06-12 05:52:50 UTC
No, it's approved already.

Comment 15 Gwyn Ciesla 2019-07-08 16:46:31 UTC
(fedscm-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/ensmallen

Comment 16 Fedora Update System 2019-07-10 01:23:14 UTC
FEDORA-2019-e5d4aeaacc has been submitted as an update to Fedora 30. https://bodhi.fedoraproject.org/updates/FEDORA-2019-e5d4aeaacc

Comment 17 Fedora Update System 2019-07-10 02:45:20 UTC
FEDORA-2019-b5dbfb1cb5 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2019-b5dbfb1cb5

Comment 18 Fedora Update System 2019-07-10 13:21:17 UTC
FEDORA-EPEL-2019-96c517757d has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-96c517757d

Comment 19 Fedora Update System 2019-07-11 00:50:12 UTC
ensmallen-1.15.1-1.fc30 has been pushed to the Fedora 30 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-e5d4aeaacc

Comment 20 Fedora Update System 2019-07-11 02:31:48 UTC
ensmallen-1.15.1-1.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-96c517757d

Comment 21 Fedora Update System 2019-07-11 03:10:42 UTC
ensmallen-1.15.1-1.fc29 has been pushed to the Fedora 29 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-b5dbfb1cb5

Comment 22 Fedora Update System 2019-07-19 01:10:27 UTC
ensmallen-1.15.1-1.fc30 has been pushed to the Fedora 30 stable repository. If problems still persist, please make note of it in this bug report.

Comment 23 Fedora Update System 2019-07-20 03:46:48 UTC
ensmallen-1.15.1-1.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report.

Comment 24 Fedora Update System 2019-07-26 00:34:38 UTC
ensmallen-1.15.1-1.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report.

Comment 25 Elliott Sales de Andrade 2019-11-19 03:30:24 UTC
Everything's stable now; can't we close this?

Comment 26 Ryan Curtin 2019-11-19 03:42:39 UTC
Oh, definitely, I just forgot to.  Thank you again for your help!


Note You need to log in before you can comment on or make changes to this bug.