https://bugzilla.redhat.com/show_bug.cgi?id=1350257 --- Comment #12 from Dave Love <d.love@xxxxxxxxxxxxxxx> --- OK, I've now spent some time looking at this and building it; sorry for the delay. The %() stuff needs removing. It can only work for things in the build root, and it's not necessary -- you can see errors in the build output and from rpmlint. I'd forgotten that I had a more recent cgns installed; the epel6 version won't work, and needs to be conditionalized out. I also found it needed a patch I'll attach to avoid a clash with complex.h. EPEL needs Require: openmpi%{_isa}, which I think is harmless elsewhere. MPI headers should be in $MPI_INCLUDE/include/petsc, similarly to the serial ones. The other instances of "environment(modules)" need conditionalizing for el6. Why is matplotlib required? What is the SETOPT_FLAGS=... business about? It looks wrong and everything seems to work without it. I still think it should use openblas (as below). I think it's better to remove use of pkg-config, which isn't necessary, and simplify the configure args. I think the spec would be lot more maintainable and easier to follow by simplifying it. I think the constant with_... conditions should be removed to start with -- add comments about what doesn't work where appropriate. You could abstract the common configure options and simplify them a lot, especially if you ensure the with_... macros are always defined. The following works for me (compacted a bit for posting): %global common_args --with-shared-libraries=1 \\\ --with-petsc-arch=%{_arch} --with-fortran-interfaces=1 --with-debugging=0 \\\ --with-precision=double --with-clanguage=C \\\ COPTFLAGS="$RPM_OPT_FLAGS -O3" CXXOPTFLAGS="$RPM_OPT_FLAGS -O3" \\\ FOPTFLAGS="$RPM_OPT_FLAGS -I%{_fmoddir} -O3" \\\ --with-gmp=1 --with-openmp=1 --with-libpng=1 --with-hwloc=1 --with-metis=1 \\\ %if %{with_cgns} \ --with-cgns=1 \\\ %endif \ --with-valgrind=1 --with-valgrind-dir=%{_prefix} --with-papi=1 \\\ %if 0%{?el6} \ --with-papi-include=%{_libdir}/papi-5.1.1/%{_includedir} --with-papi-lib=%{_libdir}/papi-5.1.1/%{_prefix}/lib/libpapi.so \\\ %else \ --with-papi-include=%{_includedir} --with-papi-lib=libpapi.so \\\ %endif \ %if %{with_suitesparse} \ --with-suitesparse=1 \\\ --with-suitesparse-include=%{_includedir}/suitesparse \\\ --with-suitesparse-lib=[libumfpack.so,libklu.so,libcholmod.so,libbtf.so,libccolamd.so,libcolamd.so,libcamd.so,libamd.so,libsuitesparseconfig.so] \\\ %endif \ %if %{with_superlu} && ! %{arch64} \ --with-superlu=1 \\\ --with-superlu-include=%{_includedir}/SuperLU \\\ --with-superlu-lib=libsuperlu.so \\\ %endif \ %if %{with_opencl} \ --with-opencl=1 \\\ %endif ... %if 0%{?with_openmpi} pushd buildopenmpi_dir %{_openmpi_load} %configure \ %{common_args} \ --with-blas-lib=libopenblas.so --with-lapack-lib=libopenblas.so \ --with-scalapack=1 --with-hdf5=1 \ %if %{with_netcdf} --with-netcdf=1 \ %endif --with-ptscotch=1 --with-hypre=1 --with-sundials=1 \ --with-hypre-include=$MPI_INCLUDE/hypre --with-hypre-lib=$MLI_LIB/hypre/libHYPRE.so make \ V=1 MAKE_NP=%{?_smp_mflags} PETSC_DIR=%{_builddir}/%{name}-%{version}/buildopenmpi_dir popd %{_openmpi_unload} %endif I guess it's worth adding the -O3 to restore vectorization over the RPM defaults. Assuming it's not going to be supported on el5, you could clean up the spec according to the packaging guidelines (no Group:, %clean etc.). I hope that doesn't seem too picky. I think it's worthwhile making the maintenance changes on something like this. (Some of the comments apply to my version too, as a result of looking at it again.) -- You are receiving this mail because: You are on the CC list for the bug. You are always notified about changes to this product and component _______________________________________________ package-review mailing list package-review@xxxxxxxxxxxxxxxxxxxxxxx https://lists.fedoraproject.org/admin/lists/package-review@xxxxxxxxxxxxxxxxxxxxxxx