Are the boost headers separately packaged under Fedora?

8,900

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.

Share:
8,900

Related videos on Youtube

maxschlepzig
Author by

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, 2022

Comments

  • maxschlepzig
    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 and rpm -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 is boost-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
      Agnel Kurian about 12 years
      Under 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 that boost-devel is what I should install?
    • maxschlepzig
      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, installing boost-devel should be safe. In addition, there is also boost-doc which includes the Boost documentation (which is also available online).
  • maxschlepzig
    maxschlepzig over 13 years
    Yeah, 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
    maxschlepzig over 13 years
    Yeah, this is what I've stated in the question.
  • jsbillings
    jsbillings over 13 years
    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.
  • maxschlepzig
    maxschlepzig over 13 years
    Ok, good that you mention how -devel packages are structured (in general) in the Fedora world. I did not know that.
  • maxschlepzig
    maxschlepzig over 13 years
    It 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.