Are the boost headers separately packaged under Fedora?
Looking at the boost-devel package, it requires the boost package of the same version. Here is what the boost-devel package requires:
$ rpm -qRp boost-devel-1.44.0-7.fc14.x86_64.rpm
boost = 1.44.0-7.fc14
cmake
libboost_date_time-mt.so.1.44.0()(64bit)
libboost_date_time.so.1.44.0()(64bit)
libboost_filesystem-mt.so.1.44.0()(64bit)
libboost_filesystem.so.1.44.0()(64bit)
libboost_graph-mt.so.1.44.0()(64bit)
libboost_graph.so.1.44.0()(64bit)
libboost_iostreams-mt.so.1.44.0()(64bit)
libboost_iostreams.so.1.44.0()(64bit)
libboost_prg_exec_monitor-mt.so.1.44.0()(64bit)
libboost_prg_exec_monitor.so.1.44.0()(64bit)
libboost_program_options-mt.so.1.44.0()(64bit)
libboost_program_options.so.1.44.0()(64bit)
libboost_python-mt.so.1.44.0()(64bit)
libboost_python.so.1.44.0()(64bit)
libboost_random-mt.so.1.44.0()(64bit)
libboost_random.so.1.44.0()(64bit)
libboost_regex-mt.so.1.44.0()(64bit)
libboost_regex.so.1.44.0()(64bit)
libboost_serialization-mt.so.1.44.0()(64bit)
libboost_serialization.so.1.44.0()(64bit)
libboost_signals-mt.so.1.44.0()(64bit)
libboost_signals.so.1.44.0()(64bit)
libboost_system-mt.so.1.44.0()(64bit)
libboost_system.so.1.44.0()(64bit)
libboost_thread-mt.so.1.44.0()(64bit)
libboost_unit_test_framework-mt.so.1.44.0()(64bit)
libboost_unit_test_framework.so.1.44.0()(64bit)
libboost_wave-mt.so.1.44.0()(64bit)
libboost_wserialization-mt.so.1.44.0()(64bit)
libboost_wserialization.so.1.44.0()(64bit)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(VersionedDependencies) <= 3.0.3-1
rpmlib(PayloadIsXz) <= 5.2-1
The boost-devel package is the only package that has the boost header files, and it requires the other packages, so the answer to your question is: No, there are no packages you can install that would only provide the headers. Fedora packages typically have their -devel
packages require the other package that includes any libraries used to compile using the headers in the package, as is in this case.
Related videos on Youtube
maxschlepzig
My name is Georg Sauthoff. 'Max Schlepzig' is just a silly old pseudonym (I am hesitant to change it because existing @-replies will not be updated) I studied computer science In my current line of work, I work on trading system software and thus care about low-latency
Updated on September 17, 2022Comments
-
maxschlepzig almost 2 years
The boost C++ library consists of several components. Some components do include shared libraries, other don't.
Under a Fedora 14 system I've looked a bit around with
yum search boost
andrpm -qR
and indeed like with other distributions the boost library is split into several packages.For example there is boost-program-options which only contains the shared libraries of the boost program-options component.
It seems that package
boost
depends on all shared-library sub-packages. There isboost-devel
which seems to provide all headers and depends on all shared-library sub-packages (via boost).Am I right that it is not possible to just install the boost headers via yum (using the default repositories) without all boost shared library packages?
-
Agnel Kurian about 12 yearsUnder Fedora 16, when I say
yum install boost
, I am told that the download is just 22k!! I could find very little documentation to help me. Are you saying thatboost-devel
is what I should install? -
maxschlepzig about 12 years@AgnelKurian, depends on what you want to do - if you want to compile a program that depends on Boost you have to install
boost-devel
which installs all headers and depends on all shared libraries of boost. Anyways, installingboost-devel
should be safe. In addition, there is alsoboost-doc
which includes the Boost documentation (which is also available online).
-
-
maxschlepzig over 13 yearsYeah, I know this. I was asking if there is a header-only package available in Fedora 14 (i.e. which does not depend on the shared library ones). I mean if I want to create a package, which only requires the boost headers, it does not help that I can manually install them outside of the package manager.
-
maxschlepzig over 13 yearsYeah, this is what I've stated in the question.
-
jsbillings over 13 yearsthe
boost-devel
package is the only package that has the boost header files, and it requires the other packages, so the answer to your question is: No, there are no packages you can install that would only provide the headers. Fedora packages typically have their -devel packages require the other package that includes any libraries used to compile using the headers in the package, as is in this case. -
maxschlepzig over 13 yearsOk, good that you mention how -devel packages are structured (in general) in the Fedora world. I did not know that.
-
maxschlepzig over 13 yearsIt is not just about disk space, it is also about installation times and the self-documenting specificity of the .spec file - i.e. if only boost-headers could be specified as dependency then there are no misunderstandings about the real dependencies of the program.