* bug#35248: Monero fails to build and is outdated
@ 2019-04-12 22:19 swedebugia
2019-04-23 6:08 ` swedebugia
2020-01-27 22:11 ` Marius Bakke
0 siblings, 2 replies; 3+ messages in thread
From: swedebugia @ 2019-04-12 22:19 UTC (permalink / raw)
To: 35248
[-- Attachment #1: Type: text/plain, Size: 23 bytes --]
--
Cheers Swedebugia
[-- Attachment #2: jbnww265v6fb1x60f91kd3kwg4jl51-monero-0.12.3.0.drv.bz2 --]
[-- Type: application/x-bzip, Size: 16136 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* bug#35248: Monero fails to build and is outdated
2019-04-12 22:19 bug#35248: Monero fails to build and is outdated swedebugia
@ 2019-04-23 6:08 ` swedebugia
2020-01-27 22:11 ` Marius Bakke
1 sibling, 0 replies; 3+ messages in thread
From: swedebugia @ 2019-04-23 6:08 UTC (permalink / raw)
To: 35248
[-- Attachment #1.1.1: Type: text/plain, Size: 1233 bytes --]
I tried upgrading and solving all the errors I ran into. See patch attached.
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_protocol_handlerINS1_4coreEEEE24delete_upnp_port_mappingEj[_ZN8no\
detool11node_serverIN10cryptonote29t_cryptonote_protocol_handlerINS1_4coreEEEE24delete_upnp_port_mappingEj]+0x26a):
undefined reference to \
`FreeUPNPUrls'
ld:
main.cpp:(.text._ZN8nodetool11node_serverIN10cryptonote29t_cryptonote_protocol_handlerINS1_4coreEEEE24delete_upnp_port_mappingEj[_ZN8no\
detool11node_serverIN10cryptonote29t_cryptonote_protocol_handlerINS1_4coreEEEE24delete_upnp_port_mappingEj]+0x4b4):
undefined reference to \
`UPNP_DeletePortMapping'
ld:
main.cpp:(.text._ZN8nodetool11node_serverIN10cryptonote29t_cryptonote_protocol_handlerINS1_4coreEEEE24delete_upnp_port_mappingEj[_ZN8no\
detool11node_serverIN10cryptonote29t_cryptonote_protocol_handlerINS1_4coreEEEE24delete_upnp_port_mappingEj]+0x4de):
undefined reference to \
`strupnperror'
collect2: error: ld returned 1 exit status
Does anyone have an idea how to solve this?
--
Cheers Swedebugia
[-- Attachment #1.1.2: pkzifn0q5xhyw20gjbairymia6aq6y-monero-0.14.0.2.drv.bz2 --]
[-- Type: application/x-bzip2, Size: 26602 bytes --]
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.1.3: 0001-gnu-monero-Update-to-14.0.2.patch --]
[-- Type: text/x-patch; name="0001-gnu-monero-Update-to-14.0.2.patch", Size: 9612 bytes --]
From 970e9e82f243f105cba8482690326877e916499f Mon Sep 17 00:00:00 2001
From: swedebugia <swedebugia@riseup.net>
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.patch
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 © 2018 Adriano Peluso <catonano@gmail.com>
;;; Copyright © 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2019 swedebugia <swedebugia@riseup.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -424,7 +425,7 @@ other machines/servers. Electroncash does not download 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 download 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_SCOPE\\)") ""))
+ ;; Fix paths to shared miniupnp
+ (substitute* "src/p2p/net_node.inl"
+ (("<miniupnp/miniupnpc/miniupnpc.h>") "\"miniupnpc/miniupnpc.h\"")
+ (("<miniupnp/miniupnpc/upnpcommands.h>") "\"miniupnpc/upnpcommands.h\"")
+ (("<miniupnp/miniupnpc/upnperrors.h>") "\"miniupnpc/upnperrors.h\""))
+ #t))))
(build-system cmake-build-system)
(native-inputs
`(("doxygen" ,doxygen)
@@ -443,11 +463,13 @@ other machines/servers. Electroncash does not download 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}/translations")
-
- add_subdirectory(external)
-
-+# 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 dependency 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()
-
--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()
-
--message(STATUS "Using in-tree miniupnpc")
-+if(USE_SHARED_MINIUPNPC)
-+ message(STATUS "Using shared miniupnpc found at ${MINIUPNP_INCLUDE_DIR}")
-
--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 build")
-+ else()
-+ message(STATUS "Using miniupnpc from local source tree (/external/miniupnp/miniupnpc)")
-+ endif()
-
--set_property(TARGET libminiupnpc-static PROPERTY FOLDER "external")
--if(MSVC)
-- set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -wd4244 -wd4267")
--elseif(NOT MSVC)
-- set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_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 COMPILE_FLAGS " -wd4244 -wd4267")
-+ elseif(NOT MSVC)
-+ set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-undef -Wno-unused-result -Wno-unused-value")
-+ endif()
-
--set(UPNP_LIBRARIES "libminiupnpc-static" PARENT_SCOPE)
-+ set(UPNP_STATIC true PARENT_SCOPE)
-+ set(UPNP_LIBRARIES "libminiupnpc-static" PARENT_SCOPE)
-+endif()
-
- find_package(Unbound)
-
-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"
-
--#include <miniupnp/miniupnpc/miniupnpc.h>
--#include <miniupnp/miniupnpc/upnpcommands.h>
--#include <miniupnp/miniupnpc/upnperrors.h>
-+// We have to look for miniupnpc headers in different places, dependent on if its compiled or external
-+#ifdef UPNP_STATIC
-+ #include <miniupnp/miniupnpc/miniupnpc.h>
-+ #include <miniupnp/miniupnpc/upnpcommands.h>
-+ #include <miniupnp/miniupnpc/upnperrors.h>
-+#else
-+ #include "miniupnpc.h"
-+ #include "upnpcommands.h"
-+ #include "upnperrors.h"
-+#endif
-
- #undef MONERO_DEFAULT_LOG_CATEGORY
- #define MONERO_DEFAULT_LOG_CATEGORY "net.p2p"
---
-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 upstream
;; 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 server software.")
(commit commit)))
(sha256
(base32
- "0s67zcz978iapjlq30yy9dl8qda9xhrl3jdi5f99cnbglh5gy16a"))
+ "1gwnxmkcwp1za4996ycwylawyysqwcmdcskk33hfripg4pd9nv97"))
(file-name (string-append name "-" version "-checkout"))
(modules '((guix build utils)))
(snippet
--
2.19.2
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply related [flat|nested] 3+ messages in thread
* bug#35248: Monero fails to build and is outdated
2019-04-12 22:19 bug#35248: Monero fails to build and is outdated swedebugia
2019-04-23 6:08 ` swedebugia
@ 2020-01-27 22:11 ` Marius Bakke
1 sibling, 0 replies; 3+ messages in thread
From: Marius Bakke @ 2020-01-27 22:11 UTC (permalink / raw)
To: swedebugia, 35248-done
[-- Attachment #1: Type: text/plain, Size: 100 bytes --]
This issue seems to be solved now, at least on x86_64:
https://ci.guix.gnu.org/search?query=monero
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-01-27 22:12 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-04-12 22:19 bug#35248: Monero fails to build and is outdated swedebugia
2019-04-23 6:08 ` swedebugia
2020-01-27 22:11 ` Marius Bakke
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).