Build failure latest git

6 views
Skip to first unread message

ed

unread,
Nov 1, 2009, 10:47:57 AM11/1/09
to Ledger
I had possibly confused things by using "git pull" so I deleted my
ledger directory and started again with
git clone git://github.com/jwiegley/ledger.git
cd ledger && ./acprep update -- --prefix=/usr/local

I discovered that ledger seems to have acquired a dependency on
Boost.IOStreams since I last built from git so I remade boost from
clean and repeated the acprep update after running acprep clean, now
it grinds for a while and finishes with:

LD ledger
Undefined symbols:
"ledger::archive_t::should_load
(std::list<boost::filesystem::basic_path<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
boost::filesystem::path_traits>,
std::allocator<boost::filesystem::basic_path<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
boost::filesystem::path_traits> > > const&)", referenced from:
ledger::session_t::read_data(ledger::string const&)in
libledger_report.a(libledger_report_la-session.o)
"ledger::archive_t::load(boost::shared_ptr<ledger::journal_t>)",
referenced from:
ledger::session_t::read_data(ledger::string const&)in
libledger_report.a(libledger_report_la-session.o)
"ledger::archive_t::save(boost::shared_ptr<ledger::journal_t>)",
referenced from:
ledger::session_t::read_data(ledger::string const&)in
libledger_report.a(libledger_report_la-session.o)
"ledger::archive_t::should_save
(boost::shared_ptr<ledger::journal_t>)", referenced from:
ledger::session_t::read_data(ledger::string const&)in
libledger_report.a(libledger_report_la-session.o)
ld: symbol(s) not found

I included the filesystem library in the boost build. What is going
wrong?

ed

unread,
Nov 1, 2009, 11:46:26 AM11/1/09
to Ledger
Just for interest I did an acprep gitclean and tried again, same
outcome.

John Wiegley

unread,
Nov 1, 2009, 4:24:58 PM11/1/09
to ledge...@googlegroups.com
On Nov 1, 2009, at 10:47 AM, ed wrote:

> I discovered that ledger seems to have acquired a dependency on
> Boost.IOStreams since I last built from git so I remade boost from
> clean and repeated the acprep update after running acprep clean, now
> it grinds for a while and finishes with:

Hi Ed, please try again with current master. I removed an unintended
dependency from archive to session. I will also look further into
your problem today.

John

John Wiegley

unread,
Nov 2, 2009, 2:03:21 AM11/2/09
to ledge...@googlegroups.com
On Nov 1, 2009, at 10:47 AM, ed wrote:

> LD ledger
> Undefined symbols:
> "ledger::archive_t::should_load
> (std::list<boost::filesystem::basic_path<std::basic_string<char,
> std::char_traits<char>, std::allocator<char> >,
> boost::filesystem::path_traits>,
> std::allocator<boost::filesystem::basic_path<std::basic_string<char,
> std::char_traits<char>, std::allocator<char> >,
> boost::filesystem::path_traits> > > const&)", referenced from:

Can you check your libledger_data.a file, and see if it provides those
archive symbols? Also, open up your Makefile, remove the echo LD
portion that's hiding the actual link line, and run it again so I can
see exactly what's going to the linker...

Thanks, John

ed

unread,
Nov 2, 2009, 4:11:57 PM11/2/09
to Ledger
This is on a mac BTW, I should have said. Make output is:

make[2]: Nothing to be done for `all'.
LD ledger
/usr/bin/g++-4.2 -fpch-deps -Wconversion -g -pipe -g -o ledger ledger-
main.o ledger-global.o /usr/lib/libiconv.dylib -Wl,-framework -
Wl,CoreFoundation -Wl,-bind_at_load -L/usr/local/lib -L/usr/lib -L/
usr/lib/python2.5/config ./.libs/libledger_report.a ./.libs/
libledger_data.a ./.libs/libledger_expr.a ./.libs/
libledger_math.a ./.libs/libledger_util.a ./.libs/libledger_python.a ./
intl/libintl.a -lboost_python -lpython2.5 -lboost_iostreams -
lboost_filesystem -lboost_system -lboost_date_time -lboost_regex -
ledit /usr/local/lib/libmpfr.dylib /usr/local/lib/libgmp.dylib

The command nm ./.libs/libledger_data.a | grep basic_path
returns 689 lines of output, is that what you meant?

John Wiegley

unread,
Nov 2, 2009, 5:26:33 PM11/2/09
to ledge...@googlegroups.com
On Nov 2, 2009, at 4:11 PM, ed wrote:

> The command nm ./.libs/libledger_data.a | grep basic_path
> returns 689 lines of output, is that what you meant?

I meant nm ./.libs/libledger_data.a | grep should_load

John

ed

unread,
Nov 5, 2009, 9:45:30 AM11/5/09
to Ledger
Oh sorry, have a different problem now, did a acprep update and can't
even build

acprep: INFO: autogen.sh must be run because acprep is newer than
configure
acprep: INFO: Executing phase: version
acprep: ERROR: Caught exception
Traceback (most recent call last):
File "./acprep", line 147, in run
exit_code = self.main(*main_args)
File "./acprep", line 301, in main
PrepareBuild.__dict__['phase_' + cmd](self, *args)
File "./acprep", line 1206, in phase_update
self.phase_make(*args)
File "./acprep", line 1192, in phase_make
self.phase_config(*config_args)
File "./acprep", line 1164, in phase_config
self.phase_autoconf()
File "./acprep", line 512, in phase_autoconf
self.phase_version()
File "./acprep", line 482, in phase_version
self.current_version())
File "./acprep", line 390, in current_version
when = datetime.datetime.strptime(date, "%Y-%m-%d %H:%M:%S")
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/
python2.5/_strptime.py", line 334, in strptime
data_string[found.end():])
ValueError: unconverted data remains: -0500

John Wiegley

unread,
Nov 5, 2009, 3:03:58 PM11/5/09
to ledge...@googlegroups.com, Ledger
Just pushed the fix for this, sorry.

John

ed

unread,
Nov 10, 2009, 1:56:50 PM11/10/09
to Ledger
Mac OS X 10.5.8 PowerPC
CXX ledger-global.o
LD ledger
/usr/bin/g++-4.2 -fpch-deps -Wconversion -g -pipe -g -o ledger ledger-
main.o ledger-global.o /usr/lib/libiconv.dylib -Wl,-framework -
Wl,CoreFoundation -Wl,-bind_at_load -L/usr/local/lib -L/usr/
lib ./.libs/libledger_report.a ./.libs/libledger_data.a ./.libs/
libledger_expr.a ./.libs/libledger_math.a ./.libs/libledger_util.a -L/
usr/lib/python2.5/config -lboost_python -lpython2.5 ./intl/libintl.a -
lboost_iostreams -lboost_filesystem -lboost_system -lboost_date_time -
lboost_regex -ledit /usr/local/lib/libmpfr.dylib /usr/local/lib/
libgmp.dylib
Undefined symbols:
"ledger::python_interpreter_t::import(std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&)", referenced
from:
ledger::python_interpreter_t::import__option_t::handler_thunk
(ledger::call_scope_t&) in ledger-global.o
ledger::python_interpreter_t::import__option_t::handler_thunk
(ledger::call_scope_t&) in ledger-global.o
ledger::python_interpreter_t::import__option_t::handler_thunk
(ledger::call_scope_t&) in ledger-global.o
"ledger::python_session", referenced from:
__ZN6ledger14python_sessionE$non_lazy_ptr in ledger-global.o
"ledger::argv0", referenced from:
__ZN6ledger5argv0E$non_lazy_ptr in ledger-main.o
"vtable for ledger::python_interpreter_t", referenced from:
__ZTVN6ledger20python_interpreter_tE$non_lazy_ptr in ledger-
global.o
ld: symbol(s) not found

John Wiegley

unread,
Nov 10, 2009, 8:01:33 PM11/10/09
to ledge...@googlegroups.com
On Nov 10, 2009, at 1:56 PM, ed wrote:

> Undefined symbols:
> "ledger::python_interpreter_t::import(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > const&)", referenced
> from:

Does this still happen with the latest on the 'next' branch? I no
longer refer to this symbol anywhere.

John

John Wiegley

unread,
Nov 11, 2009, 5:06:32 AM11/11/09
to ledge...@googlegroups.com
Ed, are you still seeing this link failure?

John

On Nov 10, 2009, at 1:56 PM, ed wrote:

ed

unread,
Nov 11, 2009, 6:58:23 AM11/11/09
to Ledger
It failed when I did acprep update again. However, after acprep
gitclean; acprep update it worked.

Perhaps gitclean needs to be recommended more frequently?

John Wiegley

unread,
Nov 11, 2009, 5:50:47 PM11/11/09
to ledge...@googlegroups.com
On Nov 11, 2009, at 6:58 AM, ed wrote:

> It failed when I did acprep update again. However, after acprep
> gitclean; acprep update it worked.

Well, that's more than a little troubling! Acprep is supposed to do everything you require to stay up to date. I wonder what got left behind. Did "git status" say that anything was modified, thus preventing the git pull from updating the file?

John

ed

unread,
Nov 13, 2009, 8:13:27 AM11/13/09
to Ledger
Dunno, sorry, all evidence gone now
Reply all
Reply to author
Forward
0 new messages