Comments (36)
Perhaps related to this?
from blackcoin-old.
I don't have a Mac machine to test with, however, I managed to have a community member to compile blackcoind using macports on his mac.
sudo port install boost db48 openssl miniupnpc
git clone https://github.com/rat4/blackcoin/
cd blackcoin/src
make -f makefile.osx
from blackcoin-old.
For compiling the QT wallet, appearently there is some bugs that affect bitcoin as well, https://trac.macports.org/ticket/46951
from blackcoin-old.
Yes, I was able to compile the daemon but still unable to compile the -qt. I should have been more specific.
from blackcoin-old.
According to the link I gave in privous comment, It seems that compiling the QT require patching of all the boost headers.
from blackcoin-old.
Have you tried using homebrew instead of macports?
from blackcoin-old.
Yeah I have tried with both. Fresh installs. I believe it is a misconfigured -qt makefile file for mavericks.
from blackcoin-old.
Anymore luck with this? Tried on Yosemite at all? I may give it a shot on Yosemite/homebrew.
from blackcoin-old.
I had these issues and I made modifications to the *.pro file that has it compiling. Unfortunately now I see a runtime error:
Assertion failed: (!pthread_mutex_lock(&m)), function lock, file /opt/local/include/boost/thread/pthread/recursive_mutex.hpp, line 110.
Abort trap: 6
It seems other projects have ran into this issue, once I solve it I can do a pull request.
from blackcoin-old.
from blackcoin-old.
I typically use linux so I'm still trying to find the best way to insert a backtrace to get information regarding the error.
from blackcoin-old.
I went through and commented out each AssertLockHeld and it didn't change anything so it is unrelated. I must say I find it funny that Litecoin and Reddcoin both have simply removed the asserts considering the usefulness in debugging.
from blackcoin-old.
I have this fixed, it requires two minor changes to the .pro file. If you need me to build your newest OSX binary I can do this for you too.
from blackcoin-old.
from blackcoin-old.
Im having the same issues today, If you could share that fix for this error would be great :)
'Assertion failed: (!pthread_mutex_lock(&m)), function lock, file /opt/local/include/boost/thread/pthread/recursive_mutex.hpp, line 110.'
from blackcoin-old.
probably not ideal but adding NDEBUG to the .pro DEFINES allowed it to compile and run.
More of a workaround than a fix.
from blackcoin-old.
from blackcoin-old.
Can you explain in more detail why it's too dangerous?
Just for my knowledge i would like to understand. Thanks
from blackcoin-old.
mammix2: the assert is a runtime check to make sure that two simultaneously running threads of the program that manipulate a shared piece of information take turns by acquiring a lock before they alter the shared information. The assert has failed this means that data-corruption will occur if the two threads alters the shared piece of information at the same time. By using NDEBUG you basically say its OK to make the program continue to run despite that it has detected an error which is dangerous to your data.
If this kind of assert only triggers on OSX then the root cause of the issue may be in the Boost library’s or in the OSX posix thread handling.
from blackcoin-old.
@xranby, thankyou very much. Very helpful info :)
from blackcoin-old.
FYI: blackcoin internally uses pthread_cond_wait and this function has been broken on Mac OS X
it is fixed in boost 1.57
http://www.boost.org/users/history/version_1_57_0.html
I would recommend you to try building blackcoin on OSX using at least boost 1.57
The boost 1.58 beta also fixes some more thread issues:
http://www.boost.org/users/history/version_1_58_0.html
from blackcoin-old.
@xranby, perfect, i'll give that a go
from blackcoin-old.
unfortunately still getting the same error after updating boost. Updated ports and confirmed i'm now running version boost @1.57.0_1
Any ideas?
do i need to change any boost suffix in the .pro file to specify 1.57 ?
from blackcoin-old.
can you attach a debugger like gdb or lldb and print a backtrace
(bt using gdb)
https://sourceware.org/gdb/onlinedocs/gdb/Backtrace.html
(thread backtrace when using lldb)
http://lldb.llvm.org/tutorial.html
when you hit the assert?
from blackcoin-old.
Using LLDB within my Qt IDE, i think the first assert causing the error is in sync.h line 66
I'm far from being an expert at this stuff, could you confirm if this is correct?
Here is the full backtrace.
https://gist.github.com/mammix2/a8096aa3001bca71f42a
from blackcoin-old.
That looks like the static initialization order fiasco, and should be fixed by commit 7d766db
from blackcoin-old.
@rat4, well done buddy. that has sorted the problem :)
@xranby thanks for your help too.
from blackcoin-old.
If you guys want an BC Mac wallet compiled let me know. I'll be glad to help :)
from blackcoin-old.
From IRC: < nscrypto> hey, when compiling on osx I get this error http://pastebin.com/j2uKgT6s
It was boost 1.58
Edit: Update
< nscrypto> ok, i just tried compiling bitcoin and I get the same error
< nscrypto> must be boost/macports
from blackcoin-old.
The boost/static_assert.hpp is broken when boost has defined BOOST_NO_CXX11_STATIC_ASSERT
#ifndef BOOST_NO_CXX11_STATIC_ASSERT
#else
// code here is in clearly wrong order when using boost 1.58
#endif
I will explain:
/opt/local/include/boost/static_assert.hpp:87:26: note: template is declared here
template <bool x> struct STATIC_ASSERTION_FAILURE;
^
this line at 87 with the template definition has to be above the line 36 where the template is used:
/opt/local/include/boost/static_assert.hpp:36:48: note: expanded from macro 'BOOST_STATIC_ASSERT_MSG'
# define BOOST_STATIC_ASSERT_MSG( B, Msg ) BOOST_STATIC_ASSERT( B )
^
/opt/local/include/boost/static_assert.hpp:169:13: note: expanded from macro 'BOOST_STATIC_ASSERT'
sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( __VA_ARGS__ ) >)>\
^
Reorder the two blocks and you have fixed boost.
from blackcoin-old.
@xranby Could you be more specific please? I didn't understand what I needed to modify in /opt/local/include/boost/static_assert.hpp
so that this would work with boost 1.58
.
Thank you.
from blackcoin-old.
@Mrsmn current git master should work with boost 1.58
from blackcoin-old.
Thank you @rat4
Other coins are experiencing this issue as well. I just wish this was higher up on the Google search results.
from blackcoin-old.
I actually found an easier fix that worked for me on OSX 10.9.5:
brew install boost --c++11
Cheers.
from blackcoin-old.
@MystPhysX i forgot about this thread fixing that assert issue. Hope you get it sorted :)
from blackcoin-old.
@Mrsmn Thank you. I was not aware that Boost built without c++11 support by default, I'll have to keep that in mind in the future.
@mammix2 Cheers.
from blackcoin-old.
Related Issues (20)
- RPC is Broken on Windows HOT 3
- QR code option is displayed even if not compiled HOT 1
- importprivkey broken on both Mac OS X and Windows HOT 13
- Menubar is missing in linux QT HOT 7
- build win wallet error HOT 13
- Trying to reach you HOT 1
- compile error HOT 5
- nStakeMinAge still referenced in GetWeight HOT 1
- "misbehaving" false detection and submitblock
- UPNP HOT 2
- Yearly inflation is not 1% as described in whitepaper HOT 2
- watchonly branch is one year out of date HOT 2
- blackcoinclient - windows - not syncing
- blackcoin client 1.2.1 (qt, windows8) crashes on importprivkey HOT 1
- how to make a genesis block?
- How to mine the Genesis Block, who can give some advice?
- Add removeaddress for watchonly branch
- Compile with mxe on Linux a Windows Wallet (.exe) not successfully HOT 1
- harden blackcoin to be post quantum cryptography safe HOT 10
- i reported an exception,when i create a transaction and write OP_RETURN to this transaction , please help me. #11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from blackcoin-old.