Closed grantrostig closed 5 years ago
[diehlpk@xwing rpmbuild]$ dnf repoquery --depends hpx
Fedora Modular 29 - x86_64 11 kB/s | 18 kB 00:01
Fedora Modular 29 - x86_64 - Updates 12 kB/s | 17 kB 00:01
Fedora 29 - x86_64 - Updates 14 kB/s | 17 kB 00:01
Fedora 29 - x86_64 - Updates 3.0 MB/s | 21 MB 00:07
google-talkplugin 895 B/s | 951 B 00:01
RPM Fusion for Fedora 29 - Free - Updates 9.9 kB/s | 13 kB 00:01
RPM Fusion for Fedora 29 - Nonfree - Updates 9.8 kB/s | 13 kB 00:01
skype (stable) 4.8 kB/s | 2.9 kB 00:00
ld-linux-x86-64.so.2()(64bit)
ld-linux-x86-64.so.2(GLIBC_2.3)(64bit)
ld-linux.so.2
ld-linux.so.2(GLIBC_2.3)
libboost_atomic.so.1.66.0
libboost_atomic.so.1.66.0()(64bit)
libboost_filesystem.so.1.66.0
libboost_filesystem.so.1.66.0()(64bit)
libboost_program_options.so.1.66.0
libboost_program_options.so.1.66.0()(64bit)
libboost_regex.so.1.66.0
libboost_regex.so.1.66.0()(64bit)
libboost_system.so.1.66.0
libboost_system.so.1.66.0()(64bit)
libc.so.6(GLIBC_2.14)(64bit)
libc.so.6(GLIBC_2.28)
libdl.so.2
libdl.so.2()(64bit)
libdl.so.2(GLIBC_2.0)
libdl.so.2(GLIBC_2.1)
libdl.so.2(GLIBC_2.2.5)(64bit)
libdl.so.2(GLIBC_2.3.3)
libdl.so.2(GLIBC_2.3.3)(64bit)
libgcc_s.so.1
libgcc_s.so.1()(64bit)
libgcc_s.so.1(GCC_3.0)
libgcc_s.so.1(GCC_3.0)(64bit)
libgcc_s.so.1(GCC_3.3)
libgcc_s.so.1(GCC_3.3)(64bit)
libgcc_s.so.1(GLIBC_2.0)
libhwloc.so.5
libhwloc.so.5()(64bit)
libm.so.6
libm.so.6()(64bit)
libm.so.6(GLIBC_2.0)
libm.so.6(GLIBC_2.1)
libm.so.6(GLIBC_2.2.5)(64bit)
libpthread.so.0
libpthread.so.0()(64bit)
libpthread.so.0(GLIBC_2.0)
libpthread.so.0(GLIBC_2.1)
libpthread.so.0(GLIBC_2.2.5)(64bit)
libpthread.so.0(GLIBC_2.3.2)
libpthread.so.0(GLIBC_2.3.2)(64bit)
libpthread.so.0(GLIBC_2.3.3)
libpthread.so.0(GLIBC_2.3.3)(64bit)
librt.so.1
librt.so.1()(64bit)
libstdc++.so.6
libstdc++.so.6()(64bit)
libstdc++.so.6(CXXABI_1.3)
libstdc++.so.6(CXXABI_1.3)(64bit)
libstdc++.so.6(CXXABI_1.3.11)
libstdc++.so.6(CXXABI_1.3.11)(64bit)
libstdc++.so.6(CXXABI_1.3.2)
libstdc++.so.6(CXXABI_1.3.2)(64bit)
libstdc++.so.6(CXXABI_1.3.3)
libstdc++.so.6(CXXABI_1.3.3)(64bit)
libstdc++.so.6(CXXABI_1.3.5)
libstdc++.so.6(CXXABI_1.3.5)(64bit)
libstdc++.so.6(CXXABI_1.3.8)
libstdc++.so.6(CXXABI_1.3.8)(64bit)
libstdc++.so.6(GLIBCXX_3.4)
libstdc++.so.6(GLIBCXX_3.4)(64bit)
libstdc++.so.6(GLIBCXX_3.4.11)
libstdc++.so.6(GLIBCXX_3.4.11)(64bit)
libstdc++.so.6(GLIBCXX_3.4.14)
libstdc++.so.6(GLIBCXX_3.4.14)(64bit)
libstdc++.so.6(GLIBCXX_3.4.15)
libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
libstdc++.so.6(GLIBCXX_3.4.18)
libstdc++.so.6(GLIBCXX_3.4.18)(64bit)
libstdc++.so.6(GLIBCXX_3.4.19)
libstdc++.so.6(GLIBCXX_3.4.19)(64bit)
libstdc++.so.6(GLIBCXX_3.4.20)
libstdc++.so.6(GLIBCXX_3.4.20)(64bit)
libstdc++.so.6(GLIBCXX_3.4.21)
libstdc++.so.6(GLIBCXX_3.4.21)(64bit)
libstdc++.so.6(GLIBCXX_3.4.22)
libstdc++.so.6(GLIBCXX_3.4.22)(64bit)
libstdc++.so.6(GLIBCXX_3.4.9)
libstdc++.so.6(GLIBCXX_3.4.9)(64bit)
libtcmalloc_minimal.so.4
libtcmalloc_minimal.so.4()(64bit)
rtld(GNU_HASH)
@grantrostig Could you please post your output too, because on my machine
libhwloc.so.5
libhwloc.so.5()(64bit)
I can see hwloc as one of the dependencies.
Please note that dnf install hpx
will install only missing dependencies and if you have hwloc already installed, it will not be shown there.
Yes, hwloc-libs is installed, but hwloc is not. Apparently hwloc is needed, so that is a problem.
Ok, hwloc is just the name of the library. It is an fedora package name again, the package hwloc in fedora just contains the executables:
/usr/bin/hwloc-annotate
/usr/bin/hwloc-assembler
/usr/bin/hwloc-assembler-remote
/usr/bin/hwloc-bind
/usr/bin/hwloc-calc
/usr/bin/hwloc-compress-dir
/usr/bin/hwloc-diff
/usr/bin/hwloc-distances
/usr/bin/hwloc-distrib
/usr/bin/hwloc-gather-topology
/usr/bin/hwloc-info
/usr/bin/hwloc-ls
/usr/bin/hwloc-patch
/usr/bin/hwloc-ps
/usr/bin/lstopo-no-graphics
/usr/lib/systemd/system/hwloc-dump-hwdata.service
/usr/sbin/hwloc-dump-hwdata
/usr/share/man/man1/hwloc-annotate.1.gz
/usr/share/man/man1/hwloc-assembler-remote.1.gz
/usr/share/man/man1/hwloc-assembler.1.gz
/usr/share/man/man1/hwloc-bind.1.gz
/usr/share/man/man1/hwloc-calc.1.gz
/usr/share/man/man1/hwloc-compress-dir.1.gz
/usr/share/man/man1/hwloc-diff.1.gz
/usr/share/man/man1/hwloc-distances.1.gz
/usr/share/man/man1/hwloc-distrib.1.gz
/usr/share/man/man1/hwloc-dump-hwdata.1.gz
/usr/share/man/man1/hwloc-gather-topology.1.gz
/usr/share/man/man1/hwloc-info.1.gz
/usr/share/man/man1/hwloc-ls.1.gz
/usr/share/man/man1/hwloc-patch.1.gz
/usr/share/man/man1/hwloc-ps.1.gz
/usr/share/man/man1/lstopo-no-graphics.1.gz
So hpx needs the package named hwloc [0], but we do not use these executables within hpx. We use the libraries hwloc-libs [1] when we install hpx and hpx-examples. For hpx-devel we need to install hwloc-devel [2]. So it is might be confusing due to the package name in fedora, but we do not meed the hwloc package with the executables, but we need hwloc-libs and hwloc-devel.
So to summarize, we do not miss the hwloc package for the fedora packages.
[0] https://www.open-mpi.org/projects/hwloc/ [1] https://rpmfind.net/linux/RPM/fedora/devel/rawhide/x86_64/h/hwloc-libs-1.11.12-1.fc30.i686.html [2] https://rpmfind.net/linux/RPM/fedora/devel/rawhide/x86_64/h/hwloc-devel-1.11.12-1.fc30.i686.html
@grantrostig Does this clarify your concerns? If so, the ticket can be closed.
The procedure for building the helloworld from source is the problem I reported. Your fine explanation does not fix the problem. A fix in the documenation is needed to discuss manual workarounds for what I call an error or a simple change in the dependencies on the package "hpx" is required, as well as all the other hpx packages, and also rewording of their description to be more clear. Then it should be tested on a clean "fedora29 workstation" system using the new updated package via fedora dnf. Then I would think the ticket should be closed. Do we mark issues fixed before that? No not in my opinion, but I don't know the policies of the hpx project. If one wants automated testing, I guess that would also have to be fixed.
I'll try to summarize the state of this right now. First, keep in mind that the Fedora package is from December and we're learning as we speak. Unfortunately this leaves you, @grantrostig, as a guinea pig, and we appreciate your patience with us.
hpx-devel
package might need libatomic
as a dependency (#3673)dnf install hpx
/hpx-devel
does what it should instead.@msimberg , Thank you for your response. I'm glad my work in testing is useful. The steps you outlined and quoted below seem like a good plan. I'm not sure who closes issues and if they are only closed after the issue has been tested and passed? Another issue might have to be created to address your third point?
1.2.0 was a broken release, which is why we're preparing 1.2.1 which will contain fixes to the CMake configuration (and the HPX library itself). Trying to use 1.2.0 is likely a doomed exercise unless you have too much time.
The
hpx-devel
package might needlibatomic
as a dependency (#3673)We would prefer to remove build instructions for Fedora from the documentation and make sure that
dnf install hpx
/hpx-devel
does what it should instead.
Status of the three points I made earlier:
* @diehlpk is libatomic now a dependency of HPX in the new Fedora spec files?
Yes, it is a new requirement
Let's close this as the V1.2.1 release was published. Feel free to re-open, if necessary.
Expected Behavior
"sudo dnf install hpx" should install required packages, and those packages should be documented by listing all that are required (in "getting started").
Since the user is installing compiled packages, it should not be presumed that the user has "compiled HPX" and read that section, which does give some clues.
Actual Behavior
"sudo dnf install hpx" does not install hwloc
Steps to Reproduce the Problem
"sudo dnf repoquery --depends hpx"
Does not show "hwloc"
Specifications