Skip to content
This repository has been archived by the owner. It is now read-only.

[v1.5.2] error: reference to ‘array’ is ambiguous #14

Closed
voidus opened this issue May 24, 2016 · 8 comments
Closed

[v1.5.2] error: reference to ‘array’ is ambiguous #14

voidus opened this issue May 24, 2016 · 8 comments
Labels

Comments

@voidus
Copy link

@voidus voidus commented May 24, 2016

net.cpp:64:1: error: reference to ‘array’ is ambiguous
 array<int, THREAD_MAX> vnThreadsRunning;
 ^~~~~
In file included from net.h:9:0,
                 from net.cpp:8:
/usr/include/boost/array.hpp:60:11: note: candidates are: template<class T, long unsigned int N> class boost::array
     class array {
           ^~~~~
In file included from /usr/include/c++/6.1.1/tuple:39:0,
                 from /usr/include/c++/6.1.1/functional:55,
                 from /usr/include/boost/system/error_code.hpp:22,
                 from /usr/include/boost/system/system_error.hpp:14,
                 from /usr/include/boost/thread/exceptions.hpp:22,
                 from /usr/include/boost/thread/pthread/mutex.hpp:14,
                 from /usr/include/boost/thread/mutex.hpp:16,
                 from sync.h:8,
                 from db.h:8,
                 from net.cpp:7:
/usr/include/c++/6.1.1/array:90:12: note:                 template<class _Tp, long unsigned int _Nm> struct_ std::array
     struct array
            ^~~~~

Changing net.cpp:61 to boost::array<int, THREAD_MAX> vnThreadsRunning; fixes this, which leads me to

/usr/bin/ld: qt/libbitcoinqt.a(qt_libbitcoinqt_a-qtipcserver.o): undefined reference to symbol 'shm_unlink@@GLIBC_2.2.5'

I'm using arch linux.

@thokon00

This comment has been minimized.

Copy link
Contributor

@thokon00 thokon00 commented May 24, 2016

Try to prefix configure with the rt lib:
LIBS=-lrt ./configure --with-incompatible-bdb --disable-tests

BTW, what version of boost are you using? What version of arch linux?

@voidus

This comment has been minimized.

Copy link
Author

@voidus voidus commented May 24, 2016

Sorry about the second error, that was actually me not reading the docs. I'm on arch linux testing.

The problem with the ambiguous reference still stands, though.

@thokon00

This comment has been minimized.

Copy link
Contributor

@thokon00 thokon00 commented May 24, 2016

What version of the boost library are you using?

@voidus

This comment has been minimized.

Copy link
Author

@voidus voidus commented May 24, 2016

I'm using boost version 1.60.0

@emvigo

This comment has been minimized.

Copy link
Contributor

@emvigo emvigo commented May 24, 2016

I can confirm this bug. This looks like there has been some API change in Boost.

thokon00 added a commit that referenced this issue May 25, 2016
@thokon00

This comment has been minimized.

Copy link
Contributor

@thokon00 thokon00 commented May 25, 2016

Thanks, @voidus. Fixed now. (761475d)

@thokon00 thokon00 closed this May 25, 2016
@emvigo

This comment has been minimized.

Copy link
Contributor

@emvigo emvigo commented May 28, 2016

Sorry to bring this back to life, but IMO a bugfix like this, which solves a compile issue, should be delivered as a new revision release (1.5.2.1?)... unless you want packagers to backport the fix as a patch... or that you want us to grab the commit, but that surely goes against the packaging standards of almost every sane mantainer.

@thokon00

This comment has been minimized.

Copy link
Contributor

@thokon00 thokon00 commented Jul 15, 2016

@emvigo FairCoin2 is under heavy development and will replace FairCoin1.x in the near future, so it would not be worth the effort to create a new release for 'just' a compile bug.

Are you a package maintainer of some distribution? Help would be very appreciated!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
3 participants
You can’t perform that action at this time.