From mboxrd@z Thu Jan 1 00:00:00 1970 From: swedebugia Subject: bug#35248: Monero fails to build and is outdated Date: Tue, 23 Apr 2019 08:08:58 +0200 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="4jeuTB7b7b31dVFCNQAsfL5gdo5FHoskB" Return-path: Received: from eggs.gnu.org ([209.51.188.92]:45797) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hIoiw-0006A9-FM for bug-guix@gnu.org; Tue, 23 Apr 2019 02:16:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hIoa6-00026R-KK for bug-guix@gnu.org; Tue, 23 Apr 2019 02:07:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:38651) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hIoa5-00025V-Vg for bug-guix@gnu.org; Tue, 23 Apr 2019 02:07:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hIoa5-0000px-Nw for bug-guix@gnu.org; Tue, 23 Apr 2019 02:07:01 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: 35248@debbugs.gnu.org This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --4jeuTB7b7b31dVFCNQAsfL5gdo5FHoskB Content-Type: multipart/mixed; boundary="BPxZjsnTeZYki8fwPVpRXfTrxAXdJKQ9Q"; protected-headers="v1" From: swedebugia To: 35248@debbugs.gnu.org Message-ID: Subject: Re: bug#35248: Monero fails to build and is outdated References: In-Reply-To: --BPxZjsnTeZYki8fwPVpRXfTrxAXdJKQ9Q Content-Type: multipart/mixed; boundary="------------04F8EF89B663B8EAF194398A" Content-Language: en-US This is a multi-part message in MIME format. --------------04F8EF89B663B8EAF194398A Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable I tried upgrading and solving all the errors I ran into. See patch attach= ed. I got stuck with a bunch of these linker errors in the end (97%) after having upgraded the monero-upnpc also: ld: main.cpp:(.text._ZN8nodetool11node_serverIN10cryptonote29t_cryptonote_pro= tocol_handlerINS1_4coreEEEE24delete_upnp_port_mappingEj[_ZN8no\ detool11node_serverIN10cryptonote29t_cryptonote_protocol_handlerINS1_4cor= eEEEE24delete_upnp_port_mappingEj]+0x26a): undefined reference to \ `FreeUPNPUrls' ld: main.cpp:(.text._ZN8nodetool11node_serverIN10cryptonote29t_cryptonote_pro= tocol_handlerINS1_4coreEEEE24delete_upnp_port_mappingEj[_ZN8no\ detool11node_serverIN10cryptonote29t_cryptonote_protocol_handlerINS1_4cor= eEEEE24delete_upnp_port_mappingEj]+0x4b4): undefined reference to \ `UPNP_DeletePortMapping' ld: main.cpp:(.text._ZN8nodetool11node_serverIN10cryptonote29t_cryptonote_pro= tocol_handlerINS1_4coreEEEE24delete_upnp_port_mappingEj[_ZN8no\ detool11node_serverIN10cryptonote29t_cryptonote_protocol_handlerINS1_4cor= eEEEE24delete_upnp_port_mappingEj]+0x4de): undefined reference to \ `strupnperror' collect2: error: ld returned 1 exit status Does anyone have an idea how to solve this? --=20 Cheers Swedebugia --------------04F8EF89B663B8EAF194398A Content-Type: application/x-bzip2; name="pkzifn0q5xhyw20gjbairymia6aq6y-monero-0.14.0.2.drv.bz2" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="pkzifn0q5xhyw20gjbairymia6aq6y-monero-0.14.0.2.drv.bz2" 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 --------------04F8EF89B663B8EAF194398A Content-Type: text/x-patch; name="0001-gnu-monero-Update-to-14.0.2.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0001-gnu-monero-Update-to-14.0.2.patch" =46rom 970e9e82f243f105cba8482690326877e916499f Mon Sep 17 00:00:00 2001 From: swedebugia Date: Tue, 23 Apr 2019 07:56:08 +0200 Subject: [PATCH] gnu: monero: Update to 14.0.2 * gnu/packages/finance.scm (monero): Update to 14.0.2. * gnu/packages/finance.scm (monero)[source]: New snippet. [inputs]: Add hidapi. * gnu/packages/patches/monero-use-system-miniupnpc.patch: Deleted. * gnu/packages/upnp.scm(monero-miniupnpc): Update to 14.0.2. --- gnu/packages/finance.scm | 28 ++++- .../patches/monero-use-system-miniupnpc.patch | 111 ------------------ gnu/packages/upnp.scm | 8 +- 3 files changed, 29 insertions(+), 118 deletions(-) delete mode 100644 gnu/packages/patches/monero-use-system-miniupnpc.patc= h diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index bd30d466f..f629d59e7 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -11,6 +11,7 @@ ;;; Copyright =C2=A9 2018 Adriano Peluso ;;; Copyright =C2=A9 2018, 2019 Nicolas Goaziou = ;;; Copyright =C2=A9 2018 Arun Isaac +;;; Copyright =C2=A9 2019 swedebugia ;;; ;;; This file is part of GNU Guix. ;;; @@ -424,7 +425,7 @@ other machines/servers. Electroncash does not downlo= ad the Bitcoin Cash blockch ;; the system's dynamically linked library. (package (name "monero") - (version "0.12.3.0") + (version "0.14.0.2") (source (origin (method git-fetch) @@ -432,10 +433,29 @@ other machines/servers. Electroncash does not down= load the Bitcoin Cash blockch (url "https://github.com/monero-project/monero") (commit (string-append "v" version)))) (file-name (git-file-name name version)) - (patches (search-patches "monero-use-system-miniupnpc.patch")) (sha256 (base32 - "14db9kgjm2ha93c2x5fjdw01xaqshn756qr3x2cnzyyjh7caz5qd")))) + "0n23axpng50ixk8s3r88c7kqcbvzs1f4avsg4i19klhy90qvn5lv")) + (modules '((guix build utils))) + (snippet + '(begin + ;; This makes sure we use and find our miniupnp + ;; Delete 2 empty folders + (for-each delete-file-recursively + '("external/miniupnp" "external/unbound")) + ;; Don't default to the in-tree miniupnp + (chmod "external/CMakeLists.txt" #o644) + (substitute* "external/CMakeLists.txt" + (("message\\(STATUS \"Using in-tree miniupnpc\"\\)") "") + (("add_subdirectory\\(miniupnp/miniupnpc\\)") "") + (("set_property\\(TARGET libminiupnpc-static.*") "") + (("set\\(UPNP_LIBRARIES \"libminiupnpc-static\" PARENT_SCOP= E\\)") "")) + ;; Fix paths to shared miniupnp + (substitute* "src/p2p/net_node.inl" + (("") "\"miniupnpc/miniupnp= c.h\"") + (("") "\"miniupnpc/upnpc= ommands.h\"") + (("") "\"miniupnpc/upnperr= ors.h\"")) + #t)))) (build-system cmake-build-system) (native-inputs `(("doxygen" ,doxygen) @@ -443,11 +463,13 @@ other machines/servers. Electroncash does not down= load the Bitcoin Cash blockch ("graphviz" ,graphviz) ("pkg-config" ,pkg-config))) (inputs + ;; TODO add readline support `(("bind" ,isc-bind) ("boost" ,boost) ("zeromq" ,zeromq) ("cppzmq" ,cppzmq) ("expat" ,expat) + ("hidapi" ,hidapi) ("libsodium" ,libsodium) ("libunwind" ,libunwind) ("lmdb" ,lmdb) diff --git a/gnu/packages/patches/monero-use-system-miniupnpc.patch b/gnu= /packages/patches/monero-use-system-miniupnpc.patch deleted file mode 100644 index 6bc825d12..000000000 --- a/gnu/packages/patches/monero-use-system-miniupnpc.patch +++ /dev/null @@ -1,111 +0,0 @@ -This reverts commit 1e20d705e7c64d2b17c031f345057d1e8850fafa, so that it= 's possible to use our own -miniupnpc, instead of a git submodule. ---- - CMakeLists.txt | 8 ++++++++ - external/CMakeLists.txt | 41 +++++++++++++++++++++++++++++++---------- - src/p2p/net_node.inl | 13 ++++++++++--- - 3 files changed, 49 insertions(+), 13 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3b93988e..ef948885 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -430,6 +430,14 @@ include_directories("${CMAKE_CURRENT_BINARY_DIR}/tr= anslations") -=20 - add_subdirectory(external) -=20 -+# Final setup for miniupnpc -+if(UPNP_STATIC OR IOS) -+ add_definitions("-DUPNP_STATIC") -+else() -+ add_definitions("-DUPNP_DYNAMIC") -+ include_directories(${UPNP_INCLUDE}) -+endif() -+ - # Final setup for libunbound - include_directories(${UNBOUND_INCLUDE}) - link_directories(${UNBOUND_LIBRARY_DIRS}) -diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt -index 1fc4d64c..b4f712ee 100644 ---- a/external/CMakeLists.txt -+++ b/external/CMakeLists.txt -@@ -34,21 +34,42 @@ - # We always compile if we are building statically to reduce static depe= ndency issues... - # ...except for FreeBSD, because FreeBSD is a special case that doesn't= play well with - # others. -+if(NOT IOS) -+ find_package(Miniupnpc QUIET) -+endif() -=20 --find_package(Miniupnpc REQUIRED) -+# If we have the correct shared version and we're not building static, = use it -+if(STATIC OR IOS) -+ set(USE_SHARED_MINIUPNPC false) -+elseif(MINIUPNP_FOUND AND MINIUPNPC_VERSION_1_7_OR_HIGHER) -+ set(USE_SHARED_MINIUPNPC true) -+endif() -=20 --message(STATUS "Using in-tree miniupnpc") -+if(USE_SHARED_MINIUPNPC) -+ message(STATUS "Using shared miniupnpc found at ${MINIUPNP_INCLUDE_DI= R}") -=20 --add_subdirectory(miniupnp/miniupnpc) -+ set(UPNP_STATIC false PARENT_SCOPE) -+ set(UPNP_INCLUDE ${MINIUPNP_INCLUDE_DIR} PARENT_SCOPE) -+ set(UPNP_LIBRARIES ${MINIUPNP_LIBRARY} PARENT_SCOPE) -+else() -+ if(STATIC) -+ message(STATUS "Using miniupnpc from local source tree for static b= uild") -+ else() -+ message(STATUS "Using miniupnpc from local source tree (/external/m= iniupnp/miniupnpc)") -+ endif() -=20 --set_property(TARGET libminiupnpc-static PROPERTY FOLDER "external") --if(MSVC) -- set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPIL= E_FLAGS " -wd4244 -wd4267") --elseif(NOT MSVC) -- set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPIL= E_FLAGS " -Wno-undef -Wno-unused-result -Wno-unused-value") --endif() -+ add_subdirectory(miniupnp/miniupnpc) -+ -+ set_property(TARGET libminiupnpc-static PROPERTY FOLDER "external") -+ if(MSVC) -+ set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMP= ILE_FLAGS " -wd4244 -wd4267") -+ elseif(NOT MSVC) -+ set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMP= ILE_FLAGS " -Wno-undef -Wno-unused-result -Wno-unused-value") -+ endif() -=20 --set(UPNP_LIBRARIES "libminiupnpc-static" PARENT_SCOPE) -+ set(UPNP_STATIC true PARENT_SCOPE) -+ set(UPNP_LIBRARIES "libminiupnpc-static" PARENT_SCOPE) -+endif() -=20 - find_package(Unbound) -=20 -diff --git a/src/p2p/net_node.inl b/src/p2p/net_node.inl -index 9b21705e..76340a22 100644 ---- a/src/p2p/net_node.inl -+++ b/src/p2p/net_node.inl -@@ -49,9 +49,16 @@ - #include "storages/levin_abstract_invoke2.h" - #include "cryptonote_core/cryptonote_core.h" -=20 --#include --#include --#include -+// We have to look for miniupnpc headers in different places, dependent= on if its compiled or external -+#ifdef UPNP_STATIC -+ #include -+ #include -+ #include -+#else -+ #include "miniupnpc.h" -+ #include "upnpcommands.h" -+ #include "upnperrors.h" -+#endif -=20 - #undef MONERO_DEFAULT_LOG_CATEGORY - #define MONERO_DEFAULT_LOG_CATEGORY "net.p2p" ---=20 -2.16.2 - diff --git a/gnu/packages/upnp.scm b/gnu/packages/upnp.scm index 3f3d80f57..2d3fb4ad5 100644 --- a/gnu/packages/upnp.scm +++ b/gnu/packages/upnp.scm @@ -84,12 +84,12 @@ over IRC, instant messaging, network games, and most = server software.") ;; Monero-project has been maintaining its own version of the package = since ;; release 0.12.2.0. It includes security fixes not included in upstr= eam ;; releases. - (let ((revision "0") - (commit "6a63f9954959119568fbc4af57d7b491b9428d87")) + (let ((revision "1") + (commit "27d34098a331e4468a02adf65108bf74cae39ed7")) (package (inherit miniupnpc) (name "miniupnpc-monero") - (version (string-append "2.1-monero-0.12.3.0-" revision "." + (version (string-append "2.1-monero-0.14.0.2-" revision "." (string-take commit 7))) (source (origin (method git-fetch) @@ -98,7 +98,7 @@ over IRC, instant messaging, network games, and most se= rver software.") (commit commit))) (sha256 (base32 - "0s67zcz978iapjlq30yy9dl8qda9xhrl3jdi5f99cnbglh5gy16a"= )) + "1gwnxmkcwp1za4996ycwylawyysqwcmdcskk33hfripg4pd9nv97"= )) (file-name (string-append name "-" version "-checkout"))= (modules '((guix build utils))) (snippet --=20 2.19.2 --------------04F8EF89B663B8EAF194398A-- --BPxZjsnTeZYki8fwPVpRXfTrxAXdJKQ9Q-- --4jeuTB7b7b31dVFCNQAsfL5gdo5FHoskB Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYIAB0WIQR6IWNlOiLn9hD6a1XPzUNbKAts0gUCXL6r+gAKCRDPzUNbKAts 0pvoAP4s82Z1Zb1PU15C9/avFGVZ004k3TZRD9x9eD9BmtyKAAEAg3Yp2EKG92DE RbkSSQ0pvHG/0MWu2OwGZxR7Xs+taQc= =9YJ9 -----END PGP SIGNATURE----- --4jeuTB7b7b31dVFCNQAsfL5gdo5FHoskB--