|
KaChingCoinDev
|
 |
April 25, 2014, 03:53:54 PM |
|
Edit: Tried building Bitcoin-qt 0.8.5, get this error: ld" -I"c:\Qt\4.8.4\mkspecs\win32-g++" -o build\main.o src\main.cpp In file included from src\txdb.h:9:0, from src\main.cpp:9: src\leveldb.h:9:24: fatal error: leveldb/db.h: No such file or directory #include <leveldb/db.h> ^ compilation terminated. Makefile.Release:1145: recipe for target 'build/main.o' failed mingw32-make: *** [build/main.o] Error 1
|
|
|
|
|
|
meelvanchris
|
 |
April 27, 2014, 12:35:21 PM |
|
Edit 1/2/3 ^ In file included from headers.h:97:0, from auxpow.cpp:4: util.h:674:16: error: conflicting declaration 'typedef void* pthread_t' typedef HANDLE pthread_t; ^ In file included from c:/mingw32/i686-w64-mingw32/include/c++/i686-w64-mingw32/b its/gthr-default.h:35:0, from c:/mingw32/i686-w64-mingw32/include/c++/i686-w64-mingw32/b its/gthr.h:148, from c:/mingw32/i686-w64-mingw32/include/c++/ext/atomicity.h:35 , from c:/mingw32/i686-w64-mingw32/include/c++/bits/ios_base.h:39 , from c:/mingw32/i686-w64-mingw32/include/c++/ios:42, from c:/mingw32/i686-w64-mingw32/include/c++/ostream:38, from c:/mingw32/i686-w64-mingw32/include/c++/iostream:39, from c:/deps/db-4.8.30.NC/build_unix/db_cxx.h:55, from headers.h:47, from auxpow.cpp:4: c:/mingw32/i686-w64-mingw32/include/pthread.h:196:19: error: 'pthread_t' has a p revious declaration as 'typedef uintptr_t pthread_t' typedef uintptr_t pthread_t; ^ In file included from headers.h:97:0, from auxpow.cpp:4: util.h: In function 'pthread_t CreateThread(void (*)(void*), void*, bool)': util.h:697:12: error: invalid conversion from 'HANDLE {aka void*}' to 'pthread_t {aka unsigned int}' [-fpermissive] return hthread; ^ make: *** [obj/nogui/auxpow.o] Error 1
Chris@acertje /c/namecoin-vQ.3.72/src $ /pthread.h:196:19: util.h : 578:12 error // couple of google searches led me to -D__NO_SYSTEM_INCLUDES But that was already in the DEF += of the makefile, so i still had nothing to try... And now Im at a loss.Ok. So im pretty sure i've narrowed down the problem. Just the solution keeps eluding me. Ming32, declares pthread_t and is loaded. However in the util.h files of 'older coins' they still make use of own pthreads declarations. And when util.h trys to declare pthread is causes a double data. (did i get that correct?) util.h 554 / 578 #ifdef WIN32 typedef HANDLE pthread_t;
inline pthread_t CreateThread(void(*pfn)(void*), void* parg, bool fWantHandle=false) { DWORD nUnused = 0; HANDLE hthread = CreateThread( NULL, // default security 0, // inherit stack size from parent (LPTHREAD_START_ROUTINE)pfn, // function pointer parg, // argument 0, // creation option, start immediately &nUnused); // thread identifier if (hthread == NULL) { printf("Error: CreateThread() returned %d\n", GetLastError()); return (pthread_t)0; } if (!fWantHandle) { CloseHandle(hthread); return (pthread_t)-1; } return hthread; } Above this piece of code it clearly states : // Note: It turns out we might have been able to use boost::thread // by using TerminateThread(boost::thread.native_handle(), 0); So my new question : How do i use this termintethread ? Or how do i alter the code so it will use ming32_pthread.h (and ofc not comprimise the rest of my files) ?
|
|
|
|
|
|
|
meelvanchris
|
 |
April 28, 2014, 11:41:00 AM |
|
And i was so close too. init.h i had copied from other working coin. Just the init.cpp part i missed.. lack of knowlegde... Either way like it or not, you are officially my new :   Now on to the next part.......have a 1 on 1 brawl with Qt-creator
|
|
|
|
|
meelvanchris
|
 |
April 28, 2014, 07:22:10 PM Last edit: April 29, 2014, 11:40:39 AM by meelvanchris |
|
Edit :Succes!!! Qt succesfully compiled. So im pretty sure my problem is not there. whenever i try to build qt. (using 4.8.5) it stops at the *.o files. g32 -lQtCore -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32 ./build\bitcoingui.o: file not recognized: File format not recognized collect2.exe: error: ld returned 1 exit status Tried many different things. Including just plain copying the required o-file from a similar build. And then it accepts it. And goes to the next error :Ty Zvs for resonding. It didnt have anything to do with / \ directly but it got me looking in the right direction. And as stupid as it is, I made a mayor error! Apperantly I committed to github after building qt on linux..... so the build folder was already there but not the right context, probably why the mixup with the compiler with : forward / backward \ obj/Palm_of_Hand \ set PATH=%PATH%;My:\ Face% Sources += Smash.cpp System.out.println " Doh!"
 So is my build corrupted somehow? Yes it kinda was. (Linux build on windows) After that i ran into a minor hiccup. #include <QMainWindow> not found. This was a Qt-version issue. Switching to other version it went along without any errors. So with much help from here ive managed to compile : Btc 0.9.1Daemon& Qt, Btc /Btc 0.8.6 Daemon& Qt / Namecoin 0.3.4 Daemon& QT (using the "easywinbuilder") / Asiacoin Daemon &Qt / And copyclone 0.6.3/ for me trickiest of all. So, thanks all for all your help, big one for Nitro. Im taking a little break from winbuilding with a newfound humbleness... =)
|
|
|
|
zvs
Legendary
Offline
Activity: 1694
Merit: 1003
|
 |
April 28, 2014, 10:32:01 PM |
|
Ok. I'm officially stuck again. Daemon compiled. Tested and working! yay! (ty) Now the Qt. Working with 0.6.3 coin ( i know i really shouldnt =) But ive started and made it this far... Also best way to learn i think. So hope ull bear with me for little while longer.... Also studied up on litecoin-qt.pro posted here : https://asktom.cf/index.php?topic=149479.msg5568805#msg5568805So im pretty sure my problem is not there. whenever i try to build qt. (using 4.8.5) it stops at the *.o files. g32 -lQtCore -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32 ./build\bitcoingui.o: file not recognized: File format not recognized collect2.exe: error: ld returned 1 exit status Tried many different things. Including just plain copying the required o-file from a similar build. And then it accepts it. And goes to the next error : g32 -lQtCore -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32 ./build\optionsdialog.o: file not recognized: File format not recognized collect2.exe: error: ld returned 1 exit status Untill i run out of *.o files to copy.... (and plain copying is ofc not a solution, but helps me as means to an end to narrowing down the problem) So is my build corrupted somehow? (daemon works) Is my Qt incompatible? Is there any way to get Qt/mingw32-make to tell me in more detail exactly what error's it encountered? Any info on how to proceed, or in witch direction to look would be much appreciated. first off, what's up with ./build\optionsdialog.o? i've never compiled anything in windows, so i dunno if it's supposed to look like that or not. but shouldn't it be .\build\optionsdialog.o? ./build\whatever in a normal windows environment wouldn't work (ed: well, ./xxx would work, but it wouldn't work for a directory change, as in ./xxx\xxx) fixed the damn slashes
|
|
|
|
|
Jori
Newbie
Offline
Activity: 25
Merit: 0
|
 |
April 29, 2014, 05:18:47 PM |
|
Ok. I'm officially stuck again. Daemon compiled. Tested and working! yay! (ty) Now the Qt. Working with 0.6.3 coin ( i know i really shouldnt =) But ive started and made it this far... Also best way to learn i think. So hope ull bear with me for little while longer.... Also studied up on litecoin-qt.pro posted here : https://asktom.cf/index.php?topic=149479.msg5568805#msg5568805So im pretty sure my problem is not there. whenever i try to build qt. (using 4.8.5) it stops at the *.o files. g32 -lQtCore -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32 ./build\bitcoingui.o: file not recognized: File format not recognized collect2.exe: error: ld returned 1 exit status Tried many different things. Including just plain copying the required o-file from a similar build. And then it accepts it. And goes to the next error : g32 -lQtCore -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32 ./build\optionsdialog.o: file not recognized: File format not recognized collect2.exe: error: ld returned 1 exit status Untill i run out of *.o files to copy.... (and plain copying is ofc not a solution, but helps me as means to an end to narrowing down the problem) So is my build corrupted somehow? (daemon works) Is my Qt incompatible? Is there any way to get Qt/mingw32-make to tell me in more detail exactly what error's it encountered? Any info on how to proceed, or in witch direction to look would be much appreciated. first off, what's up with ./build\optionsdialog.o? i've never compiled anything in windows, so i dunno if it's supposed to look like that or not. but shouldn't it be .\build\optionsdialog.o? ./build\whatever in a normal windows environment wouldn't work (ed: well, ./xxx would work, but it wouldn't work for a directory change, as in ./xxx\xxx) fixed the damn slashes I think that is a result of Linux style path naming of MSYS and Windows style recursion in the makefile (I guess). Nothing to worry about, Windows will generally accept both styles.
|
|
|
|
|
|
KaChingCoinDev
|
 |
April 30, 2014, 09:35:39 PM |
|
ld.exe: cannot find -ldb_cxx
I think that is a Berkeley DB issue
|
|
|
|
|
|
KaChingCoinDev
|
 |
May 01, 2014, 01:21:28 AM |
|
I think that is a Berkeley DB issue
How to resolve the issue Make sure in .pro file that Berkeley DB is mapped correctly
|
|
|
|
|
|
meelvanchris
|
 |
May 01, 2014, 04:32:10 PM Last edit: May 01, 2014, 09:03:51 PM by meelvanchris |
|
ld.exe: cannot find -ldb_cxx
I had loads of trouble with building wallets.... First thing i wanna share  Copy paste, works in bot cmd & shell (click on top left icon and :  After that : follow your errors down the rabithole..... (one of my nemisis's) In file included from headers.h:97:0, from auxpow.cpp:4: util.h:674:16: error: conflicting declaration 'typedef void* pthread_t' typedef HANDLE pthread_t; ^ c:/mingw32/i686-w64-mingw32/include/pthread.h:196:19: error: 'pthread_t' has a p revious declaration as 'typedef uintptr_t pthread_t' typedef uintptr_t pthread_t; ^ Means :In headers.h line 97 and auxpow.cpp line 4, it calls up util.h. And in util.h line 674 there is declaration of pthread_t This declaration is also defined in : ming/blabla/bla/phtread.h line 196 and thus causing a problem. So reading the error's will allow you to locate the problem // or if you copy paste for others here to help you locate it.
|
|
|
|
|
meelvanchris
|
 |
May 01, 2014, 04:42:44 PM |
|
Also i have a question for the pro's here. Building differnt types of wallets this past week. Moving some of them to other pc's for testing. Some require some *.lib files to be copied along with it. Others (like bitcoin) Don't. I'm pretty sure from what i've learned this is cause of -static /dynamic (read up a little on it)
But then again. Made sure all wallets i made were basicly static. And some still require additional *dll files to be copied with m. My question... : How come? Is this cause of the bitcoin : libpng-1.6.10/.libs/libpng.a that are inserted somehow? or is there something else i missed/ overlooked?
It's not a real problem. I'm just curious and learning.. ... so i wonder. (dont know a whole lot more c+ then what ive learned here from building wallets)
|
|
|
|
Jori
Newbie
Offline
Activity: 25
Merit: 0
|
 |
May 02, 2014, 09:29:17 AM |
|
Also i have a question for the pro's here. Building differnt types of wallets this past week. Moving some of them to other pc's for testing. Some require some *.lib files to be copied along with it. Others (like bitcoin) Don't. I'm pretty sure from what i've learned this is cause of -static /dynamic (read up a little on it)
But then again. Made sure all wallets i made were basicly static. And some still require additional *dll files to be copied with m. My question... : How come? Is this cause of the bitcoin : libpng-1.6.10/.libs/libpng.a that are inserted somehow? or is there something else i missed/ overlooked?
It's not a real problem. I'm just curious and learning.. ... so i wonder. (dont know a whole lot more c+ then what ive learned here from building wallets)
What DLL files? What cryptocurrencies?
|
|
|
|
|
presstab
Legendary
Offline
Activity: 1330
Merit: 1000
Blockchain Developer
|
 |
May 05, 2014, 04:04:28 AM |
|
Was able to update tekcoin to run with qt5 thanks to the guide on this thread. Thanks nitro!
|
|
|
|
|
nuggetbram
|
 |
May 06, 2014, 10:56:17 AM |
|
I've been tearing my hair out with this...
So painful!
It compiles "normally", but when I run it the windows blue ring spins for a second and then... Nothing. Whatsoever. I've included the dll's from my qt 4.8.5 bin folder and Mingw bin folder, are these the right ones to use? Any other ideas???
|
|
|
|
|
|
meelvanchris
|
 |
May 06, 2014, 05:19:06 PM |
|
What DLL files? What cryptocurrencies?
. Unfortunately my laptop went flying when i tripped over a cable with lp in hand.. Hd broke since it was on.. Did have spare one from other broken down laptop. So no real harm except that i lost some coins and all the work i had done on building wallets... =) So i cant say for 100% certainty anymore. But looking at other pc. The libs it needed ere : libgcc_s_dw2-1 libstdc++--6 libwinpthread-1 and i addd the Qtcore4, the QtGui4 and QtNetwork4 with it, since i was doing that anyways..... So not 100% what it needd to run (v.0.4.3 coin) but definately the libwinpthread-1 (makes sense sine that was one of the hickups i had buildig wallet. (fighting between ptread declaration in util and declaration in mingw_pthread) All in all i was just curious to what happens with the static /dynamic libs when building.... more of a lesson in c++ i guess then actually in building wallets =) @@@ nugget It compiles "normally", but when I run it the windows blue ring spins for a second and then... Nothing. Whatsoever. I've included the dll's from my qt 4.8.5 bin folder and Mingw bin folder, are these the right ones to use? Any other ideas???
Im definitely not a pro here.. glorified amateur at best =) If your starting on the pc you build it on, should work....since all the dll files that made it are already in place somewhere...If you switched it to other pc. then maybe its dll's. Did you also build the daemon by any chance? kind had the same thing with my homemade project. (after i transferred it to another pc) Windows never gave any messages. But with the daemon it started nagging about the dll files it was missing. So quick search on build pc. copied the files and it started working.. After the daemon gave ok, i switched to qt and it worked. Also got a brain spinner... Not sure if itll do much.. but maybe try starting the qt via command window? (cmd usually states things that are wrong better then windos desktop)
|
|
|
|
|
englishbad
|
 |
May 06, 2014, 05:30:12 PM |
|
keep my eyes!
|
|
|
|
|
|
KaChingCoinDev
|
 |
May 06, 2014, 06:05:16 PM |
|
I have a bunch of issues with "Previous declarations". It seems to be an issue with boost and mingw colliding. Here is error log after I enter make -f makefile.release: g++ -c -pipe -O2 -frtti -fexceptions -mthreads -fdiagnostics-show-option -Wall - Wextra -Wformat -Wformat-security -Wno-unused-parameter -DUNICODE -DQT_LARGEFILE _SUPPORT -DQT_GUI -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE -DBOOST_THREA D_PROVIDES_GENERIC_SHARED_MUTEX_ON_WIN -D__NO_SYSTEM_INCLUDES -DWIN32 -D_MT -DQT _DLL -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT _HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN - I"c:\Qt\4.8.4\include\QtCore" -I"c:\Qt\4.8.4\include\QtGui" -I"c:\Qt\4.8.4\inclu de" -I"src" -I"src\json" -I"src\qt" -I"c:\deps\boost_1_49_0\boost_1_49_0" -I"c:\ deps\db\build_unix" -I"c:\deps\ssl\include" -I"c:\Qt\4.8.4\include\ActiveQt" -I" build" -I"build" -I"c:\Qt\4.8.4\mkspecs\win32-g++" -o build\bitcoin.o src\qt\bit coin.cpp In file included from c:\deps\boost_1_49_0\boost_1_49_0/boost/thread/shared_mute x.hpp:14:0, from c:\deps\boost_1_49_0\boost_1_49_0/boost/thread/detail/thre ad_group.hpp:9, from c:\deps\boost_1_49_0\boost_1_49_0/boost/thread/thread.hpp: 24, from c:\deps\boost_1_49_0\boost_1_49_0/boost/thread.hpp:13, from src/util.h:22, from src/bignum.h:13, from src/main.h:9, from src/wallet.h:9, from src/init.h:9, from src\qt\bitcoin.cpp:11: c:\deps\boost_1_49_0\boost_1_49_0/boost/thread/win32/shared_mutex.hpp: In constr uctor 'boost::shared_mutex::shared_mutex()': c:\deps\boost_1_49_0\boost_1_49_0/boost/thread/win32/shared_mutex.hpp:95:33: war ning: missing initializer for member 'boost::shared_mutex::state_data::shared_wa iting' [-Wmissing-field-initializers] c:\deps\boost_1_49_0\boost_1_49_0/boost/thread/win32/shared_mutex.hpp:95:33: war ning: missing initializer for member 'boost::shared_mutex::state_data::exclusive ' [-Wmissing-field-initializers] c:\deps\boost_1_49_0\boost_1_49_0/boost/thread/win32/shared_mutex.hpp:95:33: war ning: missing initializer for member 'boost::shared_mutex::state_data::upgrade' [-Wmissing-field-initializers] c:\deps\boost_1_49_0\boost_1_49_0/boost/thread/win32/shared_mutex.hpp:95:33: war ning: missing initializer for member 'boost::shared_mutex::state_data::exclusive _waiting' [-Wmissing-field-initializers] c:\deps\boost_1_49_0\boost_1_49_0/boost/thread/win32/shared_mutex.hpp:95:33: war ning: missing initializer for member 'boost::shared_mutex::state_data::exclusive _waiting_blocked' [-Wmissing-field-initializers] In file included from src/netbase.h:12:0, from src/util.h:31, from src/bignum.h:13, from src/main.h:9, from src/wallet.h:9, from src/init.h:9, from src\qt\bitcoin.cpp:11: src/compat.h: At global scope: src/compat.h:29:15: error: conflicting declaration 'typedef u_int SOCKET' c:\mingw32\bin\../lib/gcc/x86_64-w64-mingw32/4.6.2/../../../../x86_64-w64-mingw3 2/include/psdk_inc/_socket_types.h:13:18: error: 'SOCKET' has a previous declara tion as 'typedef INT_PTR SOCKET' In file included from c:\deps\boost_1_49_0\boost_1_49_0/boost/interprocess/error s.hpp:37:0, from c:\deps\boost_1_49_0\boost_1_49_0/boost/interprocess/excep tions.hpp:20, from c:\deps\boost_1_49_0\boost_1_49_0/boost/interprocess/share d_memory_object.hpp:17, from c:\deps\boost_1_49_0\boost_1_49_0/boost/interprocess/ipc/m essage_queue.hpp:17, from src\qt\bitcoin.cpp:23: c:\deps\boost_1_49_0\boost_1_49_0/boost/interprocess/detail/win32_api.hpp:811:11 6: warning: declaration of 'void* boost::interprocess::winapi::CreateMutexA(boos t::interprocess::winapi::interprocess_security_attributes*, int, const char*)' w ith C language linkage [enabled by default] c:\deps\boost_1_49_0\boost_1_49_0/boost/thread/win32/thread_primitives.hpp:119:5 5: warning: conflicts with previous declaration 'void* boost::detail::win32::Cre ateMutexA(boost::detail::win32::_SECURITY_ATTRIBUTES*, int, const char*)' [enabl ed by default] c:\deps\boost_1_49_0\boost_1_49_0/boost/interprocess/detail/win32_api.hpp:816:12 7: warning: declaration of 'void* boost::interprocess::winapi::CreateSemaphoreA( boost::interprocess::winapi::interprocess_security_attributes*, long int, long i nt, const char*)' with C language linkage [enabled by default] c:\deps\boost_1_49_0\boost_1_49_0/boost/thread/win32/thread_primitives.hpp:120:5 5: warning: conflicts with previous declaration 'void* boost::detail::win32::Cre ateSemaphoreA(boost::detail::win32::_SECURITY_ATTRIBUTES*, long int, long int, c onst char*)' [enabled by default] In file included from c:\deps\boost_1_49_0\boost_1_49_0/boost/thread/shared_mute x.hpp:14:0, from c:\deps\boost_1_49_0\boost_1_49_0/boost/thread/detail/thre ad_group.hpp:9, from c:\deps\boost_1_49_0\boost_1_49_0/boost/thread/thread.hpp: 24, from c:\deps\boost_1_49_0\boost_1_49_0/boost/thread.hpp:13, from src/util.h:22, from src/bignum.h:13, from src/main.h:9, from src/wallet.h:9, from src/init.h:9, from src\qt\bitcoin.cpp:11: c:\deps\boost_1_49_0\boost_1_49_0/boost/thread/win32/shared_mutex.hpp: In member function 'T boost::shared_mutex::interlocked_compare_exchange(T*, T, T) [with T = boost::shared_mutex::state_data]': c:\deps\boost_1_49_0\boost_1_49_0/boost/thread/win32/shared_mutex.hpp:121:103: instantiated from here c:\deps\boost_1_49_0\boost_1_49_0/boost/thread/win32/shared_mutex.hpp:50:99: war ning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstri ct-aliasing] c:\deps\boost_1_49_0\boost_1_49_0/boost/thread/win32/shared_mutex.hpp:50:99: war ning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstri ct-aliasing] c:\deps\boost_1_49_0\boost_1_49_0/boost/thread/win32/shared_mutex.hpp:51:52: war ning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstri ct-aliasing] c:\deps\boost_1_49_0\boost_1_49_0/boost/thread/win32/shared_mutex.hpp:51:52: war ning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstri ct-aliasing] c:\deps\boost_1_49_0\boost_1_49_0/boost/system/error_code.hpp: At global scope: c:\deps\boost_1_49_0\boost_1_49_0/boost/system/error_code.hpp:214:36: warning: ' boost::system::posix_category' defined but not used [-Wunused-variable] c:\deps\boost_1_49_0\boost_1_49_0/boost/system/error_code.hpp:215:36: warning: ' boost::system::errno_ecat' defined but not used [-Wunused-variable] c:\deps\boost_1_49_0\boost_1_49_0/boost/system/error_code.hpp:216:36: warning: ' boost::system::native_ecat' defined but not used [-Wunused-variable] mingw32-make: *** [build/bitcoin.o] Error 1
|
|
|
|
|
presstab
Legendary
Offline
Activity: 1330
Merit: 1000
Blockchain Developer
|
 |
May 06, 2014, 07:19:15 PM |
|
I have a bunch of issues with "Previous declarations". It seems to be an issue with boost and mingw colliding. Here is error log after I enter make -f makefile.release:
You are using boost 1.49?
|
|
|
|
|
KaChingCoinDev
|
 |
May 06, 2014, 07:22:54 PM |
|
I have a bunch of issues with "Previous declarations". It seems to be an issue with boost and mingw colliding. Here is error log after I enter make -f makefile.release:
You are using boost 1.49? I have tried 55, 54, 53, and 49.
|
|
|
|
|
presstab
Legendary
Offline
Activity: 1330
Merit: 1000
Blockchain Developer
|
 |
May 06, 2014, 07:31:18 PM |
|
I have a bunch of issues with "Previous declarations". It seems to be an issue with boost and mingw colliding. Here is error log after I enter make -f makefile.release:
You are using boost 1.49? I have tried 55, 54, 53, and 49. I would definitely use boost 1.55, but I am not an expert. What coin are you trying to compile? Is it bitcoin from the thread or not?
|
|
|
|
|