[GNC] Cannot build GNUCash 5.10 for GNU/Linux
Shiftag
shiftag at nanotek.info
Sun Apr 20 09:18:59 EDT 2025
Hello,
I have an issue building GnuCash 5.10 on Linux. I'm having the following
error at make step:
[ 21%] Building C object
libgnucash/app-utils/CMakeFiles/gnc-app-utils.dir/gnc-prefs-utils.c.o
[ 21%] Building CXX object
libgnucash/app-utils/CMakeFiles/gnc-app-utils.dir/gnc-quotes.cpp.o
/tmp/SBo/gnucash-5.10/libgnucash/app-utils/gnc-quotes.cpp:136:9: error:
‘environment’ in namespace ‘bp’ does not name a type
136 | bp::environment m_env;
| ^~~~~~~~~~~
In file included from /usr/include/boost/process/v2/environment.hpp:28,
from /usr/include/boost/process/environment.hpp:1,
from
/tmp/SBo/gnucash-5.10/libgnucash/app-utils/gnc-quotes.cpp:23:
/usr/include/boost/process/v2/detail/environment_posix.hpp:28:11: note:
‘boost::process::v2::environment’ declared here
28 | namespace environment
| ^~~~~~~~~~~
/tmp/SBo/gnucash-5.10/libgnucash/app-utils/gnc-quotes.cpp: In
constructor ‘GncFQQuoteSource::GncFQQuoteSource()’:
/tmp/SBo/gnucash-5.10/libgnucash/app-utils/gnc-quotes.cpp:155:11: error:
‘search_path’ is not a member of ‘bp’
155 | c_cmd{bp::search_path("perl")},
| ^~~~~~~~~~~
/tmp/SBo/gnucash-5.10/libgnucash/app-utils/gnc-quotes.cpp:156:27: error:
class ‘GncFQQuoteSource’ does not have any field named ‘m_env’
156 | m_version{}, m_sources{}, m_env{boost::this_process::environment()}
| ^~~~~
/tmp/SBo/gnucash-5.10/libgnucash/app-utils/gnc-quotes.cpp:156:40: error:
‘boost::this_process’ has not been declared
156 | m_version{}, m_sources{}, m_env{boost::this_process::environment()}
| ^~~~~~~~~~~~
/tmp/SBo/gnucash-5.10/libgnucash/app-utils/gnc-quotes.cpp:155:1: error:
no matching function for call to
‘boost::filesystem::path::path(<brace-enclosed initializer list>)’
155 | c_cmd{bp::search_path("perl")},
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/boost/process/v2/detail/config.hpp:65,
from /usr/include/boost/process/v2/environment.hpp:13:
/usr/include/boost/filesystem/path.hpp:452:5: note: candidate:
‘template<class InputIterator, class>
boost::filesystem::path::path(InputIterator, InputIterator, const
codecvt_type&)’
452 | path(InputIterator begin, InputIterator end, codecvt_type
const& cvt)
| ^~~~
/usr/include/boost/filesystem/path.hpp:452:5: note: candidate expects
3 arguments, 1 provided
/usr/include/boost/filesystem/path.hpp:433:5: note: candidate:
‘template<class InputIterator, class>
boost::filesystem::path::path(InputIterator, InputIterator)’
433 | path(InputIterator begin, InputIterator end)
| ^~~~
/usr/include/boost/filesystem/path.hpp:433:5: note: candidate expects
2 arguments, 1 provided
/usr/include/boost/filesystem/path.hpp:372:14: note: candidate:
‘template<class Source, class> boost::filesystem::path::path(const
Source&, const codecvt_type&)’
372 | explicit path(Source const& source, codecvt_type const& cvt)
| ^~~~
/usr/include/boost/filesystem/path.hpp:372:14: note: candidate expects
2 arguments, 1 provided
/usr/include/boost/filesystem/path.hpp:358:5: note: candidate:
‘template<class Source, class> boost::filesystem::path::path(const Source&)’
358 | path(Source const& source)
| ^~~~
/usr/include/boost/filesystem/path.hpp:358:5: note: template argument
deduction/substitution failed:
/usr/include/boost/filesystem/path.hpp:422:5: note: candidate:
‘boost::filesystem::path::path(const value_type*, const value_type*,
const codecvt_type&)’
422 | path(const value_type* begin, const value_type* end,
codecvt_type const&) : m_pathname(begin, end) {}
| ^~~~
/usr/include/boost/filesystem/path.hpp:422:5: note: candidate expects
3 arguments, 1 provided
/usr/include/boost/filesystem/path.hpp:421:5: note: candidate:
‘boost::filesystem::path::path(const value_type*, const value_type*)’
421 | path(const value_type* begin, const value_type* end) :
m_pathname(begin, end) {}
| ^~~~
/usr/include/boost/filesystem/path.hpp:421:5: note: candidate expects
2 arguments, 1 provided
/usr/include/boost/filesystem/path.hpp:402:5: note: candidate:
‘boost::filesystem::path::path(string_type&&, const codecvt_type&)’
402 | path(string_type&& s, codecvt_type const&) noexcept :
m_pathname(static_cast< string_type&& >(s))
| ^~~~
/usr/include/boost/filesystem/path.hpp:402:5: note: candidate expects
2 arguments, 1 provided
/usr/include/boost/filesystem/path.hpp:399:5: note: candidate:
‘boost::filesystem::path::path(string_type&&)’
399 | path(string_type&& s) noexcept : m_pathname(static_cast<
string_type&& >(s))
| ^~~~
/usr/include/boost/filesystem/path.hpp:399:5: note: conversion of
argument 1 would be ill-formed:
/usr/include/boost/filesystem/path.hpp:380:5: note: candidate:
‘boost::filesystem::path::path(boost::filesystem::path&&, const
codecvt_type&)’
380 | path(path&& p, codecvt_type const&) noexcept :
m_pathname(static_cast< string_type&& >(p.m_pathname))
| ^~~~
/usr/include/boost/filesystem/path.hpp:380:5: note: candidate expects
2 arguments, 1 provided
/usr/include/boost/filesystem/path.hpp:377:5: note: candidate:
‘boost::filesystem::path::path(boost::filesystem::path&&)’
377 | path(path&& p) noexcept : m_pathname(static_cast<
string_type&& >(p.m_pathname))
| ^~~~
/usr/include/boost/filesystem/path.hpp:377:5: note: conversion of
argument 1 would be ill-formed:
/usr/include/boost/filesystem/path.hpp:346:5: note: candidate:
‘boost::filesystem::path::path(const std::basic_string_view<char>&,
const codecvt_type&)’
346 | path(std::basic_string_view< value_type > const& s,
codecvt_type const&) : m_pathname(s) {}
| ^~~~
/usr/include/boost/filesystem/path.hpp:346:5: note: candidate expects
2 arguments, 1 provided
/usr/include/boost/filesystem/path.hpp:345:5: note: candidate:
‘boost::filesystem::path::path(const std::basic_string_view<char>&)’
345 | path(std::basic_string_view< value_type > const& s) :
m_pathname(s) {}
| ^~~~
/usr/include/boost/filesystem/path.hpp:345:5: note: conversion of
argument 1 would be ill-formed:
/usr/include/boost/filesystem/path.hpp:343:5: note: candidate:
‘boost::filesystem::path::path(const string_type&, const codecvt_type&)’
343 | path(string_type const& s, codecvt_type const&) :
m_pathname(s) {}
| ^~~~
/usr/include/boost/filesystem/path.hpp:343:5: note: candidate expects
2 arguments, 1 provided
/usr/include/boost/filesystem/path.hpp:342:5: note: candidate:
‘boost::filesystem::path::path(const string_type&)’
342 | path(string_type const& s) : m_pathname(s) {}
| ^~~~
/usr/include/boost/filesystem/path.hpp:342:5: note: conversion of
argument 1 would be ill-formed:
/usr/include/boost/filesystem/path.hpp:341:5: note: candidate:
‘boost::filesystem::path::path(const value_type*, const codecvt_type&)’
341 | path(const value_type* s, codecvt_type const&) :
m_pathname(s) {}
| ^~~~
/usr/include/boost/filesystem/path.hpp:341:5: note: candidate expects
2 arguments, 1 provided
/usr/include/boost/filesystem/path.hpp:340:5: note: candidate:
‘boost::filesystem::path::path(const value_type*)’
340 | path(const value_type* s) : m_pathname(s) {}
| ^~~~
/usr/include/boost/filesystem/path.hpp:340:5: note: conversion of
argument 1 would be ill-formed:
/usr/include/boost/filesystem/path.hpp:338:5: note: candidate:
‘boost::filesystem::path::path(const boost::filesystem::path&, const
codecvt_type&)’
338 | path(path const& p, codecvt_type const&) :
m_pathname(p.m_pathname) {}
| ^~~~
/usr/include/boost/filesystem/path.hpp:338:5: note: candidate expects
2 arguments, 1 provided
/usr/include/boost/filesystem/path.hpp:337:5: note: candidate:
‘boost::filesystem::path::path(const boost::filesystem::path&)’
337 | path(path const& p) : m_pathname(p.m_pathname) {}
| ^~~~
/usr/include/boost/filesystem/path.hpp:337:5: note: conversion of
argument 1 would be ill-formed:
/usr/include/boost/filesystem/path.hpp:336:5: note: candidate:
‘boost::filesystem::path::path()’
336 | path() noexcept {}
| ^~~~
/usr/include/boost/filesystem/path.hpp:336:5: note: candidate expects
0 arguments, 1 provided
/tmp/SBo/gnucash-5.10/libgnucash/app-utils/gnc-quotes.cpp: In member
function ‘QuoteResult GncFQQuoteSource::run_cmd(const StrVec&, const
std::string&) const’:
/tmp/SBo/gnucash-5.10/libgnucash/app-utils/gnc-quotes.cpp:210:30: error:
‘buffer’ is not a member of ‘bp’
210 | auto input_buf = bp::buffer (json_string);
| ^~~~~~
/tmp/SBo/gnucash-5.10/libgnucash/app-utils/gnc-quotes.cpp:210:30: note:
suggested alternatives:
In file included from
/usr/include/boost/asio/detail/buffer_sequence_adapter.hpp:22,
from
/usr/include/boost/asio/detail/reactive_descriptor_service.hpp:31,
from
/usr/include/boost/asio/posix/basic_descriptor.hpp:37,
from
/usr/include/boost/asio/posix/basic_stream_descriptor.hpp:19,
from
/usr/include/boost/process/v2/detail/process_handle_fd.hpp:28,
from /usr/include/boost/process/v2/process_handle.hpp:15,
from /usr/include/boost/process/v2/ext/exe.hpp:12,
from /usr/include/boost/process/v2/process.hpp:18,
from /usr/include/boost/process/v2/execute.hpp:8,
from /usr/include/boost/process/execute.hpp:1,
from /usr/include/boost/process.hpp:19,
from
/tmp/SBo/gnucash-5.10/libgnucash/app-utils/gnc-quotes.cpp:42:
/usr/include/boost/asio/registered_buffer.hpp:287:32: note:
‘boost::asio::buffer’
287 | inline const_registered_buffer buffer(
| ^~~~~~
In file included from
/usr/include/boost/iostreams/detail/streambuf/indirect_streambuf.hpp:24,
from /usr/include/boost/iostreams/stream_buffer.hpp:22,
from
/tmp/SBo/gnucash-5.10/libgnucash/app-utils/gnc-quotes.cpp:47:
/usr/include/boost/iostreams/detail/buffer.hpp:83:7: note:
‘boost::iostreams::detail::buffer’
83 | class buffer : public basic_buffer<Ch, Alloc> {
| ^~~~~~
/tmp/SBo/gnucash-5.10/libgnucash/app-utils/gnc-quotes.cpp:211:13: error:
‘child’ is not a member of ‘bp’
211 | bp::child process;
| ^~~~~
/tmp/SBo/gnucash-5.10/libgnucash/app-utils/gnc-quotes.cpp:212:9: error:
‘process’ was not declared in this scope
212 | process = bp::child(c_cmd, args,
| ^~~~~~~
/tmp/SBo/gnucash-5.10/libgnucash/app-utils/gnc-quotes.cpp:212:9: note:
suggested alternatives:
/usr/include/boost/process/v2/detail/config.hpp:85:1: note: ‘boost::process’
85 | BOOST_PROCESS_V2_BEGIN_NAMESPACE
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/boost/process/v2/process.hpp:393:25: note:
‘boost::process::v2::process’
393 | typedef basic_process<> process;
| ^~~~~~~
/tmp/SBo/gnucash-5.10/libgnucash/app-utils/gnc-quotes.cpp:212:23: error:
‘child’ is not a member of ‘bp’
212 | process = bp::child(c_cmd, args,
| ^~~~~
/tmp/SBo/gnucash-5.10/libgnucash/app-utils/gnc-quotes.cpp:213:33: error:
‘std_out’ is not a member of ‘bp’
213 | bp::std_out > out_buf,
| ^~~~~~~
/tmp/SBo/gnucash-5.10/libgnucash/app-utils/gnc-quotes.cpp:214:33: error:
‘std_err’ is not a member of ‘bp’
214 | bp::std_err > err_buf,
| ^~~~~~~
/tmp/SBo/gnucash-5.10/libgnucash/app-utils/gnc-quotes.cpp:215:33: error:
‘std_in’ is not a member of ‘bp’
215 | bp::std_in < input_buf,
| ^~~~~~
/tmp/SBo/gnucash-5.10/libgnucash/app-utils/gnc-quotes.cpp:219:29: error:
‘m_env’ was not declared in this scope
219 | m_env,
| ^~~~~
/tmp/SBo/gnucash-5.10/libgnucash/app-utils/gnc-quotes.cpp: In member
function ‘void GncFQQuoteSource::set_api_key(const char*, const char*)’:
/tmp/SBo/gnucash-5.10/libgnucash/app-utils/gnc-quotes.cpp:264:9: error:
‘m_env’ was not declared in this scope
264 | m_env[api_env] = key;
| ^~~~~
/tmp/SBo/gnucash-5.10/libgnucash/app-utils/gnc-quotes.cpp:269:38: error:
‘m_env’ was not declared in this scope
269 | if (api_key == av_api_key && m_env.find(api_env) ==
m_env.end())
| ^~~~~
make[2]: ***
[libgnucash/app-utils/CMakeFiles/gnc-app-utils.dir/build.make:182:
libgnucash/app-utils/CMakeFiles/gnc-app-utils.dir/gnc-quotes.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:3456:
libgnucash/app-utils/CMakeFiles/gnc-app-utils.dir/all] Error 2
make: *** [Makefile:166: all] Error 2
I'm not having any error or warning before those issues. Do I missed a
library ?
More information about the gnucash-user
mailing list