Monero GUI
#1
Hi ,

I am new to this forum and the world of linux.
I am looking for some general directions for installing a software on pine book pro with (factory) Manjaro.
The software is Monero GUI:
https://github.com/monero-project/monero...-a-package

Is this feasible?
#2
monero & monero-gui are in the Arch/Manjaro repositories, but so far only for x86_64, not aarch64, so we'll have to build it from source.
#3
(09-13-2020, 03:55 PM)Dendrocalamus64 Wrote: monero & monero-gui are in the Arch/Manjaro repositories, but so far only for x86_64, not aarch64, so we'll have to build it from source.
Thank you Dendrocalamus,

Will have a look in to building from source. Can this be done on my pine book pro? Some tips specific for the pine book pro?
#4
Well, I got it to build. Now let's see if I can remember how.

There is a long list of dependency packages on this page:
https://github.com/monero-project/monero

Arch has a shorter list of deps for their binary package:
https://www.archlinux.org/packages/commu...64/monero/

The Manjaro x86_64 binary packages have the same dep list (in .PKGINFO) as the Arch ones.

This older howto on buillding on Arch from 2016 (monero v0.9 vs the current 0.17) lists some additional deps besides the arch/manjaro ones:
miniupnpc unbound graphviz doxygen curl gtest

monero has its own copies of gtest, miniupnpc & unbound as subprojects, and miniupnpc is no longer listed as a dependency. curl is probably installed already.

https://www.archlinux.org/packages/commu...onero-gui/
unbound is in the deps for monero-gui but not monero. Hm.

When I tried building with just the Arch deps, I see:
Code:
Monero crypto autodetect failed to find any libraries for target platform                                                                                                                    
Defaulting to internal crypto library for wallet                                              
-- Trezor support enabled                                                                      
-- Building tests                                                                              
-- Could NOT find GTest (missing: GTEST_LIBRARY GTEST_INCLUDE_DIR GTEST_MAIN_LIBRARY)          
-- GTest not found on the system: will use GTest bundled with this source                      
Monero crypto autodetect failed to find any libraries for target platform                                                                                                                    
Wallet crypto bench is using cn                                                                                                                                                              
-- Not building debug utilities                                                                
Doxygen: graphviz not found - graphs disabled                                                                                                                                                
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)

So the binary package just leaves out a couple of dependencies that turn off optional functionality; that's interesting.

Building monero-gui from the git clone will pull in monero as a subproject, so it's sufficient to just build monero-gui. (If you've already cloned & built monero, the directory would need to be symlinked from monero-gui/monero so the build script can find it.)

So far as the number of threads to use, with the default amount of swap, even allowing 4 causes the system to run out of swap & hang. We could configure more swap, but we don't want it to swap too much, and it already swaps a fair bit at points in the build when using 2 threads. The developers' guidance is one thread per 2 GB of RAM. The PBP has 4 GB RAM, two large cores, and four small cores. I ended up using two.

Note that the SD card installs of Manjaro apparently don't configure any swap by default, so if you're not on an eMMC install, you'll need to configure swap or even two threads will hang.

Over several attempts to build, I came to prefer leaving nothing else running, display sleep turned off, and "top" up & visible so I could see at a glance if it'd run out of swap & wedged. If you want to use the system interactively at the same time, use 1 thread & configure more swap.

Make sure you have a couple GB of spare disk space before starting.

It does build, but it's enough of a chore on this hardware that someone should really start maintaining an aarch64 binary package.


So, anyway, I'd say,
Code:
sudo pacman -S --needed git base-devel boost cmake doxygen graphviz gtest hidapi libunwind openssl pcsclite protobuf readline zeromq hicolor-icon-theme qt5-base qt5-declarative qt5-graphicaleffects qt5-quickcontrols qt5-quickcontrols2 qt5-svg qt5-xmlpatterns unbound

git clone https://github.com/monero-project/monero-gui.git

cd monero-gui
QT_SELECT=5 CPU_CORE_COUNT=2 ./build.sh

Did that do it? Did I forget anything?
#5
More notes:
- Even with -j1 and 500MB swap, it still died while building wallet2.cpp.o. Currently using 2GB swap with -j1.

- System is fine for interactive use (e.g. light web browsing) while building with -j1 & enough swap.

- If you are running off SD card, you can of course mount the eMMC & use its swap files & swap partitions, as well as making more swap files on it.

- With an SSD (such as eMMC) there is no difference between using a swap file & a swap partition, so there is no longer a need to repartition in order to efficiently increase swap space. Just delete the tiny 500MB swapfile that Debian+MATE came with and replace with a 2GB. (See man mkswap for details.) And you can temporarily create a 6GB swapfile2 and swapon both of them.

- There is indeed a use case for 8GB RAM or more on the Pinebook Pro, even with everything else the same. I just ran into it. Likewise the 128GB eMMCs are looking better all the time.
#6
Okay! I built an installable aarch64 binary package of monero (without the gui) from the Manjaro source package. Seems to run so far. Details of howto & trying building a monero-gui binary package tomorrow.

Now, where should I host this 21MB file? Can we get a PBP User Repository together?

[edit] monero-gui binary package built, 6.1 MB, seems to run.
#7
https://github.com/Dendrocalamus64/PBP-U...pkg.tar.xz
https://github.com/Dendrocalamus64/PBP-U...pkg.tar.xz

Install from file or URL with "sudo pacman -U <whichever>". monero should be first since it's a dependency of monero-gui.

Where to get the existing PKGBUILD scripts:
asp export <packagename>

Changes made to PKGBUILD:
monero: arch=('aarch64')
monero-gui: That plus adding CPU_CORE_COUNT=2 in front of ./build.sh in build().

To do:
- Build in a clean chroot?


Forum Jump:


Users browsing this thread: 3 Guest(s)