This was reported in https://bugs.gnucash.org/show_bug.cgi?id=799594 and is now fixed in git.
Regards, John Ralls > On Apr 24, 2025, at 19:51, John Ralls <jra...@ceridwen.us> wrote: > > Read my previous again: You need to change the namespace decl in the patch > from `namespace process` to namespace bp` in both the `< 108800` and `else` > cases. > > Regards, > John Ralls > > >> On Apr 24, 2025, at 16:40, Shiftag <shif...@nanotek.info> wrote: >> >> Well I'm not a developer and trying to figure out what should be changed >> from https://github.com/boostorg/process/issues/480 is a bit challenging. >> >> I can remove the namespace declaration in line 71 but "bp" itself will be >> undeclared. I don't know what should be done exactly. >> >> On 4/25/25 12:08 AM, John Ralls wrote: >>> You didn’t apply quite enough thought to applying the change: gnc-quotes >>> uses namespace bp not namespace process. You also need to remove the >>> namespace declaration in line 71 >>> (https://github.com/Gnucash/gnucash/blob/stable/libgnucash/app-utils/gnc-quotes.cpp#L71). >>> >>> Regards, >>> John Ralls >>> >>> >>>> On Apr 24, 2025, at 10:17 AM, Shiftag <shif...@nanotek.info> wrote: >>>> >>>> Hi, >>>> >>>> So I tried to build GnuCash-5.11 and I got the exact same issue. So I >>>> applied the changes for the gnc-quotes.cpp but I ended up with the exact >>>> same error. >>>> >>>> Below, the patch with gnc-quotes.cpp changes. >>>> >>>> diff --color -Naur a/libgnucash/app-utils/gnc-quotes.cpp >>>> b/libgnucash/app-utils/gnc-quotes.cpp >>>> --- a/libgnucash/app-utils/gnc-quotes.cpp 2025-04-24 21:09:58.905159120 >>>> +0400 >>>> +++ b/libgnucash/app-utils/gnc-quotes.cpp 2025-04-24 21:09:48.140909606 >>>> +0400 >>>> @@ -39,7 +39,16 @@ >>>> #ifdef BOOST_WINDOWS_API >>>> #include <boost/process/windows.hpp> >>>> #endif >>>> +#if BOOST_VERSION < 108800 >>>> #include <boost/process.hpp> >>>> +namespace process = boost::process; >>>> +#else >>>> +#include <boost/process/v1/child.hpp> >>>> +#include <boost/process/v1/io.hpp> >>>> +#include <boost/process/v1/pipe.hpp> >>>> +#include <boost/process/v1/start_dir.hpp> >>>> +namespace process = boost::process::v1; >>>> +#endif >>>> #include <boost/regex.hpp> >>>> #include <boost/property_tree/ptree.hpp> >>>> #include <boost/property_tree/json_parser.hpp> >>>> >>>> It is maybe related to Boost version 1.88.0 but maybe on something >>>> different. >>>> >>>> >>>> On 4/22/25 1:41 AM, Stephen M. Butler wrote: >>>>> I just did a successful build of v5.10 on Linux. Ubuntu 24.10. >>>>> >>>>> I'm doing this via git and checkout of 5.10. >>>>> >>>>> Also successful was a build of the most recent set of updates via a git >>>>> pull that gives me v5.11-3. >>>>> >>>>> Stephen M Butler >>>>> stephen.m.butle...@gmail.com >>>>> kg...@arrl.net >>>>> 253-350-0166 >>>>> ------------------------------------------- >>>>> GnuPG Fingerprint: 8A25 9726 D439 758D D846 E5D4 282A 5477 0385 81D8 >>>>> >>>>> On 4/21/25 14:03, Brad Morrison wrote: >>>>>> Hi Shifttag/GNUCash users, >>>>>> >>>>>> Is there a specific reason that you are trying to build the 5.10 version >>>>>> of GNUCash? The current version is 5.11 - >>>>>> https://gnucash.org/download.phtml >>>>>> >>>>>> Also, which Linux distro are you using? >>>>>> https://distrowatch.com/dwres.php?resource=popularity >>>>>> >>>>>> Using the Flatpak of GNUCash >>>>>> (https://flathub.org/apps/org.gnucash.GnuCash) might be an option, if >>>>>> you are using a Linux distro that support Flatpak - >>>>>> https://flatpak.org/setup/ & https://flathub.org/setup >>>>>> >>>>>> --- >>>>>> Thanks, >>>>>> >>>>>> Brad - https://www.facebook.com/brad.morrison.12327/ & >>>>>> https://nextdoor.com/profile/01mP46jj8KCzj3sP4 & >>>>>> https://norcal.social/@BradMorrison >>>>>> >>>>>> On 2025-04-20 06:18, Shiftag wrote: >>>>>> >>>>>>> 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 ? >>>>>>> >>>>>>> _______________________________________________ >>>>>>> gnucash-user mailing list >>>>>>> gnucash-user@gnucash.org >>>>>>> To update your subscription preferences or to unsubscribe: >>>>>>> https://lists.gnucash.org/mailman/listinfo/gnucash-user >>>>>>> ----- >>>>>>> Please remember to CC this list on all your replies. >>>>>>> You can do this by using Reply-To-List or Reply-All. >>>>>> _______________________________________________ >>>>>> gnucash-user mailing list >>>>>> gnucash-user@gnucash.org >>>>>> To update your subscription preferences or to unsubscribe: >>>>>> https://lists.gnucash.org/mailman/listinfo/gnucash-user >>>>>> ----- >>>>>> Please remember to CC this list on all your replies. >>>>>> You can do this by using Reply-To-List or Reply-All. >>>>> _______________________________________________ >>>>> gnucash-user mailing list >>>>> gnucash-user@gnucash.org >>>>> To update your subscription preferences or to unsubscribe: >>>>> https://lists.gnucash.org/mailman/listinfo/gnucash-user >>>>> ----- >>>>> Please remember to CC this list on all your replies. >>>>> You can do this by using Reply-To-List or Reply-All. >>>> _______________________________________________ >>>> gnucash-user mailing list >>>> gnucash-user@gnucash.org >>>> To update your subscription preferences or to unsubscribe: >>>> https://lists.gnucash.org/mailman/listinfo/gnucash-user >>>> ----- >>>> Please remember to CC this list on all your replies. >>>> You can do this by using Reply-To-List or Reply-All. > > _______________________________________________ > gnucash-user mailing list > gnucash-user@gnucash.org > To update your subscription preferences or to unsubscribe: > https://lists.gnucash.org/mailman/listinfo/gnucash-user > ----- > Please remember to CC this list on all your replies. > You can do this by using Reply-To-List or Reply-All. _______________________________________________ gnucash-user mailing list gnucash-user@gnucash.org To update your subscription preferences or to unsubscribe: https://lists.gnucash.org/mailman/listinfo/gnucash-user ----- Please remember to CC this list on all your replies. You can do this by using Reply-To-List or Reply-All.