Trouble compiling CopperLark on Ubuntu 12.04

0

I am having trouble compiling the Copperlark source on Ubuntu 12.04.

I run the following command: Код: [Выделить]

make -f makefile.unix USE_UPNP=-

which fails on this error:

/root/CopperLarkSrc/src/leveldb/libleveldb.a(format.o): In function `leveldb::ReadBlock(leveldb::RandomAccessFile*, leveldb::ReadOptions const&, leveldb::BlockHandle const&, leveldb::BlockContents*)':
format.cc:(.text+0x510): undefined reference to `operator new[](unsigned int)'
format.cc:(.text+0x86a): undefined reference to `operator new[](unsigned int)'
/root/CopperLarkSrc/src/leveldb/libmemenv.a(memenv.o): In function `leveldb::(anonymous namespace)::FileState::Append(leveldb::Slice const&)':
memenv.cc:(.text+0x467): undefined reference to `operator new[](unsigned int)'
/root/CopperLarkSrc/src/leveldb/libmemenv.a(memenv.o): In function `leveldb::(anonymous namespace)::InMemoryEnv::NewSequentialFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, leveldb::SequentialFile**)':
memenv.cc:(.text+0x10a6): undefined reference to `operator new(unsigned int)'
/root/CopperLarkSrc/src/leveldb/libmemenv.a(memenv.o): In function `leveldb::(anonymous namespace)::InMemoryEnv::NewRandomAccessFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, leveldb::RandomAccessFile**)':
memenv.cc:(.text+0x1212): undefined reference to `operator new(unsigned int)'
/root/CopperLarkSrc/src/leveldb/libmemenv.a(memenv.o): In function `leveldb::(anonymous namespace)::InMemoryEnv::NewWritableFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, leveldb::WritableFile**)':
memenv.cc:(.text+0x132d): undefined reference to `operator new(unsigned int)'
memenv.cc:(.text+0x136b): undefined reference to `operator new(unsigned int)'
/root/CopperLarkSrc/src/leveldb/libmemenv.a(memenv.o): In function `leveldb::(anonymous namespace)::InMemoryEnv::GetChildren(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*)':
memenv.cc:(.text+0x1554): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator[](unsigned int) const'
memenv.cc:(.text+0x15d1): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::substr(unsigned int, unsigned int) const'
/root/CopperLarkSrc/src/leveldb/libmemenv.a(memenv.o): In function `leveldb::(anonymous namespace)::InMemoryEnv::LockFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, leveldb::FileLock**)':
memenv.cc:(.text+0x1be8): undefined reference to `operator new(unsigned int)'
/root/CopperLarkSrc/src/leveldb/libmemenv.a(memenv.o): In function `leveldb::(anonymous namespace)::InMemoryEnv::NewLogger(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, leveldb::Logger**)':
memenv.cc:(.text+0x1d52): undefined reference to `operator new(unsigned int)'
/root/CopperLarkSrc/src/leveldb/libmemenv.a(memenv.o): In function `leveldb::NewMemEnv(leveldb::Env*)':
memenv.cc:(.text+0x1daf): undefined reference to `operator new(unsigned int)'
/root/CopperLarkSrc/src/leveldb/libmemenv.a(memenv.o): In function `__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, leveldb::(anonymous namespace)::FileState*> > >::allocate(unsigned int, void const*)':
memenv.cc:(.text+0x40d3): undefined reference to `operator new(unsigned int)'
collect2: ld returned 1 exit status
make: *** [bitcoind] Error 1

I saw other people have the same issue here: https://bitcointalk.org/index.php?topic=227252.0

I'm getting the source code from here: https://copperlark.com/wp-download.php?file=CopperLarkSrc.zip

I'm able to compile other crypto on this server (litecoin) but not CPL.

Any ideas?

NullPointer

Posted 2014-01-23T11:53:16.310

Reputation: 181

Sorry everyone, I forgot about this one. In the end, I switched to an x86 platform and it compiled. I also should have specified that I was only trying X86_64.NullPointer 2014-09-17T23:55:16.383

Answers

0

from: https://bitcointalk.org/index.php?topic=227252.msg6843676;topicseen#msg6843676 (your link, new post)

cd CopperLarkSrc
chmod +x src/leveldb/build_detect_platform
rm src/leveldb/leveldb.a
rm src/leveldb/libmemenv.a
qmake
make

Hope this helps.

Darth Cookie

Posted 2014-01-23T11:53:16.310

Reputation: 16

Thanks. Looks like this would let me compile it on X86_64 so it's a better answer than mine.NullPointer 2014-09-17T23:58:15.563

1

The following can help:

cd leveldb
make clean
cd ..
make -f makefile.unix USE_UPNP=-

b00ster

Posted 2014-01-23T11:53:16.310

Reputation: 11

Why? What good is this? Why do you suggest it?Murch 2014-06-26T11:03:37.327

Just because i got exactly the same problem while compiling a couple of other coins and the above commands solved it. So it would be nice to hear why did you downvote my answer. Did you try my recommendation?b00ster 2014-06-29T13:33:23.253

I did not downvote your answer, but it was flagged as low-quality. I put my comment there, because I think it could use more explanation: For example what directory you started out in. What 'make clean' is supposed to do for you, and so forth. As it is, this answer is extremely short and it is not easy to determine whether the answer is correct or valuable, unless you have the same problem as the OP.Murch 2014-06-29T22:46:26.537

cd leveldb make clean Worked great thank youLegends 2018-05-31T21:41:17.100