I am getting close. I had to uninstall two python packages. readline and 
ncurses. Compiling and linking ends without errors.
I can run $ ./ledger --version and I'm getting "Ledger 3.3.2-20230330", 
which is great, but the python test, fails on "import ledger".

$ make test
100% tests passed, 0 tests failed out of 411

Total Test time (real) =  26.18 sec

I did the build with ./acprep configure --prefix=~/local/bin ... . When i 
run make install, I was expecting everything to go under $HOME/local/bin 
but it goes under /usr/local and destroys my previously installed ubuntu 
package. Also, there is no trace of the python module 
under /home/sergiu/miniconda3/envs/ldg-build/lib/python3.8/site-packages. 

$ sudo make install
[sudo] password for sergiu:
[ 80%] Built target libledger
[ 85%] Built target ledger
[ 95%] Built target MathTests
[100%] Built target UtilTests
Install the project...
-- Install configuration: "Release"
-- Installing: /usr/local/lib/libledger.so.3
-- Set runtime path of "/usr/local/lib/libledger.so.3" to "/usr/local/lib"
-- Up-to-date: /usr/local/lib/libledger.so
-- Up-to-date: /usr/local/include/ledger/account.h
-- Up-to-date: /usr/local/include/ledger/amount.h
-- Up-to-date: /usr/local/include/ledger/annotate.h
-- Up-to-date: /usr/local/include/ledger/balance.h
-- Up-to-date: /usr/local/include/ledger/chain.h
-- Up-to-date: /usr/local/include/ledger/commodity.h
-- Up-to-date: /usr/local/include/ledger/compare.h
-- Up-to-date: /usr/local/include/ledger/context.h
-- Up-to-date: /usr/local/include/ledger/convert.h
-- Up-to-date: /usr/local/include/ledger/csv.h
-- Up-to-date: /usr/local/include/ledger/draft.h
-- Up-to-date: /usr/local/include/ledger/emacs.h
-- Up-to-date: /usr/local/include/ledger/error.h
-- Up-to-date: /usr/local/include/ledger/expr.h
-- Up-to-date: /usr/local/include/ledger/exprbase.h
-- Up-to-date: /usr/local/include/ledger/filters.h
-- Up-to-date: /usr/local/include/ledger/flags.h
-- Up-to-date: /usr/local/include/ledger/format.h
-- Up-to-date: /usr/local/include/ledger/generate.h
-- Up-to-date: /usr/local/include/ledger/global.h
-- Up-to-date: /usr/local/include/ledger/gpgme.h
-- Up-to-date: /usr/local/include/ledger/history.h
-- Up-to-date: /usr/local/include/ledger/item.h
-- Up-to-date: /usr/local/include/ledger/iterators.h
-- Up-to-date: /usr/local/include/ledger/journal.h
-- Up-to-date: /usr/local/include/ledger/lookup.h
-- Up-to-date: /usr/local/include/ledger/mask.h
-- Up-to-date: /usr/local/include/ledger/op.h
-- Up-to-date: /usr/local/include/ledger/option.h
-- Up-to-date: /usr/local/include/ledger/output.h
-- Up-to-date: /usr/local/include/ledger/parser.h
-- Up-to-date: /usr/local/include/ledger/pool.h
-- Up-to-date: /usr/local/include/ledger/post.h
-- Up-to-date: /usr/local/include/ledger/precmd.h
-- Up-to-date: /usr/local/include/ledger/predicate.h
-- Up-to-date: /usr/local/include/ledger/print.h
-- Up-to-date: /usr/local/include/ledger/pstream.h
-- Up-to-date: /usr/local/include/ledger/ptree.h
-- Up-to-date: /usr/local/include/ledger/pyinterp.h
-- Up-to-date: /usr/local/include/ledger/pyutils.h
-- Up-to-date: /usr/local/include/ledger/query.h
-- Up-to-date: /usr/local/include/ledger/quotes.h
-- Up-to-date: /usr/local/include/ledger/report.h
-- Up-to-date: /usr/local/include/ledger/scope.h
-- Up-to-date: /usr/local/include/ledger/select.h
-- Up-to-date: /usr/local/include/ledger/session.h
-- Up-to-date: /usr/local/include/ledger/stats.h
-- Up-to-date: /usr/local/include/ledger/stream.h
-- Up-to-date: /usr/local/include/ledger/temps.h
-- Up-to-date: /usr/local/include/ledger/timelog.h
-- Up-to-date: /usr/local/include/ledger/times.h
-- Up-to-date: /usr/local/include/ledger/token.h
-- Up-to-date: /usr/local/include/ledger/unistring.h
-- Up-to-date: /usr/local/include/ledger/utils.h
-- Up-to-date: /usr/local/include/ledger/value.h
-- Up-to-date: /usr/local/include/ledger/views.h
-- Up-to-date: /usr/local/include/ledger/xact.h
-- Up-to-date: /usr/local/include/ledger/system.hh
-- Installing: /usr/local/bin/ledger
-- Set runtime path of "/usr/local/bin/ledger" to "/usr/local/lib"
-- Up-to-date: /usr/local/share/man/man1/ledger.1

and here is the ldd:
$ ldd ledger
        linux-vdso.so.1 (0x00007fff5bbf9000)
        libledger.so.3 => /home/sergiu/ledger-3.3.2/libledger.so.3 
(0x00007f957de9f000)
        libedit.so.2 => /lib/x86_64-linux-gnu/libedit.so.2 
(0x00007f957de54000)
        libboost_filesystem.so.1.82.0 => 
/home/sergiu/miniconda3/envs/ldg-build/lib/libboost_filesystem.so.1.82.0 
(0x00007f957de32000)
        libstdc++.so.6 => 
/home/sergiu/miniconda3/envs/ldg-build/lib/libstdc++.so.6 
(0x00007f957dc1e000)
        libgcc_s.so.1 => 
/home/sergiu/miniconda3/envs/ldg-build/lib/libgcc_s.so.1 
(0x00007f957dc04000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f957da12000)
        libmpfr.so.6 => /lib/x86_64-linux-gnu/libmpfr.so.6 
(0x00007f957d98f000)
        libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 
(0x00007f957d90b000)
        libboost_iostreams.so.1.82.0 => 
/home/sergiu/miniconda3/envs/ldg-build/lib/libboost_iostreams.so.1.82.0 
(0x00007f957d8f3000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f957d7a4000)
        libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 
(0x00007f957d774000)
        libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 
(0x00007f957d75a000)
        libboost_atomic.so.1.82.0 => 
/home/sergiu/miniconda3/envs/ldg-build/lib/./libboost_atomic.so.1.82.0 
(0x00007f957d74e000)
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f957d744000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 
(0x00007f957d721000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f957e228000)
        libz.so.1 => /home/sergiu/miniconda3/envs/ldg-build/lib/./libz.so.1 
(0x00007f957d703000)
        libbz2.so.1.0 => 
/home/sergiu/miniconda3/envs/ldg-build/lib/./libbz2.so.1.0 
(0x00007f957d6ef000)
        liblzma.so.5 => 
/home/sergiu/miniconda3/envs/ldg-build/lib/./liblzma.so.5 
(0x00007f957d6bd000)
        libzstd.so.1 => 
/home/sergiu/miniconda3/envs/ldg-build/lib/./libzstd.so.1 
(0x00007f957d5ad000)

On Tuesday, December 19, 2023 at 11:20:51 AM UTC-5 lipp f wrote:

> More progress:
> - first I have to do ./acprep clean with each attempt
> - before I've seen your last message, i did ./acprep configure 
> --prefix=/usr/local -- -DUSE_PYTHON=ON 
> -DPython_ROOT_DIR=/home/sergiu/miniconda3/envs/ldg-build/
> - I also tryed your options
> - in make, both sets of options compile to the end with some warnings but 
> no errors, and both of them fail in linking with 6 "undefined reference to  
> NCURSES6_TINFO symbols in libedit.so:
>
> [ 83%] Building CXX object src/CMakeFiles/ledger.dir/global.cc.o
> In file included from 
> /home/sergiu/miniconda3/envs/ldg-build/include/boost/function/detail/requires_cxx11.hpp:9,
>                  from 
> /home/sergiu/miniconda3/envs/ldg-build/include/boost/function/detail/prologue.hpp:12,
>                  from 
> /home/sergiu/miniconda3/envs/ldg-build/include/boost/function.hpp:30,
>                  from 
> /home/sergiu/miniconda3/envs/ldg-build/include/boost/algorithm/string/detail/find_iterator.hpp:18,
>                  from 
> /home/sergiu/miniconda3/envs/ldg-build/include/boost/algorithm/string/find_iterator.hpp:24,
>                  from 
> /home/sergiu/miniconda3/envs/ldg-build/include/boost/algorithm/string/iter_find.hpp:27,
>                  from 
> /home/sergiu/miniconda3/envs/ldg-build/include/boost/algorithm/string/split.hpp:16,
>                  from 
> /home/sergiu/miniconda3/envs/ldg-build/include/boost/algorithm/string.hpp:23,
>                  from /home/sergiu/ledger-3.3.2/system.hh:137,
>                  from /home/sergiu/ledger-3.3.2/src/global.cc:32:
> /home/sergiu/miniconda3/envs/ldg-build/include/boost/bind.hpp:36:1: note: 
> #pragma message: The practice of declaring the Bind placeholders (_1, _2, 
> ...) in the global namespace is deprecated. Please use 
> <boost/bind/bind.hpp> + using namespace boost::placeholders, or define 
> BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior.
>    36 | BOOST_PRAGMA_MESSAGE(
>       | ^~~~~~~~~~~~~~~~~~~~
> [ 85%] Linking CXX executable ../ledger
> /usr/bin/ld: 
> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libedit.so: 
> undefined reference to `tgoto@NCURSES6_TINFO_5.0.19991023'
> /usr/bin/ld: 
> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libedit.so: 
> undefined reference to `tgetent@NCURSES6_TINFO_5.0.19991023'
> /usr/bin/ld: 
> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libedit.so: 
> undefined reference to `tgetnum@NCURSES6_TINFO_5.0.19991023'
> /usr/bin/ld: 
> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libedit.so: 
> undefined reference to `tputs@NCURSES6_TINFO_5.0.19991023'
> /usr/bin/ld: 
> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libedit.so: 
> undefined reference to `tgetflag@NCURSES6_TINFO_5.0.19991023'
> /usr/bin/ld: 
> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libedit.so: 
> undefined reference to `tgetstr@NCURSES6_TINFO_5.0.19991023'
> collect2: error: ld returned 1 exit status
> make[2]: *** [src/CMakeFiles/ledger.dir/build.make:111: ledger] Error 1
> make[1]: *** [CMakeFiles/Makefile2:223: src/CMakeFiles/ledger.dir/all] 
> Error 2
>
> make: *** [Makefile:163: all] Error 2
> acprep: ERROR: Execution failed: make
>
>
> This is referred libedit.so :
> $ ls -l 
> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libedit.so
> lrwxrwxrwx 1 root root 17 Jan  3  2020 
> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libedit.so -> 
> libedit.so.2.0.63
> and here are the 6 symbols:
> $ readelf -Ws 
>  /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libedit.so  | 
> grep -E 'tgoto|tgetent|tgetnum|tputs|tgetflag|tgetstr'
>      7: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND 
> tputs@NCURSES6_TINFO_5.0.19991023 (4)
>     31: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND 
> tgoto@NCURSES6_TINFO_5.0.19991023 (4)
>     84: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND 
> tgetnum@NCURSES6_TINFO_5.0.19991023 (4)
>     90: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND 
> tgetflag@NCURSES6_TINFO_5.0.19991023 (4)
>     91: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND 
> tgetstr@NCURSES6_TINFO_5.0.19991023 (4)
>    123: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND 
> tgetent@NCURSES6_TINFO_5.0.19991023 (4)
>
> On Tuesday, December 19, 2023 at 10:26:03 AM UTC-5 Alexis wrote:
>
>> Hi, 
>>
>> > Based on your suggestions I made some progress. It finds boost in 
>> configure 
>>
>> That's great to hear! 
>>
>> > but it is not being picked up. Is there an option to add something to 
>> make 
>> > INCLUDE? 
>>
>> There sure is: CMake's FindBoost Module¹ also offers hints with which 
>> an installation prefix or the preferred include and library directory 
>> can be set (for details see the FindBoost documentation²). 
>> Does specifying -DBOOST_ROOT help? 
>>
>> % ./acprep configure --python -- \ 
>> -DPython_ROOT_DIR=/home/sergiu/miniconda3/envs/ldg-build/ \ 
>> -DBOOST_ROOT=/home/sergiu/miniconda3/envs/ldg-build/ \ 
>> -DBoost_NO_SYSTEM_PATHS:BOOL=ON 
>>
>> The last hint "disable[s] searching in locations not specified by these 
>> hint variables"; configuring ledger using CMake may work without it. 
>>
>>
>> Godspeed :) 
>>
>>
>> ¹ https://github.com/Kitware/CMake/blob/master/Modules/FindBoost.cmake 
>> ² https://cmake.org/cmake/help/latest/module/FindBoost.html#hints 
>>
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"Ledger" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to ledger-cli+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ledger-cli/6a91f0fb-6e03-4694-928c-141542c5625dn%40googlegroups.com.

Reply via email to