Spec URL: http://sagitter.fedorapeople.org/MUMPS/MUMPS.spec SRPM URL: http://sagitter.fedorapeople.org/MUMPS/MUMPS-4.10.0-0.fc18.src.rpm Description: MUMPS implements a direct solver for large sparse linear systems, with a particular focus on symmetric positive definite matrices. It can operate on distributed matrices e.g. over a cluster. It has Fortran and C interfaces, and can interface with ordering tools such as Scotch. Fedora Account System Username: sagitter Compared to version 4.9.2, this version of MUMPS seems contain less libraries. Koji build: http://koji.fedoraproject.org/koji/taskinfo?taskID=5036019 $ rpmlint MUMPS-4.10.0-0.fc18.x86_64.rpm MUMPS.x86_64: W: unstripped-binary-or-object /usr/lib64/MUMPS/ssimpletest MUMPS.x86_64: W: shared-lib-calls-exit /usr/lib64/libpord-4.10.0.so exit.5 MUMPS.x86_64: W: unstripped-binary-or-object /usr/lib64/MUMPS/zsimpletest MUMPS.x86_64: W: shared-lib-calls-exit /usr/lib64/libmumps_common-4.10.0.so exit.5 MUMPS.x86_64: W: unstripped-binary-or-object /usr/lib64/MUMPS/csimpletest MUMPS.x86_64: W: unstripped-binary-or-object /usr/lib64/MUMPS/dsimpletest 1 packages and 0 specfiles checked; 0 errors, 6 warnings. $ rpmlint MUMPS-debuginfo-4.10.0-0.fc18.x86_64.rpm MUMPS-debuginfo.x86_64: E: debuginfo-without-sources 1 packages and 0 specfiles checked; 1 errors, 0 warnings. $ rpmlint MUMPS-devel-4.10.0-0.fc18.x86_64.rpm MUMPS-devel.x86_64: W: no-documentation 1 packages and 0 specfiles checked; 0 errors, 1 warnings. $ rpmlint MUMPS-seq-4.10.0-0.fc18.x86_64.rpm MUMPS-seq.x86_64: W: no-documentation 1 packages and 0 specfiles checked; 0 errors, 1 warnings. This error appears if I try to install MUMPS: # yum install MUMPS-4.10.0-0.fc18.x86_64.rpm MUMPS-seq-4.10.0-0.fc18.x86_64.rpm Loaded plugins: langpacks, presto, refresh-packagekit Examining MUMPS-4.10.0-0.fc18.x86_64.rpm: MUMPS-4.10.0-0.fc18.x86_64 Marking MUMPS-4.10.0-0.fc18.x86_64.rpm to be installed Examining MUMPS-seq-4.10.0-0.fc18.x86_64.rpm: MUMPS-seq-4.10.0-0.fc18.x86_64 Marking MUMPS-seq-4.10.0-0.fc18.x86_64.rpm to be installed Resolving Dependencies --> Running transaction check ---> Package MUMPS.x86_64 0:4.10.0-0.fc18 will be installed --> Processing Dependency: libopen-pal.so.4()(64bit) for package: MUMPS-4.10.0-0.fc18.x86_64 --> Processing Dependency: libopen-rte.so.4()(64bit) for package: MUMPS-4.10.0-0.fc18.x86_64 ---> Package MUMPS-seq.x86_64 0:4.10.0-0.fc18 will be installed --> Finished Dependency Resolution Error: Package: MUMPS-4.10.0-0.fc18.x86_64 (/MUMPS-4.10.0-0.fc18.x86_64) Requires: libopen-rte.so.4()(64bit) Error: Package: MUMPS-4.10.0-0.fc18.x86_64 (/MUMPS-4.10.0-0.fc18.x86_64) Requires: libopen-pal.so.4()(64bit) You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest 'libopen-pal' and 'libopen-rte' are installed, so why ?
Run repoquery --whatprovides 'libopen-rte.4()(64bit)' to find that nothing provides that library SONAME. Hence nothing satisfies the dependency. The library file is include in some non-public path in openmpi-1.6.3-7.fc18.x86_64.rpm - http://koji.fedoraproject.org/koji/rpminfo?rpmID=3664682 - but it seems the automatic Provides are filtered. The %changelog mentions bug 741104 (Exclude private libraries from provides/requires). Some investigation is needed.
(In reply to comment #1) > Run > > repoquery --whatprovides 'libopen-rte.4()(64bit)' > > to find that nothing provides that library SONAME. Hence nothing satisfies > the dependency. The library file is include in some non-public path in > openmpi-1.6.3-7.fc18.x86_64.rpm - > http://koji.fedoraproject.org/koji/rpminfo?rpmID=3664682 - but it seems the > automatic Provides are filtered. The %changelog mentions bug 741104 (Exclude > private libraries from provides/requires). > > Some investigation is needed. Hi Michael. I have added %__requires_exclude_* macros to prevent the libraries request from openmpi. openmpi downgrading seems not resolve the problem. Spec URL: http://sagitter.fedorapeople.org/MUMPS/MUMPS.spec SRPM URL: http://sagitter.fedorapeople.org/MUMPS/MUMPS-4.10.0-1.fc18.src.rpm
That sounds questionable. Either the libs are _private_ and nothing external ought to depend on them - then it's okay to hide their automatic Provides. Or external pieces may depend on them, and then it would not be okay to kill the RPM dependencies in any of the packages. I'll mail openmpi-owner(s) and Cc you.
Since this package intersects with your ipopt, and my coin-or-Ipopt review request, I did a simple review request: ================================ MUST: 1. %build honors applicable compiler flags or justifies otherwise. Build does not honor compiler flags. See "grep -r CFLAGS" and "grep -r OPTC" in the BUILD dir. Need to either patch, or just pass CFLAGS to make call. 2. Changelog in prescribed format. Minor issue, just break the line between the 2 changelog entries. 3. Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. Self explanatory. Also remove the %clean section. 4. Each %files section contains %defattr if rpm < 4.4 Note: %defattr present but not needed Remove %defattr from all %files sections. 5. Development files must be in a -devel package .so links are not in the -devel package and also should use a relative link (target is in the same directory). 6. Package does not contain duplicates in %files. Note: warning: File listed twice: /usr/lib64/MUMPS Self explanatory. 7. 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 %doc. LICENSE file is not in %doc. README is installed and not set as %doc. Package is not owner of %{_docdir}/%{name}-%{version}. Since the -seq package does not require the main package (error?) it should also include LICENSE as %doc; I suggest making it require the main package to also silence the warning about it not requiring the main package... The .ps and .pdf documentation is not installed. I suggest "%doc doc/*.pdf" and "%doc doc/%.ps" 8. License file installed when any subpackage combination is installed. See 7. 9. Package must own all directories that it creates. As described in 8., package is not owner of %{_docdir}/%{name}-%{version}. ================================ SHOULD: 1. Buildroot is not present Note: Buildroot: present but not needed Just remove the BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) line. 2. Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) Note: %clean present but not required Just remove the %clean section. 3. Spec use %global instead of %define. Note: %define __provides_exclude_from %{_libdir}/openmpi/lib/(lib(mca|o|v)|openmpi/).*.so %define __requires_exclude libopen.*.so Self explanatory. ================================ EXTRA: 1. Please consider installing headers in /usr/include/MUMPS: $ ls rpms-unpacked/MUMPS-devel-4.10.0-1.fc18.x86_64.rpm/usr/include/|wc -l 14 this may need some minor patching or adding -IMUMPS to build. 2. -devel package should have: Requires: %{name}%{?_isa} = %{version}-%{release} instead of Requires: %{name} = %{version}-%{release} 3. Summary and description of the seq subpackage are a wrong, cut&paste of the -devel package. 4. Please make a examples subpackage with the examples subdir, verify the README there, and validate it works. *OR* make of the examples subdirectory a %check section. This would help a reviewer to press "x" in the "Package functions as described" field. 5. You should not do chmod a-x $RPM_BUILD_ROOT%{_libdir}/%{name}/?simpletest chmod a-x $RPM_BUILD_ROOT%{_libdir}/%{name}/input_* in %install. This just causes it to install ELF binary files without executable permission just for the bogus warning 'script-without-shebang' 6. Instead of using a single mumps-extra.tar.gz tarball, You should add it as a Patch, with the proper link to http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/raring/mumps/raring/files/head:/debian/patches/$PATCH_NAME and use %patch instead of calling patch in %build. At least, should use patch in %prep (that is, to help in "without prep" partial debug builds). Should also give a brief description of what the patch does, and if applicable, a link to where the patch was submitted upstream. ============================================================================== Package Review ============== Key: [x] = Pass [!] = Fail [-] = Not applicable [?] = Not evaluated [ ] = Manual review needed Issues: ======= [!]: Development (unversioned) .so files in -devel subpackage, if present. Note: Unversioned so-files directly in %_libdir. See: http://fedoraproject.org/wiki/Packaging/Guidelines#DevelPackages [!]: Package does not contain duplicates in %files. Note: warning: File listed twice: /usr/lib64/MUMPS See: http://fedoraproject.org/wiki/Packaging/Guidelines#DuplicateFiles ===== MUST items ===== C/C++: [x]: Header files in -devel subpackage, if present. [x]: Package does not contain any libtool archives (.la) [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [x]: Rpath absent or only used for internal libs. [!]: Development (unversioned) .so files in -devel subpackage, if present. Note: Unversioned so-files directly in %_libdir. 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]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [!]: %build honors applicable compiler flags or justifies otherwise. [x]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [x]: Package contains no bundled libraries. [!]: Changelog in prescribed format. [!]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. Note: rm -rf %{buildroot} present but not required [x]: Sources contain only permissible code or content. [!]: Each %files section contains %defattr if rpm < 4.4 Note: %defattr present but not needed [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Package contains desktop file if it is a GUI application. [!]: Development files must be in a -devel package [x]: Package requires other packages for directories it uses. [x]: Package uses nothing in %doc for runtime. [x]: Package is not known to require ExcludeArch. [!]: Package does not contain duplicates in %files. Note: warning: File listed twice: /usr/lib64/MUMPS [x]: Permissions on files are set properly. [-]: Fully versioned dependency in subpackages, if present. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in %package seq [x]: Package complies to the Packaging Guidelines [x]: Spec file lacks Packager, Vendor, PreReq tags. [!]: 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 %doc. [-]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "Unknown or generated". 1 files have unknown license. Detailed output of licensecheck in /home/pcpa/913152-MUMPS/licensecheck.txt [!]: License file installed when any subpackage combination is installed. [x]: Package consistently uses macro is (instead of hard-coded directory names). [x]: Package is named using only allowed ASCII characters. [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. Note: Package contains no Conflicts: tag(s) [x]: Package do not use a name that already exist [x]: Package obeys FHS, except libexecdir and /usr/target. [x]: If the package is a rename of another package, proper Obsoletes and Provides are present. [!]: Package must own all directories that it creates. [x]: Package does not own files or directories owned by other packages. [x]: Package installs properly. [x]: Package is not relocatable. [x]: Requires correct, justified where necessary. [x]: CheckResultdir [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file is legible and written in American English. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: Package contains systemd file(s) if in need. [x]: File names are valid UTF-8. [x]: Useful -debuginfo package or justification otherwise. [x]: Large documentation must go in a -doc subpackage. Note: Documentation size is 20480 bytes in 1 files. [x]: Packages must not store files under /srv, /opt or /usr/local ===== SHOULD items ===== Generic: [x]: Reviewer should test that the package builds in mock. [!]: Buildroot is not present Note: Buildroot: present but not needed [!]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) Note: %clean present but not required [x]: 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]: Dist tag is present. [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Final provides and requires are sane (rpm -q --provides and rpm -q --requires). [ ]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [x]: The placement of pkgconfig(.pc) files are correct. [x]: Scriptlets must be sane, if used. [x]: SourceX tarball generation or download is documented. Note: Package contains tarball without URL, check comments [!]: SourceX / PatchY prefixed with %{name}. Note: Source1 (mumps-extra.tar.gz) [x]: SourceX is a working URL. [x]: 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. [ ]: %check is present and all tests pass. [x]: Packages should try to preserve timestamps of original installed files. [!]: Spec use %global instead of %define. Note: %define __provides_exclude_from %{_libdir}/openmpi/lib/(lib(mca|o|v)|openmpi/).*.so %define __requires_exclude libopen.*.so ===== EXTRA items ===== Generic: [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Spec file according to URL is the same as in SRPM. [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. Rpmlint ------- Checking: MUMPS-devel-4.10.0-1.fc18.x86_64.rpm MUMPS-4.10.0-1.fc18.src.rpm MUMPS-debuginfo-4.10.0-1.fc18.x86_64.rpm MUMPS-seq-4.10.0-1.fc18.x86_64.rpm MUMPS-4.10.0-1.fc18.x86_64.rpm MUMPS-devel.x86_64: W: no-documentation MUMPS.src: W: invalid-url Source1: mumps-extra.tar.gz MUMPS-debuginfo.x86_64: E: debuginfo-without-sources MUMPS-seq.x86_64: W: no-documentation MUMPS.x86_64: W: unstripped-binary-or-object /usr/lib64/MUMPS/ssimpletest MUMPS.x86_64: W: shared-lib-calls-exit /usr/lib64/libpord-4.10.0.so exit.5 MUMPS.x86_64: W: unstripped-binary-or-object /usr/lib64/MUMPS/zsimpletest MUMPS.x86_64: W: shared-lib-calls-exit /usr/lib64/libmumps_common-4.10.0.so exit.5 MUMPS.x86_64: W: unstripped-binary-or-object /usr/lib64/MUMPS/csimpletest MUMPS.x86_64: W: unstripped-binary-or-object /usr/lib64/MUMPS/dsimpletest 5 packages and 0 specfiles checked; 1 errors, 9 warnings. Rpmlint (installed packages) ---------------------------- # rpmlint MUMPS-seq MUMPS-debuginfo MUMPS-devel MUMPS MUMPS-seq.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libmpiseq-4.10.0.so /lib64/libm.so.6 MUMPS-seq.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libmpiseq-4.10.0.so /lib64/libgcc_s.so.1 MUMPS-seq.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libmpiseq-4.10.0.so /lib64/libquadmath.so.0 MUMPS-seq.x86_64: W: no-documentation MUMPS-debuginfo.x86_64: E: debuginfo-without-sources MUMPS-devel.x86_64: W: no-documentation MUMPS.x86_64: W: unstripped-binary-or-object /usr/lib64/MUMPS/ssimpletest MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so libmpi_f77.so.1 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so libmpi.so.1 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so libopen-rte.so.4 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so libopen-pal.so.4 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so libscalapack.so.1 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so libmpiblacs.so.1 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so libmpiblacsF77init.so.1 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so libmpiblacsCinit.so.1 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so /usr/lib64/atlas/liblapack.so.3 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so /lib64/libpord-4.10.0.so MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so /lib64/libgcc_s.so.1 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so /lib64/libquadmath.so.0 MUMPS.x86_64: W: shared-lib-calls-exit /usr/lib64/libpord-4.10.0.so exit.5 MUMPS.x86_64: W: unstripped-binary-or-object /usr/lib64/MUMPS/zsimpletest MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libmumps_common-4.10.0.so /lib64/libgcc_s.so.1 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libmumps_common-4.10.0.so /lib64/libquadmath.so.0 MUMPS.x86_64: W: shared-lib-calls-exit /usr/lib64/libmumps_common-4.10.0.so exit.5 MUMPS.x86_64: W: unstripped-binary-or-object /usr/lib64/MUMPS/csimpletest MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so libmpi_f77.so.1 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so libmpi.so.1 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so libopen-rte.so.4 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so libopen-pal.so.4 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so libscalapack.so.1 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so libmpiblacs.so.1 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so libmpiblacsF77init.so.1 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so libmpiblacsCinit.so.1 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so /usr/lib64/atlas/liblapack.so.3 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so /lib64/libpord-4.10.0.so MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so /lib64/libgcc_s.so.1 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so /lib64/libquadmath.so.0 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so libmpi_f77.so.1 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so libmpi.so.1 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so libopen-rte.so.4 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so libopen-pal.so.4 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so libscalapack.so.1 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so libmpiblacs.so.1 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so libmpiblacsF77init.so.1 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so libmpiblacsCinit.so.1 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so /usr/lib64/atlas/liblapack.so.3 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so /lib64/libpord-4.10.0.so MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so /lib64/libgcc_s.so.1 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so /lib64/libquadmath.so.0 MUMPS.x86_64: W: unstripped-binary-or-object /usr/lib64/MUMPS/dsimpletest MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so libmpi_f77.so.1 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so libmpi.so.1 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so libopen-rte.so.4 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so libopen-pal.so.4 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so libscalapack.so.1 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so libmpiblacs.so.1 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so libmpiblacsF77init.so.1 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so libmpiblacsCinit.so.1 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so /usr/lib64/atlas/liblapack.so.3 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so /lib64/libpord-4.10.0.so MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so /lib64/libgcc_s.so.1 MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so /lib64/libquadmath.so.0 4 packages and 0 specfiles checked; 1 errors, 61 warnings. # echo 'rpmlint-done:' Requires -------- MUMPS-devel-4.10.0-1.fc18.x86_64.rpm (rpmlib, GLIBC filtered): /sbin/ldconfig MUMPS = 4.10.0-1.fc18 MUMPS-debuginfo-4.10.0-1.fc18.x86_64.rpm (rpmlib, GLIBC filtered): MUMPS-seq-4.10.0-1.fc18.x86_64.rpm (rpmlib, GLIBC filtered): /sbin/ldconfig libc.so.6()(64bit) libgcc_s.so.1()(64bit) libgfortran.so.3()(64bit) libgfortran.so.3(GFORTRAN_1.0)(64bit) libgfortran.so.3(GFORTRAN_1.4)(64bit) libm.so.6()(64bit) libquadmath.so.0()(64bit) rtld(GNU_HASH) MUMPS-4.10.0-1.fc18.x86_64.rpm (rpmlib, GLIBC filtered): /sbin/ldconfig libblas.so.3()(64bit) libc.so.6()(64bit) libgcc_s.so.1()(64bit) libgfortran.so.3()(64bit) libgfortran.so.3(GFORTRAN_1.0)(64bit) libgfortran.so.3(GFORTRAN_1.4)(64bit) liblapack.so.3()(64bit) libm.so.6()(64bit) libmpi.so.1()(64bit) libmpi_f77.so.1()(64bit) libmpiblacs.so.1()(64bit) libmpiblacsCinit.so.1()(64bit) libmpiblacsF77init.so.1()(64bit) libmumps_common-4.10.0.so()(64bit) libpord-4.10.0.so()(64bit) libpthread.so.0()(64bit) libquadmath.so.0()(64bit) libscalapack.so.1()(64bit) rtld(GNU_HASH) Provides -------- MUMPS-devel-4.10.0-1.fc18.x86_64.rpm: MUMPS-devel = 4.10.0-1.fc18 MUMPS-devel(x86-64) = 4.10.0-1.fc18 MUMPS-debuginfo-4.10.0-1.fc18.x86_64.rpm: MUMPS-debuginfo = 4.10.0-1.fc18 MUMPS-debuginfo(x86-64) = 4.10.0-1.fc18 MUMPS-seq-4.10.0-1.fc18.x86_64.rpm: MUMPS-seq = 4.10.0-1.fc18 MUMPS-seq(x86-64) = 4.10.0-1.fc18 libmpiseq-4.10.0.so()(64bit) MUMPS-4.10.0-1.fc18.x86_64.rpm: MUMPS = 4.10.0-1.fc18 MUMPS(x86-64) = 4.10.0-1.fc18 libcmumps-4.10.0.so()(64bit) libdmumps-4.10.0.so()(64bit) libmumps_common-4.10.0.so()(64bit) libpord-4.10.0.so()(64bit) libsmumps-4.10.0.so()(64bit) libzmumps-4.10.0.so()(64bit) Unversioned so-files -------------------- MUMPS-seq-4.10.0-1.fc18.x86_64.rpm: /usr/lib64/libmpiseq-4.10.0.so MUMPS-4.10.0-1.fc18.x86_64.rpm: /usr/lib64/libcmumps-4.10.0.so MUMPS-4.10.0-1.fc18.x86_64.rpm: /usr/lib64/libcmumps.so MUMPS-4.10.0-1.fc18.x86_64.rpm: /usr/lib64/libdmumps-4.10.0.so MUMPS-4.10.0-1.fc18.x86_64.rpm: /usr/lib64/libdmumps.so MUMPS-4.10.0-1.fc18.x86_64.rpm: /usr/lib64/libmumps_common-4.10.0.so MUMPS-4.10.0-1.fc18.x86_64.rpm: /usr/lib64/libmumps_common.so MUMPS-4.10.0-1.fc18.x86_64.rpm: /usr/lib64/libpord-4.10.0.so MUMPS-4.10.0-1.fc18.x86_64.rpm: /usr/lib64/libpord.so MUMPS-4.10.0-1.fc18.x86_64.rpm: /usr/lib64/libsmumps-4.10.0.so MUMPS-4.10.0-1.fc18.x86_64.rpm: /usr/lib64/libsmumps.so MUMPS-4.10.0-1.fc18.x86_64.rpm: /usr/lib64/libzmumps-4.10.0.so MUMPS-4.10.0-1.fc18.x86_64.rpm: /usr/lib64/libzmumps.so MD5-sum check ------------- http://mumps.enseeiht.fr/MUMPS_4.10.0.tar.gz : CHECKSUM(SHA256) this package : d0f86f91a74c51a17a2ff1be9c9cee2338976f13a6d00896ba5b43a5ca05d933 CHECKSUM(SHA256) upstream package : d0f86f91a74c51a17a2ff1be9c9cee2338976f13a6d00896ba5b43a5ca05d933 Generated by fedora-review 0.3.1 (b71abc1) last change: 2012-10-16 Buildroot used: fedora-18-x86_64 Command line :/usr/bin/fedora-review -v -m fedora-18-x86_64 -b 913152
Hi Paulo. Thank you for cooperation. I'm dedicated myself to the Make* files insomuch as I've forgotten all that in evidence. :P (In reply to comment #4) > Since this package intersects with your ipopt, and my > coin-or-Ipopt review request, I did a simple review > request: > > > ================================ > MUST: > > 1. %build honors applicable compiler flags or justifies otherwise. > Build does not honor compiler flags. See "grep -r CFLAGS" and > "grep -r OPTC" in the BUILD dir. Need to either patch, or just > pass CFLAGS to make call. I've added all flags in the Make.par.inc and Make.seq.inc files directly. > > 2. Changelog in prescribed format. > Minor issue, just break the line between the 2 changelog entries. Fixed. > > 3. Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the > beginning of %install. > Self explanatory. Also remove the %clean section. Fixed. > > 4. Each %files section contains %defattr if rpm < 4.4 > Note: %defattr present but not needed > Remove %defattr from all %files sections. Fixed. > > 5. Development files must be in a -devel package > .so links are not in the -devel package and also should use > a relative link (target is in the same directory). Fixed. > > 6. Package does not contain duplicates in %files. > Note: warning: File listed twice: /usr/lib64/MUMPS > Self explanatory. Fixed. > > 7. 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 %doc. > LICENSE file is not in %doc. > README is installed and not set as %doc. > Package is not owner of %{_docdir}/%{name}-%{version}. > Since the -seq package does not require the main package (error?) > it should also include LICENSE as %doc; I suggest making it require > the main package to also silence the warning about it not requiring > the main package... > The .ps and .pdf documentation is not installed. I suggest > "%doc doc/*.pdf" and "%doc doc/%.ps" Fixed. > > 9. Package must own all directories that it creates. > As described in 8., package is not owner of %{_docdir}/%{name}-%{version}. > > Fixed. > ================================ > SHOULD: > > 1. Buildroot is not present > Note: Buildroot: present but not needed > Just remove the > BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) > line. Fixed. > > 2. Package has no %clean section with rm -rf %{buildroot} (or > $RPM_BUILD_ROOT) > Note: %clean present but not required > Just remove the %clean section. Fixed. > > 3. Spec use %global instead of %define. > Note: %define __provides_exclude_from > %{_libdir}/openmpi/lib/(lib(mca|o|v)|openmpi/).*.so %define > __requires_exclude libopen.*.so > Self explanatory. Fixed. > > ================================ > EXTRA: > > 1. Please consider installing headers in /usr/include/MUMPS: > $ ls rpms-unpacked/MUMPS-devel-4.10.0-1.fc18.x86_64.rpm/usr/include/|wc -l > 14 > this may need some minor patching or adding -IMUMPS to build. Fixed. > > 2. -devel package should have: > Requires: %{name}%{?_isa} = %{version}-%{release} > instead of > Requires: %{name} = %{version}-%{release} Fixed. > > 3. Summary and description of the seq subpackage are a wrong, cut&paste > of the -devel package. Fixed. > > 4. Please make a examples subpackage with the examples subdir, verify > the README there, and validate it works. *OR* make of the examples > subdirectory a %check section. This would help a reviewer to press > "x" in the "Package functions as described" field. I've added a 'examples' sub-package that contains README and all 'simpletest' files. But it seems to exist another problem by executing them: $ ./ssimpletest < input_simpletest_real ./ssimpletest: error while loading shared libraries: libmpi_f77.so.1: cannot open shared object file: No such file or directory > > 5. You should not do > chmod a-x $RPM_BUILD_ROOT%{_libdir}/%{name}/?simpletest > chmod a-x $RPM_BUILD_ROOT%{_libdir}/%{name}/input_* > in %install. This just causes it to install ELF binary files without > executable permission just for the bogus warning > 'script-without-shebang' Fixed. > > 6. Instead of using a single mumps-extra.tar.gz tarball, You should add > it as a Patch, with the proper link to > > http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/raring/mumps/raring/ > files/head:/debian/patches/$PATCH_NAME > and use %patch instead of calling patch in %build. At least, should > use patch in %prep (that is, to help in "without prep" partial > debug builds). > Should also give a brief description of what the patch does, and > if applicable, a link to where the patch was submitted upstream. Fixed. > > > > ============================================================================= > = > > Package Review > ============== > > Key: > [x] = Pass > [!] = Fail > [-] = Not applicable > [?] = Not evaluated > [ ] = Manual review needed > > > Issues: > ======= > [!]: Development (unversioned) .so files in -devel subpackage, if present. > Note: Unversioned so-files directly in %_libdir. > See: http://fedoraproject.org/wiki/Packaging/Guidelines#DevelPackages > [!]: Package does not contain duplicates in %files. > Note: warning: File listed twice: /usr/lib64/MUMPS > See: http://fedoraproject.org/wiki/Packaging/Guidelines#DuplicateFiles > > > > Rpmlint (installed packages) > ---------------------------- > # rpmlint MUMPS-seq MUMPS-debuginfo MUMPS-devel MUMPS > MUMPS-seq.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libmpiseq-4.10.0.so /lib64/libm.so.6 > MUMPS-seq.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libmpiseq-4.10.0.so /lib64/libgcc_s.so.1 > MUMPS-seq.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libmpiseq-4.10.0.so /lib64/libquadmath.so.0 > MUMPS-seq.x86_64: W: no-documentation > MUMPS-debuginfo.x86_64: E: debuginfo-without-sources > MUMPS-devel.x86_64: W: no-documentation > MUMPS.x86_64: W: unstripped-binary-or-object /usr/lib64/MUMPS/ssimpletest > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libcmumps-4.10.0.so libmpi_f77.so.1 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libcmumps-4.10.0.so libmpi.so.1 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libcmumps-4.10.0.so libopen-rte.so.4 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libcmumps-4.10.0.so libopen-pal.so.4 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libcmumps-4.10.0.so libscalapack.so.1 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libcmumps-4.10.0.so libmpiblacs.so.1 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libcmumps-4.10.0.so libmpiblacsF77init.so.1 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libcmumps-4.10.0.so libmpiblacsCinit.so.1 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libcmumps-4.10.0.so /usr/lib64/atlas/liblapack.so.3 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libcmumps-4.10.0.so /lib64/libpord-4.10.0.so > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libcmumps-4.10.0.so /lib64/libgcc_s.so.1 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libcmumps-4.10.0.so /lib64/libquadmath.so.0 > MUMPS.x86_64: W: shared-lib-calls-exit /usr/lib64/libpord-4.10.0.so > exit.5 > MUMPS.x86_64: W: unstripped-binary-or-object /usr/lib64/MUMPS/zsimpletest > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libmumps_common-4.10.0.so /lib64/libgcc_s.so.1 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libmumps_common-4.10.0.so /lib64/libquadmath.so.0 > MUMPS.x86_64: W: shared-lib-calls-exit /usr/lib64/libmumps_common-4.10.0.so > exit.5 > MUMPS.x86_64: W: unstripped-binary-or-object /usr/lib64/MUMPS/csimpletest > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libdmumps-4.10.0.so libmpi_f77.so.1 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libdmumps-4.10.0.so libmpi.so.1 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libdmumps-4.10.0.so libopen-rte.so.4 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libdmumps-4.10.0.so libopen-pal.so.4 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libdmumps-4.10.0.so libscalapack.so.1 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libdmumps-4.10.0.so libmpiblacs.so.1 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libdmumps-4.10.0.so libmpiblacsF77init.so.1 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libdmumps-4.10.0.so libmpiblacsCinit.so.1 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libdmumps-4.10.0.so /usr/lib64/atlas/liblapack.so.3 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libdmumps-4.10.0.so /lib64/libpord-4.10.0.so > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libdmumps-4.10.0.so /lib64/libgcc_s.so.1 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libdmumps-4.10.0.so /lib64/libquadmath.so.0 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libzmumps-4.10.0.so libmpi_f77.so.1 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libzmumps-4.10.0.so libmpi.so.1 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libzmumps-4.10.0.so libopen-rte.so.4 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libzmumps-4.10.0.so libopen-pal.so.4 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libzmumps-4.10.0.so libscalapack.so.1 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libzmumps-4.10.0.so libmpiblacs.so.1 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libzmumps-4.10.0.so libmpiblacsF77init.so.1 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libzmumps-4.10.0.so libmpiblacsCinit.so.1 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libzmumps-4.10.0.so /usr/lib64/atlas/liblapack.so.3 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libzmumps-4.10.0.so /lib64/libpord-4.10.0.so > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libzmumps-4.10.0.so /lib64/libgcc_s.so.1 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libzmumps-4.10.0.so /lib64/libquadmath.so.0 > MUMPS.x86_64: W: unstripped-binary-or-object /usr/lib64/MUMPS/dsimpletest > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libsmumps-4.10.0.so libmpi_f77.so.1 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libsmumps-4.10.0.so libmpi.so.1 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libsmumps-4.10.0.so libopen-rte.so.4 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libsmumps-4.10.0.so libopen-pal.so.4 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libsmumps-4.10.0.so libscalapack.so.1 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libsmumps-4.10.0.so libmpiblacs.so.1 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libsmumps-4.10.0.so libmpiblacsF77init.so.1 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libsmumps-4.10.0.so libmpiblacsCinit.so.1 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libsmumps-4.10.0.so /usr/lib64/atlas/liblapack.so.3 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libsmumps-4.10.0.so /lib64/libpord-4.10.0.so > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libsmumps-4.10.0.so /lib64/libgcc_s.so.1 > MUMPS.x86_64: W: unused-direct-shlib-dependency > /usr/lib64/libsmumps-4.10.0.so /lib64/libquadmath.so.0 > 4 packages and 0 specfiles checked; 1 errors, 61 warnings. > # echo 'rpmlint-done:' > 'unused-direct-shlib-dependency' warnings seem the origin of dependency problems during installation. Sincerely, I don't know how resolve them. After a searching, it seems that the flags '-Wl --as-needed' can be useful but it seems me they do not work. Spec URL: http://sagitter.fedorapeople.org/MUMPS/MUMPS.spec SRPM URL: http://sagitter.fedorapeople.org/MUMPS/MUMPS-4.10.0-2.fc18.src.rpm
> > 4. Please make a examples subpackage with the examples subdir, verify > > the README there, and validate it works. *OR* make of the examples > > subdirectory a %check section. This would help a reviewer to press > > "x" in the "Package functions as described" field. > > I've added a 'examples' sub-package that contains README and all > 'simpletest' files. But it seems to exist another problem by executing them: > > $ ./ssimpletest < input_simpletest_real > ./ssimpletest: error while loading shared libraries: libmpi_f77.so.1: cannot > open shared object file: No such file or directory You probably need write some wrapper script(s) to "module load mpi" $ cd BUILD/MUMPS_4.10.0/examples/ $ ./ssimpletest < input_simpletest_real ./ssimpletest: error while loading shared libraries: libmpi_f77.so.1: cannot open shared object file: No such file or directory $ module load mpi $ ./ssimpletest < input_simpletest_real ERROR in MPI_ALLREDUCE, DATATYPE= 7 $ ./dsimpletest < input_simpletest_real ERROR in MPI_ALLREDUCE, DATATYPE= 7 $ mpirun -np 2 ./ssimpletest < input_simpletest_real ERROR in MPI_ALLREDUCE, DATATYPE= 7 ERROR in MPI_ALLREDUCE, DATATYPE= 7 It appears to not be working... [...] > > MUMPS.x86_64: W: unused-direct-shlib-dependency > > /usr/lib64/libsmumps-4.10.0.so /lib64/libquadmath.so.0 > > 4 packages and 0 specfiles checked; 1 errors, 61 warnings. > > # echo 'rpmlint-done:' > > > > 'unused-direct-shlib-dependency' warnings seem the origin of dependency > problems during installation. > Sincerely, I don't know how resolve them. After a searching, it seems that > the flags '-Wl --as-needed' can be useful but it seems me they do not work. I am not sure about this either, using the last example, the the link command line does not have an explicit -lquadmath, and it should not be linked by gfotran: $ grep quadmath /usr/lib/gcc/x86_64-redhat-linux/4.8.0/libgfortran.spec *lib: %{static-libgfortran:--as-needed} -lquadmath %{static-libgfortran:--no-as-needed} -lm %(libgcc) %(liborig) but something is pulling it. the link command line is: gfortran -shared smumps_part1.o smumps_part2.o smumps_part3.o smumps_part4.o smumps_part5.o smumps_part6.o smumps_part7.o smumps_part8.o smumps_comm_buffer.o smumps_load.o smumps_c.o smumps_ooc_buffer.o smumps_ooc.o smumps_struc_def.o -Wl,-soname,libsmumps-4.10.0.so -L../lib -lmumps_common -L../PORD/lib/ -lpord -L../libseq -lmpiseq -lblas -o ../lib/libsmumps-4.10.0.so -Wl,-z,defs
(In reply to comment #6) > > [...] > > > MUMPS.x86_64: W: unused-direct-shlib-dependency > > > /usr/lib64/libsmumps-4.10.0.so /lib64/libquadmath.so.0 > > > 4 packages and 0 specfiles checked; 1 errors, 61 warnings. > > > # echo 'rpmlint-done:' > > > > > > > 'unused-direct-shlib-dependency' warnings seem the origin of dependency > > problems during installation. > > Sincerely, I don't know how resolve them. After a searching, it seems that > > the flags '-Wl --as-needed' can be useful but it seems me they do not work. > > I am not sure about this either, using the last example, the the link command > line does not have an explicit -lquadmath, and it should not be linked by > gfotran: > > $ grep quadmath /usr/lib/gcc/x86_64-redhat-linux/4.8.0/libgfortran.spec > *lib: %{static-libgfortran:--as-needed} -lquadmath > %{static-libgfortran:--no-as-needed} -lm %(libgcc) %(liborig) > > but something is pulling it. > > the link command line is: > > gfortran -shared smumps_part1.o smumps_part2.o smumps_part3.o smumps_part4.o > smumps_part5.o smumps_part6.o smumps_part7.o smumps_part8.o > smumps_comm_buffer.o smumps_load.o smumps_c.o smumps_ooc_buffer.o > smumps_ooc.o smumps_struc_def.o -Wl,-soname,libsmumps-4.10.0.so -L../lib > -lmumps_common -L../PORD/lib/ -lpord -L../libseq -lmpiseq -lblas -o > ../lib/libsmumps-4.10.0.so -Wl,-z,defs Do you think we can't do nothing ?
I think the command line is somewhat messed, and should add linker (-Wl) commands before objects, but the -Wl,soname... last in the command line. Order of options (usually) matter when linking. If adding -Wl,-as-needed, it should also come before objects, or it would not consider the object files specified after it, and you would have an underlink issue instead of overlink. Why it must be called libsmumps-4.10.0.so and not libsmumps.so.4.10.0 ?
(In reply to comment #8) > I think the command line is somewhat messed, and > should add linker (-Wl) commands before objects, but > the -Wl,soname... last in the command line. Order > of options (usually) matter when linking. If > adding -Wl,-as-needed, it should also come > before objects, or it would not consider the object > files specified after it, and you would have an > underlink issue instead of overlink. > > Why it must be called libsmumps-4.10.0.so and not > libsmumps.so.4.10.0 ? At this point, I'm blocked by my knowledges which are limited in this field. You think I had to study for a long time how Makefile.inc are used during compilation and probably it would have not been so difficult for an expert programmer. About command line flags, I've not idea why he who has written the patches then has arranged those flags in that way. :) How would you write that line ?
(In reply to comment #9) > At this point, I'm blocked by my knowledges which are limited in this field. > You think I had to study for a long time how Makefile.inc are used during > compilation and probably it would have not been so difficult for an expert > programmer. I think you should focus first on getting the examples to show something more helpful :-) The error messages ERROR in MPI_ALLREDUCE, DATATYPE= 7 are not much encouraging. > About command line flags, I've not idea why he who has written the patches > then has arranged those flags in that way. :) Usually this is not much of an issue, and it it only a rpmlint warning. There is a small chance of problems if one intends to run debian binaries in fedora if changing the soname to match the package version, so, probably better to not let it be the cause of incompatibility. > How would you write that line ? I would experiment a bit, no ready response, but I would at first move the -Wl,-z,defs earlier in the command line, and ensure any -L and -l are before object file names, and also add -Wl,-as-needed. BTW, you should not hardcode CFLAGS in the SOURCEX Makefile.*, and instead patch them. Could add a regex pattern there like @@CFLAGS@@, and in the spec run sed -e 's|@@CFLAGS@@|%{optflags}|g' -i Makefile.*
(In reply to comment #10) > (In reply to comment #9) > > At this point, I'm blocked by my knowledges which are limited in this field. > > You think I had to study for a long time how Makefile.inc are used during > > compilation and probably it would have not been so difficult for an expert > > programmer. > > I think you should focus first on getting the examples > to show something more helpful :-) The error messages > ERROR in MPI_ALLREDUCE, DATATYPE= 7 > are not much encouraging. > Hi Paulo. I have contacted maintainer team about this error: https://listes.ens-lyon.fr/sympa/arc/mumps-users/2013-02/msg00030.html This error may be tied with the fake 'mpi.h' file included in the source. I think I'm not able to take on these issues, if you want take this package, I would agree. Or in case I can co-maintain it with you.
Spec URL: http://sagitter.fedorapeople.org/MUMPS/MUMPS.spec SRPM URL: http://sagitter.fedorapeople.org/MUMPS/MUMPS-4.10.0-3.fc18.src.rpm - Following the upstream indications, I've linked openmpi header/libs files to build sequential version. This seems fix the examples' errors :D : $ mpirun -np 2 ./ssimpletest < input_simpletest_real Entering SMUMPS driver with JOB, N, NZ = 6 5 12 SMUMPS 4.10.0 L U Solver for unsymmetric matrices Type of parallelism: Working host ****** ANALYSIS STEP ******** ... Structural symmetry (in percent)= 92 Density: NBdense, Average, Median = 0 2 1 ... No column permutation Ordering based on AMF Leaving analysis phase with ... INFOG(1) = 0 INFOG(2) = 0 -- (20) Number of entries in factors (estim.) = 15 -- (3) Storage of factors (REAL, estimated) = 15 -- (4) Storage of factors (INT , estimated) = 50 -- (5) Maximum frontal size (estimated) = 3 -- (6) Number of nodes in the tree = 3 -- (32) Type of analysis effectively used = 1 -- (7) Ordering option effectively used = 2 ICNTL(6) Maximum transversal option = 0 ICNTL(7) Pivot order option = 7 Percentage of memory relaxation (effective) = 20 Number of level 2 nodes = 0 Number of split nodes = 0 RINFOG(1) Operations during elimination (estim)= 1.900D+01 ** Rank of proc needing largest memory in IC facto : 0 ** Estimated corresponding MBYTES for IC facto : 1 ** Estimated avg. MBYTES per work. proc at facto (IC) : 1 ** TOTAL space in MBYTES for IC factorization : 2 ** Rank of proc needing largest memory for OOC facto : 0 ** Estimated corresponding MBYTES for OOC facto : 1 ** Estimated avg. MBYTES per work. proc at facto (OOC) : 1 ** TOTAL space in MBYTES for OOC factorization : 2 ****** FACTORIZATION STEP ******** GLOBAL STATISTICS PRIOR NUMERICAL FACTORIZATION ... NUMBER OF WORKING PROCESSES = 2 OUT-OF-CORE OPTION (ICNTL(22)) = 0 REAL SPACE FOR FACTORS = 15 INTEGER SPACE FOR FACTORS = 50 MAXIMUM FRONTAL SIZE (ESTIMATED) = 3 NUMBER OF NODES IN THE TREE = 3 Convergence error after scaling for ONE-NORM (option 7/8) = 0.38D+00 Maximum effective relaxed size of S = 147 Average effective relaxed size of S = 143 GLOBAL TIME FOR MATRIX DISTRIBUTION = 0.0000 ** Memory relaxation parameter ( ICNTL(14) ) : 20 ** Rank of processor needing largest memory in facto : 0 ** Space in MBYTES used by this processor for facto : 1 ** Avg. Space in MBYTES per working proc during facto : 1 ELAPSED TIME FOR FACTORIZATION = 0.0008 Maximum effective space used in S (KEEP8(67) = 12 Average effective space used in S (KEEP8(67) = 8 ** EFF Min: Rank of processor needing largest memory : 0 ** EFF Min: Space in MBYTES used by this processor : 1 ** EFF Min: Avg. Space in MBYTES per working proc : 1 GLOBAL STATISTICS RINFOG(2) OPERATIONS IN NODE ASSEMBLY = 2.000D+00 ------(3) OPERATIONS IN NODE ELIMINATION= 1.900D+01 INFOG (9) REAL SPACE FOR FACTORS = 15 INFOG(10) INTEGER SPACE FOR FACTORS = 50 INFOG(11) MAXIMUM FRONT SIZE = 3 INFOG(29) NUMBER OF ENTRIES IN FACTORS = 15 INFOG(12) NB OF OFF DIAGONAL PIVOTS = 0 INFOG(13) NUMBER OF DELAYED PIVOTS = 0 INFOG(14) NUMBER OF MEMORY COMPRESS = 0 KEEP8(108) Extra copies IP stacking = 0 ****** SOLVE & CHECK STEP ******** STATISTICS PRIOR SOLVE PHASE ........... NUMBER OF RIGHT-HAND-SIDES = 1 BLOCKING FACTOR FOR MULTIPLE RHS = 1 ICNTL (9) = 1 --- (10) = 0 --- (11) = 0 --- (20) = 0 --- (21) = 0 --- (30) = 0 ** Rank of processor needing largest memory in solve : 0 ** Space in MBYTES used by this processor for solve : 0 ** Avg. Space in MBYTES per working proc during solve : 0 Solution is 1.00000048 2.00000024 3.00000000 4.00000000 4.99999952 Entering SMUMPS driver with JOB, N, NZ = -2 5 12 - New warnings appear when MUMPS is installed: MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so blacs_gridexit_ I think they are caused by the same problems of 'unused-direct-shlib-dependency' warnings.
(In reply to comment #11) > (In reply to comment #10) > > (In reply to comment #9) > > > At this point, I'm blocked by my knowledges which are limited in this field. > > > You think I had to study for a long time how Makefile.inc are used during > > > compilation and probably it would have not been so difficult for an expert > > > programmer. > > > > I think you should focus first on getting the examples > > to show something more helpful :-) The error messages > > ERROR in MPI_ALLREDUCE, DATATYPE= 7 > > are not much encouraging. > > > > Hi Paulo. Hi Antonio, > I have contacted maintainer team about this error: > https://listes.ens-lyon.fr/sympa/arc/mumps-users/2013-02/msg00030.html > > This error may be tied with the fake 'mpi.h' file included in the source. > > I think I'm not able to take on these issues, if you want take this package, > I would agree. > Or in case I can co-maintain it with you. You can do it :-) I even assigned the bug to myself so I could act as your sponsor. I suggest you add a %check in the spec, somewhat like: %check module load mpi LD_LIBRARY_PATH=$PWD:../libmumps_seq:$LD_LIBRARY_PATH ./ssimpletest < input_simpletest_real LD_LIBRARY_PATH=$PWD:../lib:$LD_LIBRARY_PATH mpirun -np 2 ./ssimpletest < input_simpletest_real I think it should also have some proper clarification of when and how libmpiseq-4.10.0.so is used, also, it does not have a "simpler" libmpiseq.so symlink to it like the other libraries generated. Is it really required to generate the "sequential" mumps in the Fedora environment? If yes, maybe should also make a different examples build exercising it. If not, probably could simplify significantly the spec by making only the "non sequential" build. About the blacs_gridexit_ it is defined at: $ objdump -T /usr/lib64/openmpi/lib/libmpiblacs.so.1| grep blacs_gridexit_ 0000000000009d40 g DF .text 0000000000000103 Base blacs_gridexit_ and libzmumps.so is linked to it, so, it looks more likely rpmlint does not resolve it because it did not run "module load mpi" in its environment.
(In reply to comment #13) > > You can do it :-) > > I even assigned the bug to myself so I could act as your sponsor. Great ! :D > > I suggest you add a %check in the spec, somewhat like: > > %check > module load mpi > LD_LIBRARY_PATH=$PWD:../libmumps_seq:$LD_LIBRARY_PATH ./ssimpletest < > input_simpletest_real > LD_LIBRARY_PATH=$PWD:../lib:$LD_LIBRARY_PATH mpirun -np 2 ./ssimpletest < > input_simpletest_real Done. Spec URL: http://sagitter.fedorapeople.org/MUMPS/MUMPS.spec SRPM URL: http://sagitter.fedorapeople.org/MUMPS/MUMPS-4.10.0-3.fc18.src.rpm > > I think it should also have some proper clarification of when and > how libmpiseq-4.10.0.so is used, also, it does not have a "simpler" > libmpiseq.so symlink to it like the other libraries generated. Is it > really required to generate the "sequential" mumps in the Fedora > environment? > If yes, maybe should also make a different examples build exercising it. > If not, probably could simplify significantly the spec by making only > the "non sequential" build. Well, this is what's reported in README file: Sequential version ------------------ You can use the parallel MPI version of MUMPS on a single processor. If you only plan to use MUMPS on a uniprocessor machine, and do not want to install parallel libraries such as MPI, ScaLAPACK, etc... then it might be more convenient to use one of the Makefile.<ARCH>.SEQ to build a sequential version of MUMPS instead of a parallel one. It seems me that can be used the only parallel version. Hold the sequential one can be an option.
You should bump the release for every review request update, that is, the last one should be Release 4. Things that still should be done include: 1. You added sed -e 's|@@CFLAGS@@|%{optflags}|g' -i Makefile.inc to the spec as I suggested, but it is pointless, because SOURCE1 (Makefile.seq.inc) and SOURCE2 (Makefile.par.inc) still hardcode CFLAGS, that is, you should change those to the pseudo patch: -OPTC = -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 +OPTC = -@@CFLAGS@@ 2. Following above, the OPTF variable should also use %{optflags}, and not the hardcoded "-O -Dintel_ -DALLOW_NON_INIT" that is, should replace the -O with %{optflags}. 3. The variable OPTL appears to be the best place to use -Wl,-as-needed, that is, the pseudo patch: -OPTL = -O -OPTL = -Wl,-as-needed About the sequential vs parallel versions, it may not be a runtime choice, so, should also build a version of the examples using it the "seq" libraries, and test them. Should be something like: cp -ar examples examples.seq sed -e 's|libdir = $(topdir)/lib|libdir = $(topdir)/libmums_seq' -i examples.seq/Makefile This would also need some extra patching to add a examples.seq target to the toplevel Makefile. Oterhwise, you cannot know if the sequential packages and libraries are functional. I can see the "seq" libraries as an option when there is no functional mpi, otherwise, I think it would be easier to just build the parallel version. Either way, I think it is doing a bogus build in the libmumps_seq directory, because, if I understand it correctly, libmpiseq-4.10.0.so should be a wrapper to not need to link to the mpi libraries, but every other library in that directory is linked to the mpi libraries. And these chunks are duplicated in the spec for the "seq" and "par" builds: MUMPS_MPI=openmpi MUMPS_INCDIR=-I/usr/include/openmpi-%{_arch} MUMPS_LIBF77="\ -L%{_libdir}/openmpi -L%{_libdir}/openmpi/lib \ -lmpi_f77 -lmpi -lopen-rte \ -lopen-pal -lscalapack -lmpiblacs \ -lmpiblacsF77init -lmpiblacsCinit -llapack" make MUMPS_MPI="$MUMPS_MPI" \ MUMPS_INCDIR="$MUMPS_INCDIR" \ MUMPS_LIBF77="$MUMPS_LIBF77" \ all Maybe the libraries should not be explicitly linked to the mpi libraries? And only actual binaries linked to; hmm, sanity tells it should be other way around to allow runtime choice, so, the MUMPS-seq package should include the libraries in the libmumps_seq directory (and those cannot be linked to mpi, but to libmpiseq-4.10.0.so), and then, have the 2 packages conflict with each other, or use alternatives or environment-modules to allow both to be installed at the same time. Long history short, for the sake of review, I would be satisfied if you do the simpler approach of dropping the "seq" build, and only do the "par" build.
(In reply to comment #15) > You should bump the release for every review request update, > that is, the last one should be Release 4. Yes. > > Things that still should be done include: > > 1. You added > sed -e 's|@@CFLAGS@@|%{optflags}|g' -i Makefile.inc > to the spec as I suggested, but it is pointless, because > SOURCE1 (Makefile.seq.inc) and SOURCE2 (Makefile.par.inc) > still hardcode CFLAGS, that is, you should change those > to the pseudo patch: > -OPTC = -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions > -fstack-protector --param=ssp-buffer-size=4 > +OPTC = -@@CFLAGS@@ > > 2. Following above, the OPTF variable should also use > %{optflags}, and not the hardcoded "-O -Dintel_ -DALLOW_NON_INIT" > that is, should replace the -O with %{optflags}. Done. > > 3. The variable OPTL appears to be the best place to use > -Wl,-as-needed, that is, the pseudo patch: > -OPTL = -O > -OPTL = -Wl,-as-needed Okay but I don't know where impose this flags. > > Long history short, for the sake of review, I would > be satisfied if you do the simpler approach of > dropping the "seq" build, and only do the "par" > build. I agree. I remove 'seq' sub-package building.
(In reply to comment #16) > > > > > 3. The variable OPTL appears to be the best place to use > > -Wl,-as-needed, that is, the pseudo patch: > > -OPTL = -O > > -OPTL = -Wl,-as-needed > These flags now are inserted directly in 'shared-mumps.patch' for 'libopen-pal' and 'libopen-rte' libraries expressly indicated; this repairs the problem during installation already mentioned since first comment (#1). As well it repairs 'unused-direct-shlib-dependency' warnings already mentioned in comment#4: > MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so libopen-pal.so.4 > MUMPS.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so libopen-pal.so.4 Furthermore, I've added '-Wuninitialized -Wno-maybe-uninitialized' in shared-mumps.patch to silence '-Wmaybe-uninizialized' warnings. Spec URL: http://sagitter.fedorapeople.org/MUMPS/MUMPS.spec SRPM URL: http://sagitter.fedorapeople.org/MUMPS/MUMPS-4.10.0-6.fc18.src.rpm
Almost there, should be close to done now :-) 1. Development (unversioned) .so files in -devel subpackage, if present. Note: Unversioned so-files directly in %_libdir. --- You got it reversed :-) lib*-%{version}.so should go in the main package, and lib*.so should go in the -devel package, example: $ file /usr/lib64/libcmumps.so /usr/lib64/libcmumps.so: symbolic link to `/usr/lib64/libcmumps-4.10.0.so' $ rpm -qf /usr/lib64/libcmumps.so /usr/lib64/libcmumps-4.10.0.so MUMPS-4.10.0-6.fc19.x86_64 MUMPS-devel-4.10.0-6.fc19.x86_64 2. Large documentation must go in a -doc subpackage. Note: Documentation size is 1669120 bytes in 6 files. --- I suggest not installing the .ps file, and then up to you if creating or not a -doc package just for the .pdf. Since this packge is expected to be a dependency of others, probably a good idea do create a -doc package. The ChangeLog file should go to the -devel package also. 3. SourceX / PatchY prefixed with %{name}. Note: Patch0 (examples-mpilibs.patch) Patch1 (shared-pord.patch) Source1 (Makefile.par.inc) Patch2 (shared-mumps.patch) --- You may rename the sources to prefix it with MUMPS-, but it is optional (just to reduce the number the warnings) ============================ Extra: 1. Add openssh-clients to BuildRequires, optionally making all the %check conditional. Google'ing a bit I found the reason it would fail by missing ssh or rsh: http://www.open-mpi.org/community/lists/users/2010/07/13503.php 2. About the undefined-non-weak-symbol and unused-direct-shlib-dependency, unless someone else has some comments, I believe it is ok, as the package is functional. And it appears bogus, for example. it tells: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so libmpi_f77.so.1 and then W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_reduce_ but the mpi_reduce_ symbol is defined in libmpi_f77.so.1 The warning should be either because of the mpi libraries not in LD_LIBRARY_PATH at rpmlint runtime, or maybe (unlikely) because of the reversed links in the main package and libraries in the -devel one as explained above. ---- Package Review ============== Key: [x] = Pass [!] = Fail [-] = Not applicable [?] = Not evaluated [ ] = Manual review needed Issues: ======= [!]: Development (unversioned) .so files in -devel subpackage, if present. Note: Unversioned so-files directly in %_libdir. See: http://fedoraproject.org/wiki/Packaging/Guidelines#DevelPackages [!]: Large documentation must go in a -doc subpackage. Note: Documentation size is 1669120 bytes in 6 files. See: http://fedoraproject.org/wiki/Packaging/Guidelines#PackageDocumentation ===== MUST items ===== C/C++: [x]: Header files in -devel subpackage, if present. [x]: Package does not contain any libtool archives (.la) [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [x]: Rpath absent or only used for internal libs. [!]: Development (unversioned) .so files in -devel subpackage, if present. Note: Unversioned so-files directly in %_libdir. 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]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: %build honors applicable compiler flags or justifies otherwise. [x]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [x]: Package contains no bundled libraries. [x]: Changelog in prescribed format. [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Sources contain only permissible code or content. [x]: Each %files section contains %defattr if rpm < 4.4 [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Package contains desktop file if it is a GUI application. [x]: Development files must be in a -devel package [x]: Package requires other packages for directories it uses. [x]: Package uses nothing in %doc for runtime. [x]: Package is not known to require ExcludeArch. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Fully versioned dependency in subpackages, if present. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in %package devel, %package examples [x]: Package complies to the Packaging Guidelines [x]: Spec file lacks Packager, Vendor, PreReq tags. [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 %doc. [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". 1 files have unknown license. Detailed output of licensecheck in /home/pcpa/review-MUMPS/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [x]: Package consistently uses macro is (instead of hard-coded directory names). [x]: Package is named using only allowed ASCII characters. [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. Note: Package contains no Conflicts: tag(s) [x]: Package do not use a name that already exist [x]: Package obeys FHS, except libexecdir and /usr/target. [x]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Package must own all directories that it creates. [x]: Package does not own files or directories owned by other packages. [x]: Package installs properly. [x]: Package is not relocatable. [x]: Requires correct, justified where necessary. [x]: CheckResultdir [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file is legible and written in American English. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: Package contains systemd file(s) if in need. [x]: File names are valid UTF-8. [x]: Useful -debuginfo package or justification otherwise. [!]: Large documentation must go in a -doc subpackage. Note: Documentation size is 1669120 bytes in 6 files. [x]: Packages must not store files under /srv, /opt or /usr/local ===== SHOULD items ===== Generic: [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]: 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]: Dist tag is present. [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Final provides and requires are sane (rpm -q --provides and rpm -q --requires). [x]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [x]: Patches link to upstream bugs/comments/lists or are otherwise justified. [x]: The placement of pkgconfig(.pc) files are correct. [x]: Scriptlets must be sane, if used. [x]: SourceX tarball generation or download is documented. [!]: SourceX / PatchY prefixed with %{name}. Note: Patch0 (examples-mpilibs.patch) Patch1 (shared-pord.patch) Source1 (Makefile.par.inc) Patch2 (shared-mumps.patch) [x]: SourceX is a working URL. [x]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [x]: 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]: Spec use %global instead of %define. ===== EXTRA items ===== Generic: [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. Note: Arch-ed rpms have a total of 1669120 bytes in /usr/share 1658880 MUMPS-4.10.0-6.fc18.x86_64.rpm 10240 MUMPS- examples-4.10.0-6.fc18.x86_64.rpm Rpmlint ------- Checking: MUMPS-4.10.0-6.fc18.src.rpm MUMPS-devel-4.10.0-6.fc18.x86_64.rpm MUMPS-debuginfo-4.10.0-6.fc18.x86_64.rpm MUMPS-4.10.0-6.fc18.x86_64.rpm MUMPS-examples-4.10.0-6.fc18.x86_64.rpm MUMPS-devel.x86_64: W: shared-lib-calls-exit /usr/lib64/libpord-4.10.0.so exit.5 MUMPS-devel.x86_64: W: shared-lib-calls-exit /usr/lib64/libmumps_common-4.10.0.so exit.5 MUMPS-devel.x86_64: W: no-documentation MUMPS.x86_64: E: no-binary MUMPS-examples.x86_64: E: script-without-shebang /usr/lib64/MUMPS-examples/input_simpletest_real MUMPS-examples.x86_64: E: script-without-shebang /usr/lib64/MUMPS-examples/input_simpletest_cmplx 5 packages and 0 specfiles checked; 3 errors, 3 warnings. Rpmlint (installed packages) ---------------------------- # rpmlint MUMPS-examples MUMPS-debuginfo MUMPS-devel MUMPS MUMPS-examples.x86_64: E: script-without-shebang /usr/lib64/MUMPS-examples/input_simpletest_real MUMPS-examples.x86_64: E: script-without-shebang /usr/lib64/MUMPS-examples/input_simpletest_cmplx MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_reduce_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_abort_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_comm_rank_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_wtime_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_allreduce_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_get_processor_name_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_bcast_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_reduce_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_type_free_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_pack_size_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_type_commit_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_isend_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_comm_split_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_get_count_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so numroc_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_test_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so blacs_gridinit_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_iprobe_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_comm_rank_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_gather_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_wait_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_initialized_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_reduce_scatter_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_waitall_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_ssend_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_unpack_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_irecv_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so psgetrf_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_alltoall_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_cancel_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_pack_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_barrier_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so pspotrf_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_probe_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_recv_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_comm_free_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_request_free_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_send_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so psgetrs_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so blacs_gridinfo_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_op_free_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_gatherv_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so descinit_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_allreduce_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so blacs_gridexit_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_op_create_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_comm_size_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_type_contiguous_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_comm_dup_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so pspotrs_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_waitany_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libsmumps-4.10.0.so mpi_bcast_ MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so libmpi_f77.so.1 MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so libmpi.so.1 MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so libscalapack.so.1 MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so libmpiblacs.so.1 MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so libmpiblacsF77init.so.1 MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so libmpiblacsCinit.so.1 MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so /usr/lib64/atlas/liblapack.so.3 MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_reduce_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_abort_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_comm_rank_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_wtime_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_allreduce_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_get_processor_name_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_bcast_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_reduce_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_type_free_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_pack_size_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_type_commit_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_isend_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_comm_split_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_get_count_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so numroc_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_test_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so blacs_gridinit_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_iprobe_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_comm_rank_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_gather_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_wait_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so pdpotrs_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_initialized_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_reduce_scatter_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_waitall_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_ssend_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_unpack_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_irecv_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so pdgetrf_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_alltoall_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_cancel_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_pack_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_barrier_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_probe_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_recv_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_comm_free_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_request_free_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_send_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so blacs_gridinfo_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_op_free_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_gatherv_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so descinit_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_allreduce_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so blacs_gridexit_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_op_create_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_comm_size_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so pdpotrf_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so pdgetrs_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_type_contiguous_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_comm_dup_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_waitany_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_bcast_ MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so libmpi_f77.so.1 MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so libmpi.so.1 MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so libscalapack.so.1 MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so libmpiblacs.so.1 MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so libmpiblacsF77init.so.1 MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so libmpiblacsCinit.so.1 MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libdmumps-4.10.0.so /usr/lib64/atlas/liblapack.so.3 MUMPS-devel.x86_64: W: shared-lib-calls-exit /usr/lib64/libpord-4.10.0.so exit.5 MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_reduce_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_abort_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_comm_rank_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_wtime_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_allreduce_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_get_processor_name_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_bcast_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_reduce_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_type_free_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_pack_size_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_type_commit_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_isend_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_comm_split_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_get_count_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so numroc_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_test_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so blacs_gridinit_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_iprobe_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_comm_rank_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_gather_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_wait_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_initialized_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_reduce_scatter_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_waitall_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_ssend_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_unpack_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so pcgetrf_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_irecv_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_alltoall_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so pcpotrs_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_cancel_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_pack_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_barrier_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_probe_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_recv_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_comm_free_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so pcpotrf_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_request_free_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_send_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so blacs_gridinfo_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_op_free_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_gatherv_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so descinit_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_allreduce_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so blacs_gridexit_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_op_create_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so pcgetrs_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_comm_size_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_type_contiguous_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_comm_dup_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_waitany_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libcmumps-4.10.0.so mpi_bcast_ MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so libmpi_f77.so.1 MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so libmpi.so.1 MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so libscalapack.so.1 MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so libmpiblacs.so.1 MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so libmpiblacsF77init.so.1 MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so libmpiblacsCinit.so.1 MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libcmumps-4.10.0.so /usr/lib64/atlas/liblapack.so.3 MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libmumps_common-4.10.0.so mpi_reduce_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libmumps_common-4.10.0.so mpi_abort_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libmumps_common-4.10.0.so mpi_comm_rank_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libmumps_common-4.10.0.so mpi_wtime_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libmumps_common-4.10.0.so mpi_allreduce_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libmumps_common-4.10.0.so mpi_get_processor_name_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libmumps_common-4.10.0.so mpi_bcast_ MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libmumps_common-4.10.0.so libmpi_f77.so.1 MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libmumps_common-4.10.0.so libmpi.so.1 MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libmumps_common-4.10.0.so libscalapack.so.1 MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libmumps_common-4.10.0.so libmpiblacs.so.1 MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libmumps_common-4.10.0.so libmpiblacsF77init.so.1 MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libmumps_common-4.10.0.so libmpiblacsCinit.so.1 MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libmumps_common-4.10.0.so /usr/lib64/atlas/liblapack.so.3 MUMPS-devel.x86_64: W: shared-lib-calls-exit /usr/lib64/libmumps_common-4.10.0.so exit.5 MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_reduce_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_abort_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_comm_rank_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_wtime_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_allreduce_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_get_processor_name_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_bcast_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_reduce_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_type_free_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_pack_size_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_type_commit_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_isend_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_comm_split_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_get_count_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so numroc_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_test_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so blacs_gridinit_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_iprobe_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_comm_rank_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_gather_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_wait_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so pzpotrs_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_initialized_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_reduce_scatter_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so pzpotrf_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_waitall_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_ssend_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_unpack_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_irecv_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_alltoall_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_cancel_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_pack_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_barrier_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_probe_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_recv_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_comm_free_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_request_free_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_send_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so blacs_gridinfo_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_op_free_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_gatherv_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so descinit_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_allreduce_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so pzgetrf_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so blacs_gridexit_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_op_create_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_comm_size_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_type_contiguous_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so pzgetrs_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_comm_dup_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_waitany_ MUMPS-devel.x86_64: W: undefined-non-weak-symbol /usr/lib64/libzmumps-4.10.0.so mpi_bcast_ MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so libmpi_f77.so.1 MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so libmpi.so.1 MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so libscalapack.so.1 MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so libmpiblacs.so.1 MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so libmpiblacsF77init.so.1 MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so libmpiblacsCinit.so.1 MUMPS-devel.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libzmumps-4.10.0.so /usr/lib64/atlas/liblapack.so.3 MUMPS-devel.x86_64: W: no-documentation MUMPS.x86_64: E: no-binary 4 packages and 0 specfiles checked; 3 errors, 253 warnings. # echo 'rpmlint-done:' Requires -------- MUMPS-devel-4.10.0-6.fc18.x86_64.rpm (rpmlib, GLIBC filtered): /sbin/ldconfig MUMPS(x86-64) = 4.10.0-6.fc18 libblas.so.3()(64bit) libc.so.6()(64bit) libgfortran.so.3()(64bit) libgfortran.so.3(GFORTRAN_1.0)(64bit) libgfortran.so.3(GFORTRAN_1.4)(64bit) liblapack.so.3()(64bit) libm.so.6()(64bit) libmpi.so.1()(64bit) libmpi_f77.so.1()(64bit) libmpiblacs.so.1()(64bit) libmpiblacsCinit.so.1()(64bit) libmpiblacsF77init.so.1()(64bit) libmumps_common-4.10.0.so()(64bit) libpord-4.10.0.so()(64bit) libpthread.so.0()(64bit) libscalapack.so.1()(64bit) rtld(GNU_HASH) MUMPS-debuginfo-4.10.0-6.fc18.x86_64.rpm (rpmlib, GLIBC filtered): MUMPS-4.10.0-6.fc18.x86_64.rpm (rpmlib, GLIBC filtered): /sbin/ldconfig MUMPS-examples-4.10.0-6.fc18.x86_64.rpm (rpmlib, GLIBC filtered): MUMPS(x86-64) = 4.10.0-6.fc18 libc.so.6()(64bit) libcmumps-4.10.0.so()(64bit) libdmumps-4.10.0.so()(64bit) libgfortran.so.3()(64bit) libgfortran.so.3(GFORTRAN_1.0)(64bit) libgfortran.so.3(GFORTRAN_1.4)(64bit) libmpi_f77.so.1()(64bit) libsmumps-4.10.0.so()(64bit) libzmumps-4.10.0.so()(64bit) rtld(GNU_HASH) Provides -------- MUMPS-devel-4.10.0-6.fc18.x86_64.rpm: MUMPS-devel = 4.10.0-6.fc18 MUMPS-devel(x86-64) = 4.10.0-6.fc18 libcmumps-4.10.0.so()(64bit) libdmumps-4.10.0.so()(64bit) libmumps_common-4.10.0.so()(64bit) libpord-4.10.0.so()(64bit) libsmumps-4.10.0.so()(64bit) libzmumps-4.10.0.so()(64bit) MUMPS-debuginfo-4.10.0-6.fc18.x86_64.rpm: MUMPS-debuginfo = 4.10.0-6.fc18 MUMPS-debuginfo(x86-64) = 4.10.0-6.fc18 MUMPS-4.10.0-6.fc18.x86_64.rpm: MUMPS = 4.10.0-6.fc18 MUMPS(x86-64) = 4.10.0-6.fc18 MUMPS-examples-4.10.0-6.fc18.x86_64.rpm: MUMPS-examples = 4.10.0-6.fc18 MUMPS-examples(x86-64) = 4.10.0-6.fc18 Unversioned so-files -------------------- MUMPS-4.10.0-6.fc18.x86_64.rpm: /usr/lib64/libcmumps.so MUMPS-4.10.0-6.fc18.x86_64.rpm: /usr/lib64/libdmumps.so MUMPS-4.10.0-6.fc18.x86_64.rpm: /usr/lib64/libmumps_common.so MUMPS-4.10.0-6.fc18.x86_64.rpm: /usr/lib64/libpord.so MUMPS-4.10.0-6.fc18.x86_64.rpm: /usr/lib64/libsmumps.so MUMPS-4.10.0-6.fc18.x86_64.rpm: /usr/lib64/libzmumps.so MD5-sum check ------------- http://mumps.enseeiht.fr/MUMPS_4.10.0.tar.gz : CHECKSUM(SHA256) this package : d0f86f91a74c51a17a2ff1be9c9cee2338976f13a6d00896ba5b43a5ca05d933 CHECKSUM(SHA256) upstream package : d0f86f91a74c51a17a2ff1be9c9cee2338976f13a6d00896ba5b43a5ca05d933 Generated by fedora-review 0.3.1 (b71abc1) last change: 2012-10-16 Buildroot used: fedora-18-x86_64 Command line :/usr/bin/fedora-review -v -r -n MUMPS
(In reply to comment #18) > Almost there, should be close to done now :-) > > 1. Development (unversioned) .so files in -devel subpackage, if present. > Note: Unversioned so-files directly in %_libdir. > --- > You got it reversed :-) > lib*-%{version}.so should go in the main package, and > lib*.so should go in the -devel package, example: > $ file /usr/lib64/libcmumps.so > /usr/lib64/libcmumps.so: symbolic link to `/usr/lib64/libcmumps-4.10.0.so' > $ rpm -qf /usr/lib64/libcmumps.so /usr/lib64/libcmumps-4.10.0.so > MUMPS-4.10.0-6.fc19.x86_64 > MUMPS-devel-4.10.0-6.fc19.x86_64 > > > 2. Large documentation must go in a -doc subpackage. > Note: Documentation size is 1669120 bytes in 6 files. > --- > I suggest not installing the .ps file, and then up to you if > creating or not a -doc package just for the .pdf. Since this > packge is expected to be a dependency of others, probably a > good idea do create a -doc package. > The ChangeLog file should go to the -devel package also. > > 3. SourceX / PatchY prefixed with %{name}. > Note: Patch0 (examples-mpilibs.patch) Patch1 (shared-pord.patch) Source1 > (Makefile.par.inc) Patch2 (shared-mumps.patch) > --- > You may rename the sources to prefix it with MUMPS-, but it is > optional (just to reduce the number the warnings) > > ============================ > Extra: > 1. Add openssh-clients to BuildRequires, optionally making all the > %check conditional. Google'ing a bit I found the reason it would > fail by missing ssh or rsh: > http://www.open-mpi.org/community/lists/users/2010/07/13503.php > > 2. About the undefined-non-weak-symbol and unused-direct-shlib-dependency, > unless someone else has some comments, I believe it is ok, as the > package is functional. And it appears bogus, for example. it tells: > W: unused-direct-shlib-dependency /usr/lib64/libsmumps-4.10.0.so > libmpi_f77.so.1 > and then > W: undefined-non-weak-symbol /usr/lib64/libdmumps-4.10.0.so mpi_reduce_ > but the mpi_reduce_ symbol is defined in libmpi_f77.so.1 > The warning should be either because of the mpi libraries not in > LD_LIBRARY_PATH at rpmlint runtime, or maybe (unlikely) because of the > reversed links in the main package and libraries in the -devel one > as explained above. > > ---- > Fixed. :) Spec URL: http://sagitter.fedorapeople.org/MUMPS/MUMPS.spec SRPM URL: http://sagitter.fedorapeople.org/MUMPS/MUMPS-4.10.0-7.fc18.src.rpm
Only 2 minor issues: Add an ending "." to the description of the devel and examples packages. No need to %post and %postun in the devel subpackage; ldconfig should be run only in %post* of the actual library package.
(In reply to comment #20) > > No need to %post and %postun in the devel > subpackage; ldconfig should be run only in > %post* of the actual library package. Quote: If the package has multiple subpackages with libraries, each subpackage should also have a %post/%postun section that calls /sbin/ldconfig. http://fedoraproject.org/wiki/Packaging:Guidelines#Shared_Libraries I suppose that, in this case, it is useless since every sub-package depends by main one, so if I remove one of them, all will be removed and %post* will run at one time. Spec URL: http://sagitter.fedorapeople.org/MUMPS/MUMPS.spec SRPM URL: http://sagitter.fedorapeople.org/MUMPS/MUMPS-4.10.0-8.fc18.src.rpm Will you use this package for your 'coin-or-Ipopt' package ? Is it still necessary keep open my review request 908089 ? :)
> If the package has multiple subpackages with libraries, each subpackage > should also have a %post/%postun section that calls /sbin/ldconfig. Each (sub-)package that stores shared libs in run-time linker's (!) search path should have a %post/%postun section that calls ldconfig. You can play with "ldconfig -v" to see what it does after adding/removing shared libs. The -devel package contains no real libs but just softlinks. ldconfig doesn't care about those links.
> since every sub-package depends by main one, so if I remove one of them, > all will be removed and %post* will run at one time. It doesn't work like that. If you remove a subpackage that depends on the base package, the base package stays installed.
Thank you Michael for your clarification. :)
Antonio, I made my coin-or-Ipopt package work with your MUMPS package, it did require a bit of patching and several experimental builds to get it to work with an external, and parallel, not bundled, sequential MUMPS. See https://bugzilla.redhat.com/show_bug.cgi?id=894604 Well, I believe we should cooperate here, but not sure if it is not "cheating" if I give you the coin-or-Ipopt package so that I can review it :-) Either way, I think you can at least test your ascend package with your MUMPS package and my coin-or-Ipopt for now.
(In reply to comment #25) > Antonio, I made my coin-or-Ipopt package work with your > MUMPS package, it did require a bit of patching and > several experimental builds to get it to work with an > external, and parallel, not bundled, sequential MUMPS. > See https://bugzilla.redhat.com/show_bug.cgi?id=894604 Good! I close my Bug908089 and we can focus ourselves on coin-or-Ipopt. > > Well, I believe we should cooperate here, but not sure > if it is not "cheating" if I give you the coin-or-Ipopt > package so that I can review it :-) Waiting for someone else opinion. :) > > Either way, I think you can at least test your ascend > package with your MUMPS package and my coin-or-Ipopt > for now. Okay.
Antonio, welcome as a new Fedora packager :-) Please check https://fedoraproject.org/w/index.php?title=Join_the_package_collection_maintainers#Add_Package_to_Source_Code_Management_.28SCM.29_system_and_Set_Owner for the next steps, starting with requesting MUMPS to be added to git, create branches if you wish to make updates, e.g. build it also for f18. Feel free to ask me for any help in these initial steps. The MUMPS package is APPROVED.
New Package SCM Request ======================= Package Name: MUMPS Short Description: A MUltifrontal Massively Parallel sparse direct Solver Owners: sagitter Branches: f17 f18 f19 el6
Git done (by process-git-requests).
MUMPS-4.10.0-9.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/MUMPS-4.10.0-9.fc17
MUMPS-4.10.0-9.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/MUMPS-4.10.0-9.fc18
MUMPS-4.10.0-9.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/MUMPS-4.10.0-9.el6
MUMPS-4.10.0-9.el6 has been pushed to the Fedora EPEL 6 testing repository.
MUMPS-4.10.0-9.fc18 has been pushed to the Fedora 18 stable repository.
MUMPS-4.10.0-9.fc17 has been pushed to the Fedora 17 stable repository.
MUMPS-4.10.0-9.el6 has been pushed to the Fedora EPEL 6 stable repository.