Until now I've linked Monotone <= 0.41 against Boost <= 1.34.0. Recently
I've upgraded to Boost 1.37.0 and today I wanted to compile Monotone
0.42 (under FreeBSD 6.4-STABLE and with GCC 4.2.4, but I don't think
this makes any difference here):
| g++ -Winvalid-pch -include pch-build.hh -g -O0 -Wall -Wall -W -Wno-unused
-fno-strict-aliasing -L/usr/opkg/lib -o mtn mtn-sanity.o
mtn-simplestring_xform.o mtn-constants.o mtn-numeric_vocab.o mtn-vocab.o
mtn-charset.o mtn-paths.o mtn-luaext_mkstemp.o mtn-luaext_parse_basic_io.o
mtn-luaext_guess_binary.o mtn-luaext_platform.o mtn-luaext_globish.o mtn-lua.o
mtn-mkstemp.o mtn-file_io.o mtn-globish.o mtn-basic_io.o mtn-mtn-sanity.o
mtn-ui.o mtn-app_state.o mtn-commands.o mtn-cmd_netsync.o mtn-cmd_list.o
mtn-cmd_packet.o mtn-cmd_key_cert.o mtn-cmd_merging.o mtn-cmd_db.o
mtn-cmd_diff_log.o mtn-cmd_ws_commit.o mtn-cmd_othervcs.o mtn-cmd_automate.o
mtn-cmd_files.o mtn-cmd_conflicts.o mtn-diff_patch.o mtn-lua_hooks.o
mtn-transforms.o mtn-update.o mtn-work.o mtn-work_migration.o mtn-cert.o
mtn-project.o mtn-outdated_indicator.o mtn-database.o mtn-key_store.o
mtn-ssh_agent.o mtn-keys.o mtn-packet.o mtn-rcs_file.o mtn-xdelta.o
mtn-schema_migration.o mtn-refiner.o mtn-enumerator.o mtn-netsync.o
mtn-netxx_pipe.o mtn-netcmd.o mtn-merkle_tree.o mtn-lcs.o mtn-rcs_import.o
mtn-revision.o mtn-cset.o mtn-roster.o mtn-mt_version.o mtn-automate.o
mtn-database_check.o mtn-epoch.o mtn-gzip.o mtn-inodeprint.o mtn-selectors.o
mtn-annotate.o mtn-restrictions.o mtn-hmac.o mtn-string_queue.o
mtn-roster_merge.o mtn-merge.o mtn-legacy.o mtn-uri.o mtn-graph.o
mtn-roster_delta.o mtn-sha1.o mtn-pcrewrap.o mtn-rev_height.o mtn-asciik.o
mtn-dates.o mtn-randomizer.o mtn-package_revision.o mtn-package_full_revision.o
mtn-option.o mtn-options.o mtn-specialized_lexical_cast.o mtn-monotone.o
unix/mtn-main.o mtn-std_hooks.o mtn-schema.o libplatform.a lib3rdparty.a
/usr/opkg/lib/libiconv.a -lz
| mtn-sanity.o: In function `__static_initialization_and_destruction_0':
| /usr/opkg/include/boost/system/error_code.hpp:205: undefined reference to
`boost::system::get_system_category()'
| /usr/opkg/include/boost/system/error_code.hpp:206: undefined reference to
`boost::system::get_generic_category()'
| /usr/opkg/include/boost/system/error_code.hpp:210: undefined reference to
`boost::system::get_generic_category()'
| /usr/opkg/include/boost/system/error_code.hpp:211: undefined reference to
`boost::system::get_generic_category()'
| /usr/opkg/include/boost/system/error_code.hpp:212: undefined reference to
`boost::system::get_system_category()'
| mtn-simplestring_xform.o: In function
`__static_initialization_and_destruction_0':
Seems like the <error_code.hpp> stuff of Boost 1.37.0 now requires
"-lboost_system-mt". At least after I've added this to LIBS during
building of Monotone, the build completed just fine again.
I've still not investigated whether the "problem" is trigged by Boost
1.37 or Monotone 0.42. But I just wanted to drop a notice here that
"something has changed" which causes Monotone to now no longer build
"out-of-the-box" under at least the mentioned Boost/FreeBSD/GCC version
combination...
Yours,
Ralf S. Engelschall
[email protected]
www.engelschall.com
_______________________________________________
Monotone-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/monotone-devel