From Bugzilla Helper: User-Agent: Mozilla/5.0 (compatible; Konqueror/3.3; Linux) (KHTML, like Gecko) Description of problem: I think boost-base.patch might be bad. It prevents building all the lib versions. I agree we prob don't need debug/release. But, are you _sure_ we don't want both single/multi-threading? I think we do. And, BTW, with this patch, which do you get? Is it mt-safe? Also, you forgot to install the boost docs! Version-Release number of selected component (if applicable): boost-1.32.0-1.fc3 How reproducible: Always Steps to Reproduce: 1.rpmbuild 2. 3. Additional info:
Hey Neal. the boost-base.patch has been used all though 1.31.0 release. Rene Rivera was the one who showed me this, so I would be surprised if there is something wrong with this approach. (Although it's certainly possible.) We just build release, but boost-base.patch doesn't control this, rather the boost.spec file does (with "-sBUILD=release"). So, I'm not quite sure what you are getting at here. I pulled the docs rules because of lack of an install target. This was 9 revisions or so ago. If you'd like to maintain the boost docs package, please let me know. best, benjamin
It's not release vs. debug I'm questioning. It's single threaded vs. multi-threaded. I think you should build both, which was the default behaviour of boost as distributed. You're only building one version, and furthermore, I'm not sure which one it is.
I've added back in the thread designation in boost-1.32.0-4 and will be pushing this out shortly. Sorry for the delay. Note, this doesn't mean that both single and multi-threaded libs are built: lrwxrwxrwx 1 root root 23 Mar 16 16:58 libboost_thread-mt.so -> libboost_thread-mt.so.1* -rwxr-xr-x 1 root root 127K Mar 16 16:55 libboost_thread-mt.so.1* l As far as the docs, see: 116722. At the moment, I recommend just using the docs on the boost web site: http://www.boost.org/libs/libraries.htm -benjamin
Neal, can you elaborate on "I think you should build both, which was the default behaviour of boost as distributed." I don't think this is accurate: boost_threads is not built twice, once with threads and once without. At least, not in any configuration that I have used. How are you configuring/building to get this behavior? As it is, boost_threads is the only library that the threads name impacts. Changing this, as you requested, will be an ABI change to the SONAME. I'm not super excited about doing this, but will consider it in light of the above issue. -benjamin
If you just build boost out of the box (bjam stage) you will wind up with all the files I show below. I believe what I said is correct, but I'm not an expert. Please check with boost mailing list where you'll find real experts. boost mail list can be found from boost.org, or via nntp from gmane.org. libboost_date_time-gcc-1_32.a libboost_date_time-gcc-1_32.so libboost_date_time-gcc-1_32.so.1.32.0 libboost_date_time-gcc.a libboost_date_time-gcc-d-1_32.a libboost_date_time-gcc-d-1_32.so libboost_date_time-gcc-d-1_32.so.1.32.0 libboost_date_time-gcc-d.a libboost_date_time-gcc-d.so libboost_date_time-gcc-mt-1_32.a libboost_date_time-gcc-mt-1_32.so libboost_date_time-gcc-mt-1_32.so.1.32.0 libboost_date_time-gcc-mt.a libboost_date_time-gcc-mt-d-1_32.a libboost_date_time-gcc-mt-d-1_32.so libboost_date_time-gcc-mt-d-1_32.so.1.32.0 libboost_date_time-gcc-mt-d.a libboost_date_time-gcc-mt-d.so libboost_date_time-gcc-mt.so libboost_date_time-gcc.so libboost_filesystem-gcc-1_32.a libboost_filesystem-gcc-1_32.so libboost_filesystem-gcc-1_32.so.1.32.0 libboost_filesystem-gcc.a libboost_filesystem-gcc-d-1_32.a libboost_filesystem-gcc-d-1_32.so libboost_filesystem-gcc-d-1_32.so.1.32.0 libboost_filesystem-gcc-d.a libboost_filesystem-gcc-d.so libboost_filesystem-gcc-mt-1_32.a libboost_filesystem-gcc-mt-1_32.so libboost_filesystem-gcc-mt-1_32.so.1.32.0 libboost_filesystem-gcc-mt.a libboost_filesystem-gcc-mt-d-1_32.a libboost_filesystem-gcc-mt-d-1_32.so libboost_filesystem-gcc-mt-d-1_32.so.1.32.0 libboost_filesystem-gcc-mt-d.a libboost_filesystem-gcc-mt-d.so libboost_filesystem-gcc-mt.so libboost_filesystem-gcc.so libboost_prg_exec_monitor-gcc-1_32.a libboost_prg_exec_monitor-gcc-1_32.so libboost_prg_exec_monitor-gcc-1_32.so.1.32.0 libboost_prg_exec_monitor-gcc.a libboost_prg_exec_monitor-gcc-d-1_32.a libboost_prg_exec_monitor-gcc-d-1_32.so libboost_prg_exec_monitor-gcc-d-1_32.so.1.32.0 libboost_prg_exec_monitor-gcc-d.a libboost_prg_exec_monitor-gcc-d.so libboost_prg_exec_monitor-gcc-mt-1_32.a libboost_prg_exec_monitor-gcc-mt-1_32.so libboost_prg_exec_monitor-gcc-mt-1_32.so.1.32.0 libboost_prg_exec_monitor-gcc-mt.a libboost_prg_exec_monitor-gcc-mt-d-1_32.a libboost_prg_exec_monitor-gcc-mt-d-1_32.so libboost_prg_exec_monitor-gcc-mt-d-1_32.so.1.32.0 libboost_prg_exec_monitor-gcc-mt-d.a libboost_prg_exec_monitor-gcc-mt-d.so libboost_prg_exec_monitor-gcc-mt.so libboost_prg_exec_monitor-gcc.so libboost_program_options-gcc-1_32.a libboost_program_options-gcc-1_32.so libboost_program_options-gcc-1_32.so.1.32.0 libboost_program_options-gcc.a libboost_program_options-gcc-d-1_32.a libboost_program_options-gcc-d-1_32.so libboost_program_options-gcc-d-1_32.so.1.32.0 libboost_program_options-gcc-d.a libboost_program_options-gcc-d.so libboost_program_options-gcc-mt-1_32.a libboost_program_options-gcc-mt-1_32.so libboost_program_options-gcc-mt-1_32.so.1.32.0 libboost_program_options-gcc-mt.a libboost_program_options-gcc-mt-d-1_32.a libboost_program_options-gcc-mt-d-1_32.so libboost_program_options-gcc-mt-d-1_32.so.1.32.0 libboost_program_options-gcc-mt-d.a libboost_program_options-gcc-mt-d.so libboost_program_options-gcc-mt.so libboost_program_options-gcc.so libboost_python-gcc-1_32.a libboost_python-gcc-1_32.so libboost_python-gcc-1_32.so.1.32.0 libboost_python-gcc.a libboost_python-gcc-d-1_32.a libboost_python-gcc-d-1_32.so libboost_python-gcc-d-1_32.so.1.32.0 libboost_python-gcc-d.a libboost_python-gcc-d.so libboost_python-gcc-mt-1_32.a libboost_python-gcc-mt-1_32.so libboost_python-gcc-mt-1_32.so.1.32.0 libboost_python-gcc-mt.a libboost_python-gcc-mt-d-1_32.a libboost_python-gcc-mt-d-1_32.so libboost_python-gcc-mt-d-1_32.so.1.32.0 libboost_python-gcc-mt-d.a libboost_python-gcc-mt-d.so libboost_python-gcc-mt.so libboost_python-gcc.so libboost_regex-gcc-1_32.a libboost_regex-gcc-1_32.so libboost_regex-gcc-1_32.so.1.32.0 libboost_regex-gcc.a libboost_regex-gcc-d-1_32.a libboost_regex-gcc-d-1_32.so libboost_regex-gcc-d-1_32.so.1.32.0 libboost_regex-gcc-d.a libboost_regex-gcc-d.so libboost_regex-gcc-mt-1_32.a libboost_regex-gcc-mt-1_32.so libboost_regex-gcc-mt-1_32.so.1.32.0 libboost_regex-gcc-mt.a libboost_regex-gcc-mt-d-1_32.a libboost_regex-gcc-mt-d-1_32.so libboost_regex-gcc-mt-d-1_32.so.1.32.0 libboost_regex-gcc-mt-d.a libboost_regex-gcc-mt-d.so libboost_regex-gcc-mt.so libboost_regex-gcc.so libboost_serialization-gcc-1_32.a libboost_serialization-gcc.a libboost_serialization-gcc-d-1_32.a libboost_serialization-gcc-d.a libboost_serialization-gcc-mt-1_32.a libboost_serialization-gcc-mt.a libboost_serialization-gcc-mt-d-1_32.a libboost_serialization-gcc-mt-d.a libboost_signals-gcc-1_32.a libboost_signals-gcc-1_32.so libboost_signals-gcc-1_32.so.1.32.0 libboost_signals-gcc.a libboost_signals-gcc-d-1_32.a libboost_signals-gcc-d-1_32.so libboost_signals-gcc-d-1_32.so.1.32.0 libboost_signals-gcc-d.a libboost_signals-gcc-d.so libboost_signals-gcc-mt-1_32.a libboost_signals-gcc-mt-1_32.so libboost_signals-gcc-mt-1_32.so.1.32.0 libboost_signals-gcc-mt.a libboost_signals-gcc-mt-d-1_32.a libboost_signals-gcc-mt-d-1_32.so libboost_signals-gcc-mt-d-1_32.so.1.32.0 libboost_signals-gcc-mt-d.a libboost_signals-gcc-mt-d.so libboost_signals-gcc-mt.so libboost_signals-gcc.so libboost_test_exec_monitor-gcc-1_32.a libboost_test_exec_monitor-gcc-1_32.so libboost_test_exec_monitor-gcc-1_32.so.1.32.0 libboost_test_exec_monitor-gcc.a libboost_test_exec_monitor-gcc-d-1_32.a libboost_test_exec_monitor-gcc-d-1_32.so libboost_test_exec_monitor-gcc-d-1_32.so.1.32.0 libboost_test_exec_monitor-gcc-d.a libboost_test_exec_monitor-gcc-d.so libboost_test_exec_monitor-gcc-mt-1_32.a libboost_test_exec_monitor-gcc-mt-1_32.so libboost_test_exec_monitor-gcc-mt-1_32.so.1.32.0 libboost_test_exec_monitor-gcc-mt.a libboost_test_exec_monitor-gcc-mt-d-1_32.a libboost_test_exec_monitor-gcc-mt-d-1_32.so libboost_test_exec_monitor-gcc-mt-d-1_32.so.1.32.0 libboost_test_exec_monitor-gcc-mt-d.a libboost_test_exec_monitor-gcc-mt-d.so libboost_test_exec_monitor-gcc-mt.so libboost_test_exec_monitor-gcc.so libboost_thread-gcc-mt-1_32.so libboost_thread-gcc-mt-1_32.so.1.32.0 libboost_thread-gcc-mt-d-1_32.so libboost_thread-gcc-mt-d-1_32.so.1.32.0 libboost_thread-gcc-mt-d.so libboost_thread-gcc-mt-s-1_32.a libboost_thread-gcc-mt-s.a libboost_thread-gcc-mt-sd-1_32.a libboost_thread-gcc-mt-sd.a libboost_thread-gcc-mt.so libboost_unit_test_framework-gcc-1_32.a libboost_unit_test_framework-gcc-1_32.so libboost_unit_test_framework-gcc-1_32.so.1.32.0 libboost_unit_test_framework-gcc.a libboost_unit_test_framework-gcc-d-1_32.a libboost_unit_test_framework-gcc-d-1_32.so libboost_unit_test_framework-gcc-d-1_32.so.1.32.0 libboost_unit_test_framework-gcc-d.a libboost_unit_test_framework-gcc-d.so libboost_unit_test_framework-gcc-mt-1_32.a libboost_unit_test_framework-gcc-mt-1_32.so libboost_unit_test_framework-gcc-mt-1_32.so.1.32.0 libboost_unit_test_framework-gcc-mt.a libboost_unit_test_framework-gcc-mt-d-1_32.a libboost_unit_test_framework-gcc-mt-d-1_32.so libboost_unit_test_framework-gcc-mt-d-1_32.so.1.32.0 libboost_unit_test_framework-gcc-mt-d.a libboost_unit_test_framework-gcc-mt-d.so libboost_unit_test_framework-gcc-mt.so libboost_unit_test_framework-gcc.so libboost_wserialization-gcc-1_32.a libboost_wserialization-gcc.a libboost_wserialization-gcc-d-1_32.a libboost_wserialization-gcc-d.a libboost_wserialization-gcc-mt-1_32.a libboost_wserialization-gcc-mt.a libboost_wserialization-gcc-mt-d-1_32.a libboost_wserialization-gcc-mt-d.a
Neil, your build is only building mt enabled thread. So, it is my understanding that this is resolved sanely with the note that all Fedora/RHEL boost packages are mt enabled. We are not going to ship all the possible build variants of boost. Sorry if this disappoints: you seem mostly concerened with mt issues however, which I consider resolved. The selection of libraries and the naming method has been run by boost build maintainers, and they approve, although they consider this a packaging issue for the vendor.