Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compilation error on Ubuntu 16.04 #27

Open
p-kraszewski opened this issue Jun 12, 2016 · 1 comment
Open

Compilation error on Ubuntu 16.04 #27

p-kraszewski opened this issue Jun 12, 2016 · 1 comment

Comments

@p-kraszewski
Copy link

Hi!
I'm totally unable to compile mSIGNA on Ubuntu 16.04. I'm said to belong to power user group ( :) ), yet I failed miserably.

  1. ODB part fails miserably, due to ODB installed to /usr/lib/x86_64-linux-gnu instead of /usr/lib. Fixed, works.
  2. Final link fails for absolutely mysterious reason of series of errors like:
sysroot/lib/libCoinDB.a(Vault.o):  In function
 `odb::sqlite::query_column<unsigned long, (odb::sqlite::database_type_id)0>::is_null() const [clone .isra.798]':
Vault.cpp:(.text+0x2472): undefined reference to 
`odb::sqlite::query_base::append(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'

There seems to be some serious f*ckup with C++ versions. ODB library in Ubuntu seems to be compiled with g++-4.9 while boost seems to be compiled with g++-5 (so we have ABI clash).

I'll keep the thread updated on progress. I think I can fix it via app-local odb compiled with g++5.

@p-kraszewski
Copy link
Author

Ah, yes. Local ODB compiled with g++-5 to sysroot fixed error. I have working mSIGNA. Unfortunately I'm now on metered mobile link and pulling 60GB of blockchain is out of a question :(

Fix error 1: Add following at the end of deps/mk/sysroot.mk

ifneq ($(wildcard $(SYSROOT)/lib/x86_64-linux-gnu),)
    LIB_PATH += -L$(SYSROOT)/lib/x86_64-linux-gnu
endif

Fix error 2:

  • Add libodb and libodb-sqlite sources to deps
  • Configure both via ./configure --prefix=$(readlink -f ../../sysroot)
  • Compile & install both

With those two, mSIGNA compiles successfully and seems to work (not yet tested with live bitcoind)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant