Ich versuche seit einigen Stunden entweder Bitcoin Core oder Litecoin Core zu Compileren, aber ich bekomme bei beiden eine Fehlermeldung vom Compiler die mir absolut nichts sagt.
Da du von Big Sur sprichst würde ich dir grundsätzlich empfehlen auf die neuste macOS Version (13.1) zu Updaten (sofern dein Mac das unterstützt). Hat aber erstmal nichts mit deinem Problem zu tun.
Hast du einen Intel oder Arm Mac?
Mach mal g++ --version. Da wird dir, wie man an deiner Fehlermeldung schon sieht, wahrscheinlich Apple Clang aufgetischt. Ich würde empfehlen g++ mit Homebrew zu installieren (brew install g++) und in der Config zu hinterlegen:
CXX=/opt/homebrew/bin/g++-12 ./configure
Ich habe jedenfalls mit Apple Clang sehr häufig Probleme. Mit Bitcoin Core allerdings nicht.
Ich verwende noch ein älteres Intel Modell, ende 2013. Upgraden auf neuere OSX Versionen ist da bissel Tricky .
Ich werden gleichmal deine G++ Lösung probieren, aktuell Arbeitet er noch ^^
Ich konnte zumindest den Fehler einschränken mit:
make -s >/dev/null
Somit konnte ich herausfinden dass es ein Problem mit Boostlib gab. Also habe ich da einfach versucht eine Ältere Version zu Installieren (genau die, welche LTC auch benötigt). Wenn das Klappt werde ich den Beitrag ergänzen mit meiner Lösung und wenn es nicht klappt gehe ich deine durch. Wo ich sogar zugeben muss, die ist wahrscheinlich besser als meine Lösung, einfach eine ältere Boostlib zu verwenden
Ergebnis meines Versuches:
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [litecoind] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1
checking for main in -lfmt… no
configure: error: libfmt missing
wenn ich es mit CXX=/usr/local/bin/g++-12 ./configure probiere.
Ich bekomme langsam den Eindruck dass unter etwas älteren Macs fast unmöglich ist die neusten Core Version zu Compelieren. Also was das angeht ist C++ wirklich nicht schön
libfmt Installiert, aber bekomme Permanent die gleiche Meldung.
Hast du hier eigentlich keinen konkreten Error bekommen?
Hast du Xcode fest installiert oder nur die Command Line Tools? Ich weiß nicht ob die Xcode Version die du dir aus dem App Store ziehen kannst abhängig von der installierten macOS Version ist, aber vielleicht kannst du damit ein paar Lücken füllen.
Wenn ich make -s >/dev/null verwende erhalte ich folgende Ausgabe:
clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument]
wallet/test/init_test_fixture.cpp:34:52: error: no member named 'BOOST_FILESYSTEM_C_STR' in 'boost::filesystem::path'
std::ofstream f(m_walletdir_path_cases["file"].BOOST_FILESYSTEM_C_STR);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
In file included from wallet/test/init_test_fixture.cpp:9:
In file included from ./wallet/test/init_test_fixture.h:11:
In file included from ./test/util/setup_common.h:21:
In file included from /usr/local/include/boost/thread/thread.hpp:12:
In file included from /usr/local/include/boost/thread/thread_only.hpp:22:
/usr/local/include/boost/thread/detail/thread.hpp:118:18: warning: 'run' overrides a member function but is not marked 'override' [-Wsuggest-override]
void run()
^
/usr/local/include/boost/thread/pthread/thread_heap_alloc.hpp:29:24: note: in instantiation of template class 'boost::detail::thread_data<void (*)()>' requested here
return new T(static_cast<A1&&>(a1));
^
/usr/local/include/boost/thread/detail/thread.hpp:221:52: note: in instantiation of function template specialization 'boost::detail::heap_new<boost::detail::thread_data<void (*)()>, void (*)()>' requested here
return detail::thread_data_ptr(detail::heap_new<detail::thread_data<void(*)()> >(
^
/usr/local/include/boost/thread/pthread/thread_data.hpp:169:26: note: overridden virtual function is here
virtual void run()=0;
^
1 warning and 1 error generated.
make[2]: *** [wallet/test/test_test_litecoin-init_test_fixture.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1
XCode ist installiert also vollständig, ich brauchte das auch für Flutter. Ich habe ja Bitcoin Core 21 am Laufen, vor 1 Woche auf diesem Mac Kompiliert. Deshalb werden meine Haare grau warum es bei den neuen Versionen nicht gelingt. Und vor allem will ich erstmal den neusten Litcoin Core Kompilieren, dass ist „Wichtiger“.
Ich habe es auch bereits mit NoGui und allem Probiert. Ich sitze wirklich seit mehreren Stunden bei Google, in Github und komme einfach keinen Schritt weiter.
checking whether le32toh is declared... no
checking whether le64toh is declared... no
checking whether htole16 is declared... no
checking whether htole32 is declared... no
checking whether htole64 is declared... no
checking whether be16toh is declared... no
checking whether be32toh is declared... no
checking whether be64toh is declared... no
checking whether htobe16 is declared... no
checking whether htobe32 is declared... no
checking whether htobe64 is declared... no
checking whether bswap_16 is declared... no
checking whether bswap_32 is declared... no
checking whether bswap_64 is declared... no
checking for __builtin_clzl... yes
checking for __builtin_clzll... yes
checking for getmemoryinfo... no
checking for mallopt M_ARENA_MAX... no
checking for posix_fallocate... no
checking for visibility attribute... yes
checking for thread_local support... yes
checking for gmtime_r... yes
checking for Linux getrandom syscall... no
checking for getentropy... no
checking for getentropy via random.h... yes
checking for sysctl... yes
checking for sysctl KERN_ARND... no
checking for if type char equals int8_t... no
checking for fdatasync... no
checking for F_FULLFSYNC... yes
checking for O_CLOEXEC... yes
checking for __builtin_prefetch... yes
checking for _mm_prefetch... yes
checking for strong getauxval support in the system headers... no
checking for weak getauxval support in the compiler... yes
checking for std::system... yes
checking for ::_wsystem... no
checking for Qt5Core >= 5.5.1... yes
checking for Qt5Gui >= 5.5.1... yes
checking for Qt5Widgets >= 5.5.1... yes
checking for Qt5Network >= 5.5.1... yes
checking for Qt5Test >= 5.5.1... yes
checking for Qt5DBus >= 5.5.1... yes
checking for static Qt... no
checking whether -fPIE can be used with this Qt config... yes
checking for moc-qt5... no
checking for moc5... no
checking for moc... /usr/local/Cellar/qt@5/5.15.8_1/bin/moc
checking for uic-qt5... no
checking for uic5... no
checking for uic... /usr/local/Cellar/qt@5/5.15.8_1/bin/uic
checking for rcc-qt5... no
checking for rcc5... no
checking for rcc... /usr/local/Cellar/qt@5/5.15.8_1/bin/rcc
checking for lrelease-qt5... no
checking for lrelease5... no
checking for lrelease... /usr/local/Cellar/qt@5/5.15.8_1/bin/lrelease
checking for lupdate-qt5... no
checking for lupdate5... no
checking for lupdate... /usr/local/Cellar/qt@5/5.15.8_1/bin/lupdate
checking whether the linker accepts -framework Foundation -framework ApplicationServices -framework AppKit... yes
checking whether to build Litecoin Core GUI... yes (Qt5)
checking for sqlite3 >= 3.7.17... yes
checking whether to build wallet with support for sqlite... yes
checking for miniupnpc/miniwget.h... no
checking for miniupnpc/miniupnpc.h... no
checking for miniupnpc/upnpcommands.h... no
checking for miniupnpc/upnperrors.h... no
checking for boostlib >= 1.58.0 (105800)... yes
checking whether the Boost::System library is available... yes
checking for exit in -lboost_system... yes
checking whether the Boost::Filesystem library is available... yes
checking for exit in -lboost_filesystem... yes
checking whether the Boost::Thread library is available... yes
checking for exit in -lboost_thread-mt... yes
checking whether the Boost::Unit_Test_Framework library is available... yes
checking for dynamic linked boost test... yes
checking for libssl... yes
checking for libcrypto... yes
checking for libevent >= 2.0.21... yes
checking for libevent_pthreads >= 2.0.21... yes
checking for libqrencode... yes
checking for libzmq >= 4... yes
checking for main in -lfmt... no
configure: error: libfmt missing
Ich habe langsam den Eindruck es liegt am Mac, also ich bin wirklich leider jemand der erst den PC verlassen kann wenn er geschafft hat was er vor hatte. Naja entweder Mac gegen Linux austauschen oder eine neue Version drauf zwingen. Aber ich bleibe dabei, nach fast 1 Tag versuchen. Es ist unmöglich die neusten Core Varianten auf Mac OS Big Sure zu erstellen und das ist für mich das größte Probleme mit C++, wer weiß was ich mir zerschossen habe beim Versuch die Richtig lib zu Installieren und das Problem zu lösen… Wird zeit das auch im Coding Space ein Umbruch passiert. Ja ich weiß dass ich unfähig bin C++ zu Kompilieren aber es sagt viel aus wenn man Student sein muss um C++ Kompilieren zu können. Leider bin ich noch lange nicht gut genug dass ich mir zu traue Bitcoin Core alleine in Rust zu Portieren. Bin also darauf angewiesen auf die Arbeit von anderen. naja sollte ich es irgendwie hinbekomme schreibe ich meine Lösung hier rein.