After the tutorial of Install Fedora 27 KDE Plasma Desktop this tutorial is mainly to see what to expect from a freshly installed Fedora 27 KDE Plasma Desktop – the look and feel of the new KDE GUI (version 5.12 of KDE Plasma).
The idea of this tutorial is just to see what to expect from Fedora 27 KDE Plasma – the look and feel of the GUI, the default installed programs and their look and how to do some basic steps with them, it is included also screenshots of the KDE settings program. Here you’ll find more than 160 screenshots and not so many text we do not want to turn this review of many text and version information and 3 meaningless screenshot, which you cannot see anything for the user interface, which these days is the primary goal of a Desktop system. You can expect more of this kind reviews in the future…
Category: Linux
Linux rules the world, right?
Install Fedora 27 LXDE Desktop
This tutorial will show you the simple steps of installing a modern Linux Distribution like Fedora 27 LXDE for the user graphical interface. LXDE stands for Lightweight X11 Desktop Environment and it has comparatively low resource requirements. This GUI is good for using with older hardware. First we present the basic steps for installing the Operating system in addition to your present operating systems (here we have two: Windows 10 and Ubuntu 17) and then you can see some screenshots of the installed system and the look and feel of it. We have another tutorials showing more screenshots of the installed and working Fedora 27 LXDE (Gnome and KDE plasma) – so you can decide which of them to try first – coming soon. All of the installation setups are very similar for all GUIs of Fedora 27 it loads a live edition of the version of Fedora 27 you install and then the setup is launched by the user, the setup almost identical in all editions, but we do not want to give you a tutorials with “spaghetti” and unstructured flow of steps to follow.
We used the following ISO for the installation process:
https://download.fedoraproject.org/pub/fedora/linux/releases/27/Spins/x86_64/iso/Fedora-LXDE-Live-x86_64-27-1.6.iso
It is a LIVE image so you can try it before installing. The easiest way is just to download the image and burn it to a DVD disk and then follow the installation below:
STEP 1) The system is resetting
grub2: grub-install: error: disk mduuid not found even after the partition has bios_grub on
This tutorial is for all of us that has done everything by the book with parted and still they receive an error when installing grub2 to the boot sector!
srv@local ~ # grub2-install /dev/sda Installing for i386-pc platform. grub2-install: error: disk `mduuid/613f3f0bb202bf03a5664e17b3d568a0' not found.
The solution is relatively simple:
Boot from a rescue disk and reinstall grub from there!
The problem is that currently loaded kernel remembers the old device, which was deleted, and probably you won’t be able to fresh the metadata in the memory. In fact, if you receive this error when booted in a rescue disc you probably have done some changes on the layout of the disks or the partitions or the RAID devices and you must reboot the machine again and then JUST reinstall the grub.
Such problems could have happened if you deleted partitions or made some disk layout changes (using parted?) on mounted or partitions in use and the kernel could loaded the partition changes in memory. The parted reports the changes will take effect after system reboot.
STEP 1) Check the devices and mount the root and boot
They might be on the same device here they are on different MD devices (in the case, software array). md1 is the boot and md2 is the root.
root@rescue ~ # cat /proc/mdstat Personalities : [raid1] md3 : active raid1 sda5[3] sdb5[2] 422716416 blocks super 1.2 [2/2] [UU] bitmap: 0/4 pages [0KB], 65536KB chunk md2 : active raid1 sda3[3] sdb3[2] 31440896 blocks super 1.2 [2/2] [UU] md1 : active raid1 sda2[3] sdb2[2] 523712 blocks super 1.2 [2/2] [UU] md0 : active raid1 sda1[3] sdb1[2] 33521664 blocks super 1.2 [2/2] [UU] unused devices: <none> root@rescue ~ # mount /dev/md2 /mnt/ root@rescue ~ # mount /dev/md1 /mnt/boot/ root@rescue ~ # ls -altr /mnt/ total 396K drwxr-xr-x. 2 root root 4.0K Apr 11 2018 srv drwxr-xr-x. 2 root root 4.0K Apr 11 2018 opt drwxr-xr-x. 2 root root 4.0K Apr 11 2018 mnt drwxr-xr-x. 2 root root 4.0K Apr 11 2018 media drwxr-xr-x. 2 root root 4.0K Apr 11 2018 home lrwxrwxrwx. 1 root root 8 May 14 2018 sbin -> usr/sbin lrwxrwxrwx. 1 root root 9 May 14 2018 lib64 -> usr/lib64 lrwxrwxrwx. 1 root root 7 May 14 2018 lib -> usr/lib lrwxrwxrwx. 1 root root 7 May 14 2018 bin -> usr/bin drwxr-xr-x. 13 root root 4.0K May 14 2018 usr drwx------. 2 root root 16K Feb 12 2019 lost+found drwxr-xr-x 2 root root 4.0K Feb 12 2019 boot drwxr-xr-x 2 root root 4.0K Feb 12 2019 storage1 drwxr-xr-x 2 root root 4.0K Feb 12 2019 sys drwxr-xr-x 2 root root 4.0K Feb 12 2019 dev drwxr-xr-x 2 root root 4.0K Feb 12 2019 prochttps://www.google.com/search?client=firefox-b-d&q=samsung+tab10+2020 drwxr-xr-x 3 root root 4.0K Feb 12 2019 run -rw-r-----. 1 root root 575 Feb 12 2019 installimage.conf -rw-r-----. 1 root root 13K Feb 12 2019 installimage.debug drwxr-xr-x. 20 root root 4.0K Feb 12 2019 var drwxr-xr-x. 85 root root 4.0K Nov 2 2019 etc -rw-r--r--. 1 root root 291K Nov 2 2019 .readahead drwxr-xr-x. 19 root root 4.0K Nov 2 2019 . dr-xr-x---. 6 root root 4.0K May 4 19:24 root drwxrwxrwt. 7 root root 4.0K May 8 14:14 tmp drwxr-xr-x 1 root root 160 May 8 16:57 .. root@rescue ~ # ls -altr /mnt/boot/ total 194M drwxr-xr-x. 3 root root 1.0K Sep 18 2017 efi -rw-------. 1 root root 49M Sep 18 2017 initramfs-0-rescue-9063ac396d784f4c997ceacdd0590c25.img -rwxr-xr-x. 1 root root 5.7M Sep 18 2017 vmlinuz-0-rescue-9063ac396d784f4c997ceacdd0590c25 -rw-------. 1 root root 3.4M Feb 1 2019 System.map-3.10.0-957.5.1.el7.x86_64 -rw-r--r--. 1 root root 149K Feb 1 2019 config-https://www.google.com/search?client=firefox-b-d&q=samsung+tab10+20203.10.0-957.5.1.el7.x86_64 -rw-r--r--. 1 root root 170 Feb 1 2019 .vmlinuz-3.10.0-957.5.1.el7.x86_64.hmac -rwxr-xr-x. 1 root root 6.4M Feb 1 2019 vmlinuz-3.10.0-957.5.1.el7.x86_64 -rw-r--r--. 1 root root 307K Feb 1 2019 symvers-3.10.0-957.5.1.el7.x86_64.gz drwx------. 2 root root 12K Feb 12 2019 lost+found drwxr-xr-x. 2 root root 1.0K Feb 12 2019 grub -rw-------. 1 root root 3.5M Oct 18 2019 System.map-3.10.0-1062.4.1.el7.x86_64 -rw-r--r--. 1 root root 150K Oct 18 2019 config-3.10.0-1062.4.1.el7.x86_64 -rw-r--r--. 1 root root 171 Oct 18 2019 .vmlinuz-3.10.0-1062.4.1.el7.x86_64.hmac -rwxr-xr-x. 1 root root 6.5M Oct 18 2019 vmlinuz-3.10.0-1062.4.1.el7.x86_64 -rw-r--r--. 1 root root 312K Oct 18 2019 symvers-3.10.0-1062.4.1.el7.x86_64.gz -rw-------. 1 root root 13M Nov 2 2019 initramfs-3.10.0-957.5.1.el7.x86_64kdump.img -rw-------. 1 root root 47M Nov 2md 2019 initramfs-3.10.0-1062.4.1.el7.x86_64.img -rw-------. 1 root root 46M Nov 2 2019 initramfs-3.10.0-957.5.1.el7.x86_64.img -rw-------. 1 root root 13M Nov 2 2019 initramfs-3.10.0-1062.4.1.el7.x86_64kdump.img dr-xr-xr-x. 6 root root 1.0K Nov 2 2019 . drwxr-xr-x. 19 root root 4.0K Nov 2 2019 .. drwx------. 5 root root 1.0K May 4 16:11 grub2
STEP 2) mount the dev, proc and sys relative to the root mount above and chroot in the root.
After chroot it is recommended to
root@rescue ~ # mount -o bind /dev /mnt/dev root@rescue ~ # mount -o bind /proc /mnt/proc root@rescue ~ # mount -o bind /sys /mnt/sys root@rescue ~ # chroot /mnt/ root@rescue / # cd root@rescue ~ # . /etc/profile
STEP 3)Install grub2
Unmount all mounted directories above and reboot.
root@rescue ~ # grub2-install /dev/sda Installing for i386-pc platform. Installation finished. No error reported. root@rescue ~ # grub2-install /dev/sdb Installing for i386-pc platform. Installation finished. No error reported. root@rescue ~ # exit root@rescue ~ # umount /mnt/boot root@rescue ~ # umount /mnt/dev root@rescue ~ # umount /mnt/proc root@rescue ~ # umount /mnt/sys root@rescue ~ # umount /mnt/ root@rescue ~ # reboot
* If you are using UEFI enabled boot you probably need more options for the grub installation
Something like that for the grub2 installation (but it is specific for your distro – the path for efi directory, just find it under /boot and put the right path – nothing special!):
grub-install --recheck --target=x86_64-efi --efi-directory=/boot/efi/ /dev/sda
Where does this error come from?
If you search the ID by part of it you will discover it under /dev/disk/by-id/, which is a link to md1, but still there is an error for missing device, because the kernel loaded the device as md-name-rescue:1. And if you reboot the kernel the old and wrong name won’t exists. As mentioned above this could have happened if you deleted partitions or made some disk layout changes (using parted?) on mounted or partitions in use and the kernel could loaded the partition changes.
[root@srv47 ~]# cd /dev/disk/by-id/ [root@srv47 by-id]# ls -altr total 0 drwxr-xr-x. 5 root root 100 4 May 9,14 .. lrwxrwxrwx. 1 root root 9 4 May 10,14 md-uuid-e4023626:e09f7c39:20ed5720:2ef1b5af -> ../../md0 lrwxrwxrwx. 1 root root 9 4 May 10,14 md-uuid-ae63857c:b8d537f5:4c09ae48:48148f59 -> ../../md3 lrwxrwxrwx. 1 root root 9 4 May 10,14 md-uuid-4a28f3a7:94dc6dc7:a40a7084:c21463d7 -> ../../md2 lrwxrwxrwx. 1 root root 9 4 May 10,14 md-name-rescue:3 -> ../../md3 lrwxrwxrwx. 1 root root 9 4 May 10,14 md-name-rescue:2 -> ../../md2 lrwxrwxrwx. 1 root root 9 4 May 10,14 md-name-rescue:0 -> ../../md0 lrwxrwxrwx. 1 root root 9 4 May 10,14 md-uuid-613f3f0b:b202bf03:a5664e17:b3d568a0 -> ../../md1 lrwxrwxrwx. 1 root root 9 4 May 10,14 md-name-rescue:1 -> ../../md1 drwxr-xr-x. 2 root root 680 4 May 12,16 . lrwxrwxrwx. 1 root root 9 8 May 12,01 wwn-0x500a075116bd3e33 -> ../../sda lrwxrwxrwx. 1 root root 9 8 May 12,01 ata-Micron_1100_MTFDDAK512TBN_171416BD3E33 -> ../../sda lrwxrwxrwx. 1 root root 10 8 May 12,01 wwn-0x500a075116bd3e33-part1 -> ../../sda1 lrwxrwxrwx. 1 root root 10 8 May 12,01 ata-Micron_1100_MTFDDAK512TBN_171416BD3E33-part1 -> ../../sda1 lrwxrwxrwx. 1 root root 10 8 May 12,01 wwn-0x500a075116bd3e33-part5 -> ../../sda5 lrwxrwxrwx. 1 root root 10 8 May 12,01 wwn-0x500a075116bd3e33-part4 -> ../../sda4 lrwxrwxrwx. 1 root root 10 8 May 12,01 wwn-0x500a075116bd3e33-part3 -> ../../sda3 lrwxrwxrwx. 1 root root 10 8 May 12,01 wwn-0x500a075116bd3e33-part2 -> ../../sda2 lrwxrwxrwx. 1 root root 10 8 May 12,01 ata-Micron_1100_MTFDDAK512TBN_171416BD3E33-part5 -> ../../sda5 lrwxrwxrwx. 1 root root 10 8 May 12,01 ata-Micron_1100_MTFDDAK512TBN_171416BD3E33-part4 -> ../../sda4 lrwxrwxrwx. 1 root root 10 8 May 12,01 ata-Micron_1100_MTFDDAK512TBN_171416BD3E33-part3 -> ../../sda3 lrwxrwxrwx. 1 root root 10 8 May 12,01 ata-Micron_1100_MTFDDAK512TBN_171416BD3E33-part2 -> ../../sda2 lrwxrwxrwx. 1 root root 9 8 May 12,01 wwn-0x500a07511bb48b38 -> ../../sdb lrwxrwxrwx. 1 root root 9 8 May 12,01 ata-Micron_1100_MTFDDAK512TBN_18081BB48B38 -> ../../sdb lrwxrwxrwx. 1 root root 10 8 May 12,01 wwn-0x500a07511bb48b38-part5 -> ../../sdb5 lrwxrwxrwx. 1 root root 10 8 May 12,01 wwn-0x500a07511bb48b38-part4 -> ../../sdb4 lrwxrwxrwx. 1 root root 10 8 May 12,01 wwn-0x500a07511bb48b38-part3 -> ../../sdb3 lrwxrwxrwx. 1 root root 10 8 May 12,01 wwn-0x500a07511bb48b38-part2 -> ../../sdb2 lrwxrwxrwx. 1 root root 10 8 May 12,01 wwn-0x500a07511bb48b38-part1 -> ../../sdb1 lrwxrwxrwx. 1 root root 10 8 May 12,01 ata-Micron_1100_MTFDDAK512TBN_18081BB48B38-part5 -> ../../sdb5 lrwxrwxrwx. 1 root root 10 8 May 12,01 ata-Micron_1100_MTFDDAK512TBN_18081BB48B38-part4 -> ../../sdb4 lrwxrwxrwx. 1 root root 10 8 May 12,01 ata-Micron_1100_MTFDDAK512TBN_18081BB48B38-part3 -> ../../sdb3 lrwxrwxrwx. 1 root root 10 8 May 12,01 ata-Micron_1100_MTFDDAK512TBN_18081BB48B38-part2 -> ../../sdb2 lrwxrwxrwx. 1 root root 10 8 May 12,01 ata-Micron_1100_MTFDDAK512TBN_18081BB48B38-part1 -> ../../sdb1
Install Fedora 27 KDE Plasma Desktop
This tutorial will show you the simple steps of installing a modern Linux Distribution like Fedora 27 KDE Plasma Desktop for the user graphical interface. First we present the basic steps for installing the Operating system in addition to your present operating systems (here we have two: Windows 10 and Ubuntu 17) and then you can see some screenshots of the installed system and the look and feel of it. We have another tutorials showing more screenshots of the installed and working Fedora 27 KDE Plasma Desktop (Gnome and KDE plasma) – so you can decide which of them to try first – coming soon.
All of the installation setups are very similar for all GUIs of Fedora 27 it loads a live edition of the version of Fedora 27 you install and then the setup is launched by the user, the setup almost identical in all edition, but we do not want to give you a tutorials with “spaghetti” and unstructured flow of steps to follow.
We used the following ISO for the installation process:
https://download.fedoraproject.org/pub/fedora/linux/releases/27/Spins/x86_64/iso/Fedora-KDE-Live-x86_64-27-1.6.iso
It is a LIVE image so you can try it before installing. The easiest way is just to download the image and burn it to a DVD disk and then follow the installation below:
The first 3 steps show how to enable the DVD-ROM to be first bootable device. If you’ve done it you can skip these steps.
STEP 1) Select your DVD-ROM device to boot (or USB device the installation stick) UEFI: DVD to install Fedora 27 KDE Plasma Desktop
mariadb mysql slave cannot stop and then crashes on start up with segmentation fault or abort
Let’s show you what means
“That’s specifics of InnoDB data storage.”
Here is the what this specific case will teach you:
- basic debug with strace
- MySQL could hangs in a infinite loop during a shutdown (could be seen with strace)
- InnoDB files could get corrupted without a hardware issue, but with a kill -KILL or probably it was corrupted before the shutdown and the kill?
- list the opened files (and the IDs = file descriptors) of a mysql process
- start a mysql slave without a starting the replication on start with “skip-slave-start”
- Remove a corrupted innodb file, which causes database (mysql process) crash leaving your with no database at all – replace a innodb file, start the server, then drop the innodb table with sql command and recreate it to continue using healthy table
- 2 rows (4 INTEGER columns) could eat up a lot of space – 12G and probably infinite! === “That’s specifics of InnoDB data storage.”
This table file is 12 Gigabytes in size!!!MariaDB [mysql]> select * from gtid_slave_pos; +-----------+----------+-----------+-------------+ | domain_id | sub_id | server_id | seq_no | +-----------+----------+-----------+-------------+ | 0 | 16983943 | 101 | 45790450502 | | 0 | 16983944 | 101 | 45790450503 | +-----------+----------+-----------+-------------+ 2 rows in set (0.00 sec)
Here is presented a specific case with replication, but in your case you may not use replication, your problem table could be another (and your mariadb/mysql server crashes on start up or selecting from a specific table or on shutdown?), so find the problem table and remove it, here we show you how to do it! BACKUP the mysql datadir BEFORE any intervention!
Here we have a situation: a mariadb (mysql) server running as slave to a really busy master server, so you could expect 10 000 update/insert/delete queries. Everything was working till the time we wanted to shutdown the mysql process, which occurred to be impossible.
STEP 1) We tried everything from “systemctl stop mysql” to kill -TERM multiple times
5 hour the mysql process was running with 2000 opened file descriptors to multiple table files. The strace showed this:
[pid 14824] <... io_getevents resumed> []{0, 500000000}) = 0 [pid 14815] <... io_getevents resumed> []{0, 500000000}) = 0 [pid 14824] io_getevents(139723876253696, 1, 256, <unfinished ...> [pid 14815] io_getevents(139723876356096, 1, 256, <unfinished ...> [pid 14825] <... futex resumed> ) = -1 ETIMEDOUT (Connection timed out) [pid 14825] futex(0x55d16885deb0, FUTEX_WAKE_PRIVATE, 1) = 0 [pid 14825] futex(0x55d16885dedc, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 3576261, {1525268239, 312230000}, ffffffff <unfinished ...> [pid 14852] <... futex resumed> ) = -1 ETIMEDOUT (Connection timed out) [pid 14852] futex(0x55d16885dd30, FUTEX_WAKE_PRIVATE, 1) = 0 [pid 14852] futex(0x55d16885dd5c, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 2775717, {1525268240, 308225000}, ffffffff <unfinished ...> [pid 14825] <... futex resumed> ) = -1 ETIMEDOUT (Connection timed out) [pid 14825] futex(0x55d16885deb0, FUTEX_WAKE_PRIVATE, 1) = 0 [pid 14825] futex(0x55d16885dedc, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 3576263, {1525268240, 304889000}, ffffffff <unfinished ...> [pid 14862] <... nanosleep resumed> NULL) = 0 [pid 14862] nanosleep({1, 0}, <unfinished ...> [pid 14821] <... io_getevents resumed> []{0, 500000000}) = 0 [pid 14821] io_getevents(139723876315136, 1, 256, <unfinished ...> [pid 14820] <... io_getevents resumed> []{0, 500000000}) = 0
And this has been repeating many times for hours without any disk activity on flushing any IO…so no use to wait for something, which apparently won’t finish at all.
STEP 2) So a
kill -9
was used to stop the mysql process. What could go wrong??? InnoDB is awesome and cannot corrupt if the hardware is OK, right? Yeahhh right…
When the start command was executed, the mysql process started, the innodb engine recovery completed successfully and after 5 minutes without listening socket and heavy IO reading there is the segmentation fault crash and YOU have no database….
So here is one of the crashes taken from the log:
2018-05-02 19:51:54 139990018914496 [ERROR] Plugin 'innodb' already installed 2018-05-02 19:51:54 139990018914496 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 2018-05-02 19:51:54 139990018914496 [Note] InnoDB: Uses event mutexes 2018-05-02 19:51:54 139990018914496 [Note] InnoDB: Compressed tables use zlib 1.2.8 2018-05-02 19:51:54 139990018914496 [Note] InnoDB: Using Linux native AIO 2018-05-02 19:51:54 139990018914496 [Note] InnoDB: Number of pools: 1 2018-05-02 19:51:54 139990018914496 [Note] InnoDB: Using SSE2 crc32 instructions 2018-05-02 19:51:54 139990018914496 [Note] InnoDB: Initializing buffer pool, total size = 64G, instances = 8, chunk size = 128M 2018-05-02 19:51:56 139990018914496 [Note] InnoDB: Completed initialization of buffer pool 2018-05-02 19:51:56 139913709942528 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority(). 2018-05-02 19:51:56 139990018914496 [Note] InnoDB: Highest supported file format is Barracuda. 2018-05-02 19:51:56 139990018914496 [Note] InnoDB: Starting crash recovery from checkpoint LSN=311205983427362 2018-05-02 19:51:57 139990018914496 [Note] InnoDB: Last binlog file '/var/log/mysql-binlog/mysql-bin.227009', position 38590879 2018-05-02 19:52:12 139990018914496 [Note] InnoDB: 128 out of 128 rollback segments are active. 2018-05-02 19:52:12 139990018914496 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1" 2018-05-02 19:52:12 139990018914496 [Note] InnoDB: Creating shared tablespace for temporary tables 2018-05-02 19:52:12 139990018914496 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ... 2018-05-02 19:52:12 139990018914496 [Note] InnoDB: File './ibtmp1' size is now 12 MB. 2018-05-02 19:52:12 139990018914496 [Note] InnoDB: Waiting for purge to start 2018-05-02 19:52:12 139990018914496 [Note] InnoDB: 5.7.21 started; log sequence number 311205983427371 2018-05-02 19:52:12 139915446597376 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool 2018-05-02 19:52:12 139990018914496 [Note] Plugin 'FEEDBACK' is disabled. 2018-05-02 19:52:12 139990018914496 [Note] Recovering after a crash using tc.log 2018-05-02 19:52:12 139990018914496 [Note] Starting crash recovery... 2018-05-02 19:52:12 139990018914496 [Note] Crash recovery finished. 2018-05-02 19:52:12 139990018914496 [Note] Server socket created on IP: '0.0.0.0'. 2018-05-02 19:52:12 139990018914496 [Warning] 'user' entry 'root@srvdns2' ignored in --skip-name-resolve mode. 2018-05-02 19:52:12 139990018914496 [Warning] 'proxies_priv' entry '@% root@srvdns1' ignored in --skip-name-resolve mode. 2018-05-02 19:53:52 139915446597376 [Note] InnoDB: Buffer pool(s) load completed at 180502 19:53:52 180502 19:57:12 [ERROR] mysqld got signal 11 ; This could be because you hit a bug. It is also possible that this binary or one of the libraries it was linked against is corrupt, improperly built, or misconfigured. This error can also be caused by malfunctioning hardware. To report this bug, see https://mariadb.com/kb/en/reporting-bugs We will try our best to scrape up some info that will hopefully help diagnose the problem, but since we have already crashed, something is definitely wrong and this may fail. Server version: 10.2.13-MariaDB-10.2.13+maria~xenial key_buffer_size=2147483648 read_buffer_size=262144 max_used_connections=0 max_threads=10002 thread_count=6 It is possible that mysqld could use up to key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 6871600 K bytes of memory Hope that's ok; if not, decrease some variables in the equation. Thread pointer: 0x7f40700009a8 Attempting backtrace. You can use the following information to find out where mysqld died. If you see no messages after this, something went terribly wrong... stack_bottom = 0x7f515c4fecf8 thread_stack 0x49000 *** buffer overflow detected ***: /usr/sbin/mysqld terminated ======= Backtrace: ========= /lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7f51f54eb7e5] /lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x5c)[0x7f51f558d15c] /lib/x86_64-linux-gnu/libc.so.6(+0x117160)[0x7f51f558b160] /lib/x86_64-linux-gnu/libc.so.6(+0x1190a7)[0x7f51f558d0a7] /usr/sbin/mysqld(my_addr_resolve+0xde)[0x55a9e9f1832e] /usr/sbin/mysqld(my_print_stacktrace+0x1e2)[0x55a9e9eff2e2] /usr/sbin/mysqld(handle_fatal_signal+0x345)[0x55a9e9999b95] /lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7f51f5eda390] /lib/x86_64-linux-gnu/libc.so.6(+0x9f849)[0x7f51f5513849] /usr/sbin/mysqld(insert_dynamic+0x2a)[0x55a9e9ed3a4a] /usr/sbin/mysqld(_Z25rpl_load_gtid_slave_stateP3THD+0x424)[0x55a9e98c43a4] /usr/sbin/mysqld(handle_slave_background+0xe7)[0x55a9e97834e7] /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7f51f5ed06ba] /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7f51f557b41d] ======= Memory map: ======== 55a9e933e000-55a9ea423000 r-xp 00000000 08:03 148565 /usr/sbin/mysqld 55a9ea622000-55a9ea6f4000 r--p 010e4000 08:03 148565 /usr/sbin/mysqld 55a9ea6f4000-55a9ea7aa000 rw-p 011b6000 08:03 148565 /usr/sbin/mysqld 55a9ea7aa000-55a9eb03d000 rw-p 00000000 00:00 0 55a9eba46000-55aa4e67b000 rw-p 00000000 00:00 0 [heap]
STEP 3) So the default way of repairing the InnoDB is to use
innodb_force_recovery
in your my.cnf configuration file:
[mysqld] innodb_force_recovery=1
But again and again crashes even enabling all the options of innodb_force_recovery=1,2,3,4,5 and last 6. But when using “innodb_force_recovery=4” and 5 and 6 we have some strange additional error:
2018-05-02 21:43:34 139667439187712 [ERROR] InnoDB: Failed to find tablespace for table `mysql`.`gtid_slave_pos` in the cache. Attempting to load the tablespace with space id 63584 2018-05-02 21:43:34 139667439187712 [Warning] InnoDB: Allocated tablespace ID 63584 for mysql/gtid_slave_pos, old maximum was 0
The innodb_force_recovery did not help we still cannot start our MySQL database, but there were two things:
- No errors were reported by the InnoDB Engine – “InnoDB: Buffer pool(s) load completed” and Crash recovery always finished without errors
- The MySQL starts successfully, but not listening socket and then after 3~5 minutes of extensive IO reading from the disk by the mysql process it crashes
It was like something big was loading just on the start and in fact needed on the very beginning, so what start immediately after successful load of the mysql process?
REPLICATION
Remember this is a slave!
STEP 4) So trying to prevent the start of the replication on start of the mysql process with:
[mysqld] skip-slave-start
STEP 5) strace and file descritor to find the offender table file.
The skip-slave-start option DID the trick – NO Segmentation fault
the mysql processes immediately after successful engines load began to listen on sockets. So the big offender was probably something connected with the replication! A big table used in the replication? How to find it, ok remove the “skip-slave-start”, then start the mysql process and wait for the time the IO read kicks in, then strace the mysql process (find the ID of the process with ps – the first number of the following command is the ID of the mysql process):
srv@local ~ # ps axuf|grep mysql|grep -v grep mysql 6969 239 8.3 78561320 10983848 ? Ssl 22:53 108:59 /usr/sbin/mysqld srv@local ~ # strace -f -p 6969 strace -f -p 6969 strace: Process 6969 attached with 27 threads [pid 6996] rt_sigtimedwait([HUP QUIT ALRM TERM TSTP], NULL, NULL, 8 <unfinished ...> [pid 6994] futex(0x55941cb5d1ec, FUTEX_WAIT_PRIVATE, 1, NULL <unfinished ...> [pid 6995] futex(0x7f93c6de1d24, FUTEX_WAIT_PRIVATE, 1, NULL <unfinished ...> [pid 6993] restart_syscall(<... resuming interrupted nanosleep ...> <unfinished ...> [pid 6992] futex(0x55941cb5d0ec, FUTEX_WAIT_PRIVATE, 1, NULL <unfinished ...> [pid 6991] futex(0x55941cb5cd6c, FUTEX_WAIT_PRIVATE, 1, NULL <unfinished ...> [pid 6990] restart_syscall(<... resuming interrupted futex ...> <unfinished ...> [pid 6997] mremap(0x7f9298b76000, 2210828288, 2210836480, MREMAP_MAYMOVE <unfinished ...> [pid 6989] restart_syscall(<... resuming interrupted futex ...> <unfinished ...> [pid 6988] restart_syscall(<... resuming interrupted futex ...> <unfinished ...> [pid 6986] futex(0x55947cfe941c, FUTEX_WAIT_PRIVATE, 33, NULL <unfinished ...> [pid 6985] futex(0x55947cfe941c, FUTEX_WAIT_PRIVATE, 31, NULL <unfinished ...> [pid 6984] futex(0x55947cfe941c, FUTEX_WAIT_PRIVATE, 32, NULL <unfinished ...> [pid 6997] <... mremap resumed> ) = 0x7f9298b76000 [pid 6984] <... futex resumed> ) = -1 EAGAIN (Resource temporarily unavailable) [pid 6983] restart_syscall(<... resuming interrupted futex ...> <unfinished ...> [pid 6984] futex(0x55947cfe941c, FUTEX_WAIT_PRIVATE, 33, NULL <unfinished ...> [pid 6982] io_getevents(140347217702912, 1, 256, <unfinished ...> [pid 6981] io_getevents(140347217723392, 1, 256, <unfinished ...> [pid 6985] <... futex resumed> ) = -1 EAGAIN (Resource temporarily unavailable) [pid 6980] io_getevents(140347217743872, 1, 256, <unfinished ...> [pid 6979] io_getevents(140347217764352, 1, 256, <unfinished ...> [pid 6978] io_getevents(140347217825792, 1, 256, <unfinished ...> [pid 6977] io_getevents(140347217846272, 1, 256, <unfinished ...> [pid 6985] futex(0x55947cfe941c, FUTEX_WAIT_PRIVATE, 33, NULL <unfinished ...> [pid 6976] io_getevents(140347217866752, 1, 256, <unfinished ...> [pid 6975] io_getevents(140347219357696, 1, 256, <unfinished ...> [pid 6974] io_getevents(140347217784832, 1, 256, <unfinished ...> [pid 6973] io_getevents(140347217805312, 1, 256, <unfinished ...> [pid 6971] restart_syscall(<... resuming interrupted futex ...> <unfinished ...> [pid 6970] restart_syscall(<... resuming interrupted futex ...> <unfinished ...> [pid 6969] futex(0x55941a4be944, FUTEX_WAIT_PRIVATE, 1, NULL <unfinished ...> [pid 6997] pread64(38, "\201L\321\365\0\5\315\3\0\5\315\0\0\5\315\6\0\1\30\307o\303\365]E\277\0\0\0\0\0\0"..., 16384, 6228590592) = 16384 [pid 6997] mremap(0x7f9298b76000, 2210836480, 2210844672, MREMAP_MAYMOVE) = 0x7f9298b76000 [pid 6997] pread64(38, "\210\271\277\343\0\5\315\6\0\5\315\3\0\5\315\7\0\1\30\307o\343\362~E\277\0\0\0\0\0\0"..., 16384, 6228639744) = 16384 [pid 6997] pread64(38, "\305\17\303k\0\5\315\7\0\5\315\6\0\5\315\10\0\1\30\307o\377\224gE\277\0\0\0\0\0\0"..., 16384, 6228656128) = 16384 [pid 6997] mremap(0x7f9298b76000, 2210844672, 2210852864, MREMAP_MAYMOVE) = 0x7f9298b76000 [pid 6997] pread64(38, "\217\351V~\0\5\315\10\0\5\315\7\0\5\315\n\0\1\30\307p\34\31\363E\277\0\0\0\0\0\0"..., 16384, 6228672512) = 16384 [pid 6997] mremap(0x7f9298b76000, 2210852864, 2210861056, MREMAP_MAYMOVE) = 0x7f9298b76000 [pid 6997] pread64(38, "\367\321\330\232\0\5\315\n\0\5\315\10\0\5\315\v\0\1\30\307p>\316\360E\277\0\0\0\0\0\0"..., 16384, 6228705280) = 16384 [pid 6997] pread64(38, "\374v\202\177\0\5\315\v\0\5\315\n\0\5\315\r\0\1\30\307p\\alE\277\0\0\0\0\0\0"..., 16384, 6228721664) = 16384 [pid 6997] mremap(0x7f9298b76000, 2210861056, 2210869248, MREMAP_MAYMOVE) = 0x7f9298b76000 [pid 6997] pread64(38, "s\261\0A\0\5\315\r\0\5\315\v\0\5\315\16\0\1\30\307p\212\1AE\277\0\0\0\0\0\0"..., 16384, 6228754432) = 16384 [pid 6997] mremap(0x7f9298b76000, 2210869248, 2210877440, MREMAP_MAYMOVE) = 0x7f9298b76000 [pid 6997] pread64(38, "\214\t\7\244\0\5\315\16\0\5\315\r\0\5\315\21\0\1\30\307p\242H\37E\277\0\0\0\0\0\0"..., 16384, 6228770816) = 16384 [pid 6997] pread64(38, "<\n\272\"\0\5\315\21\0\5\315\16\0\5\315\24\0\1\30\307p\311i\313E\277\0\0\0\0\0\0"..., 16384, 6228819968) = 16384 [pid 6997] mremap(0x7f9298b76000, 2210877440, 2210885632, MREMAP_MAYMOVE) = 0x7f9298b76000 [pid 6997] mremap(0x7f9298b76000, 2210885632, 2210893824, MREMAP_MAYMOVE) = 0x7f9298b76000 [pid 6997] pread64(38, "n|I\n\0\5\315\24\0\5\315\21\0\5\315\25\0\1\30\307p\360EqE\277\0\0\0\0\0\0"..., 16384, 6228869120) = 16384 [pid 6997] mremap(0x7f9298b76000, 2210893824, 2210902016, MREMAP_MAYMOVE) = 0x7f9298b76000 [pid 6997] pread64(38, "\270\206\326\207\0\5\315\25\0\5\315\24\0\5\315\27\0\1\30\307q\1a\251E\277\0\0\0\0\0\0"..., 16384, 6228885504) = 16384 [pid 6997] pread64(38, "{l\226S\0\5\315\27\0\5\315\25\0\5\315\31\0\1\30\307q&\205!E\277\0\0\0\0\0\0"..., 16384, 6228918272) = 16384 [pid 6997] mremap(0x7f9298b76000, 2210902016, 2210910208, MREMAP_MAYMOVE) = 0x7f9298b76000 [pid 6997] pread64(38, "\201\265]&\0\5\315\31\0\5\315\27\0\5\315\32\0\1\30\307qK\365\212E\277\0\0\0\0\0\0"..., 16384, 6228951040) = 16384 [pid 6997] mremap(0x7f9298b76000, 2210910208, 2210918400, MREMAP_MAYMOVE) = 0x7f9298b76000 [pid 6997] pread64(38, "\352?\236\327\0\5\315\32\0\5\315\31\0\5\315\33\0\1\30\307qob:E\277\0\0\0\0\0\0"..., 16384, 6228967424) = 16384 [pid 6997] mremap(0x7f9298b76000, 2210918400, 2210926592, MREMAP_MAYMOVE) = 0x7f9298b76000 [pid 6997] mremap(0x7f9298b76000, 2210926592, 2210934784, MREMAP_MAYMOVE) = 0x7f9298b76000 [pid 6997] pread64(38, "3c\33\301\0\5\315\33\0\5\315\32\0\5\315\36\0\1\30\307q\2236%E\277\0\0\0\0\0\0"..., 16384, 6228983808) = 16384 [pid 6997] mremap(0x7f9298b76000, 2210934784, 2210942976, MREMAP_MAYMOVE) = 0x7f9298b76000 [pid 6997] pread64(38, "Zi\343\177\0\5\315\36\0\5\315\33\0\5\315\37\0\1\30\307q\325\27LE\277\0\0\0\0\0\0"..., 16384, 6229032960) = 16384 [pid 6997] mremap(0x7f9298b76000, 2210942976, 2210951168, MREMAP_MAYMOVE) = 0x7f9298b76000 [pid 6997] pread64(38, "v5h%\0\5\315\37\0\5\315\36\0\5\315!\0\1\30\307r\f\325\364E\277\0\0\0\0\0\0"..., 16384, 6229049344) = 16384 [pid 6997] mremap(0x7f9298b76000, 2210951168, 2210959360, MREMAP_MAYMOVE) = 0x7f9298b76000 [pid 6997] pread64(38, "0\6Yn\0\5\315!\0\5\315\37\0\5\315\"\0\1\30\307sCX@E\277\0\0\0\0\0\0"..., 16384, 6229082112) = 16384 [pid 6997] mremap(0x7f9298b76000, 2210959360, 2210967552, MREMAP_MAYMOVE) = 0x7f9298b76000 [pid 6997] pread64(38, "\203\243K\203\0\5\315\"\0\5\315!\0\5\315$\0\1\30\307t;\234\302E\277\0\0\0\0\0\0"..., 16384, 6229098496) = 16384 [pid 6997] mremap(0x7f9298b76000, 2210967552, 2210975744, MREMAP_MAYMOVE) = 0x7f9298b76000 [pid 6997] pread64(38, "9\264\332j\0\5\315$\0\5\315\"\0\5\315%\0\1\30\307\177\370#\371E\277\0\0\0\0\0\0"..., 16384, 6229131264) = 16384 [pid 6997] mremap(0x7f9298b76000, 2210975744, 2210983936, MREMAP_MAYMOVE) = 0x7f9298b76000 [pid 6997] pread64(38, ":\200+\337\0\5\315%\0\5\315$\0\5\315&\0\1\30\307\200\20U-E\277\0\0\0\0\0\0"..., 16384, 6229147648) = 16384 [pid 6997] mremap(0x7f9298b76000, 2210983936, 2210992128, MREMAP_MAYMOVE) = 0x7f9298b76000 [pid 6997] pread64(38, "\35-th\0\5\315&\0\5\315%\0\5\315(\0\1\30\307\200+\333CE\277\0\0\0\0\0\0"..., 16384, 6229164032) = 16384 [pid 6997] pread64(38, "\246Y\305\351\0\5\315(\0\5\315&\0\5\315)\0\1\30\307\200[\324\305E\277\0\0\0\0\0\0"..., 16384, 6229196800) = 16384 [pid 6997] mremap(0x7f9298b76000, 2210992128, 2211000320, MREMAP_MAYMOVE) = 0x7f9298b76000 [pid 6997] pread64(38, "\340(\2\350\0\5\315)\0\5\315(\0\5\315+\0\1\30\307\200\214L\365E\277\0\0\0\0\0\0"..., 16384, 6229213184) = 16384 [pid 6997] mremap(0x7f9298b76000, 2211000320, 2211008512, MREMAP_MAYMOVE) = 0x7f9298b76000 [pid 6997] pread64(38, "A\374\37\23\0\5\315+\0\5\315)\0\5\315,\0\1\30\307\200\252\30\373E\277\0\0\0\0\0\0"..., 16384, 6229245952) = 16384 [pid 6997] mremap(0x7f9298b76000, 2211008512, 2211016704, MREMAP_MAYMOVE) = 0x7f9298b76000 [pid 6997] pread64(38, "iW\274\365\0\5\315,\0\5\315+\0\5\315.\0\1\30\307\200\332\266\256E\277\0\0\0\0\0\0"..., 16384, 6229262336) = 16384 [pid 6997] mremap(0x7f9298b76000, 2211016704, 2211024896, MREMAP_MAYMOVE) = 0x7f9298b76000 [pid 6997] pread64(38, "\343c\340\347\0\5\315.\0\5\315,\0\5\315/\0\1\30\307\200\356\272YE\277\0\0\0\0\0\0"..., 16384, 6229295104) = 16384 [pid 6997] mremap(0x7f9298b76000, 2211024896, 2211033088, MREMAP_MAYMOVE) = 0x7f9298b76000 [pid 6997] pread64(38, "}\35\32i\0\5\315/\0\5\315.\0\5\3150\0\1\30\307\201\5\226\256E\277\0\0\0\0\0\0"..., 16384, 6229311488) = 16384 [pid 6997] pread64(38, "\322\237\206\377\0\5\3150\0\5\315/\0\5\3151\0\1\30\307\201\257\241\272E\277\0\0\0\0\0\0"..., 16384, 6229327872) = 16384 [pid 6997] mremap(0x7f9298b76000, 2211033088, 2211041280, MREMAP_MAYMOVE) = 0x7f9298b76000 [pid 6997] pread64(38, "/\250\21!\0\5\3151\0\5\3150\0\5\3152\0\1\30\307\203\3\237\2E\277\0\0\0\0\0\0"..., 16384, 6229344256) = 16384 [pid 6997] mremap(0x7f9298b76000, 2211041280, 2211049472, MREMAP_MAYMOVE) = 0x7f9298b76000
You see multiple lines (thousands) with:
[pid 6997] pread64(38, "/\250\21!\0\5\3151\0\5\3150\0\5\3152\0\1\30\307\203\3\237\2E\277\0\0\0\0\0\0"..., 16384, 6229344256) = 16384 [pid 6997] mremap(0x7f9298b76000, 2211041280, 2211049472, MREMAP_MAYMOVE) = 0x7f9298b76000
The pread64 – reads from file descriptor with ID=38, then you can list all file descriptors for the mysql process ID with:
srv@local mysql # ls -altr /proc/6969/fd total 0 dr-xr-xr-x 9 mysql mysql 0 May 2 21:32 .. l-wx------ 1 root root 64 May 2 21:35 2 -> /var/log/mysql/error.log dr-x------ 2 root root 0 May 2 21:35 . lrwx------ 1 root root 64 May 2 21:35 9 -> /tmp/ibgyw4AI (deleted) lrwx------ 1 root root 64 May 2 21:35 8 -> /tmp/ibuaprWP (deleted) lrwx------ 1 root root 64 May 2 21:35 7 -> /tmp/ibfXwsBW (deleted) lrwx------ 1 root root 64 May 2 21:35 6 -> /var/lib/mysql/ibdata1 lrwx------ 1 root root 64 May 2 21:35 5 -> /var/lib/mysql/aria_log.00000001 lr-x------ 1 root root 64 May 2 21:35 4 -> /var/lib/mysql lrwx------ 1 root root 64 May 2 21:35 38 -> /var/lib/mysql/mysql/gtid_slave_pos.ibd lrwx------ 1 root root 64 May 2 21:35 37 -> /var/lib/mysql/mysql/event.MYD lrwx------ 1 root root 64 May 2 21:35 36 -> /var/lib/mysql/mysql/event.MYI lrwx------ 1 root root 64 May 2 21:35 35 -> /var/lib/mysql/mysql/procs_priv.MYD lrwx------ 1 root root 64 May 2 21:35 34 -> /var/lib/mysql/mysql/procs_priv.MYI lrwx------ 1 root root 64 May 2 21:35 33 -> /var/lib/mysql/mysql/columns_priv.MYD lrwx------ 1 root root 64 May 2 21:35 32 -> /var/lib/mysql/mysql/columns_priv.MYI lrwx------ 1 root root 64 May 2 21:35 31 -> /var/lib/mysql/mysql/tables_priv.MYD lrwx------ 1 root root 64 May 2 21:35 30 -> /var/lib/mysql/mysql/tables_priv.MYI lrwx------ 1 root root 64 May 2 21:35 3 -> /var/lib/mysql/aria_log_control lrwx------ 1 root root 64 May 2 21:35 29 -> /var/lib/mysql/mysql/roles_mapping.MYD lrwx------ 1 root root 64 May 2 21:35 28 -> /var/lib/mysql/mysql/roles_mapping.MYI lrwx------ 1 root root 64 May 2 21:35 27 -> /var/lib/mysql/mysql/proxies_priv.MYD lrwx------ 1 root root 64 May 2 21:35 26 -> /var/lib/mysql/mysql/proxies_priv.MYI lrwx------ 1 root root 64 May 2 21:35 25 -> /var/lib/mysql/mysql/host.MYD lrwx------ 1 root root 64 May 2 21:35 24 -> /var/lib/mysql/mysql/host.MYI lrwx------ 1 root root 64 May 2 21:35 23 -> /var/lib/mysql/mysql/db.MYD lrwx------ 1 root root 64 May 2 21:35 22 -> /var/lib/mysql/mysql/db.MYI lrwx------ 1 root root 64 May 2 21:35 21 -> /var/lib/mysql/mysql/user.MYD lrwx------ 1 root root 64 May 2 21:35 20 -> /var/lib/mysql/mysql/user.MYI lrwx------ 1 root root 64 May 2 21:35 19 -> socket:[49519] lrwx------ 1 root root 64 May 2 21:35 18 -> socket:[49518] lrwx------ 1 root root 64 May 2 21:35 17 -> /var/lib/mysql/mysql/servers.MYD lrwx------ 1 root root 64 May 2 21:35 16 -> /var/lib/mysql/mysql/servers.MYI lrwx------ 1 root root 64 May 2 21:35 15 -> /var/lib/mysql/tc.log lrwx------ 1 root root 64 May 2 21:35 13 -> /tmp/ib281FZH (deleted) lrwx------ 1 root root 64 May 2 21:35 12 -> /var/lib/mysql/ibtmp1 lrwx------ 1 root root 64 May 2 21:35 11 -> /var/lib/mysql/ib_logfile1 lrwx------ 1 root root 64 May 2 21:35 10 -> /var/lib/mysql/ib_logfile0 l-wx------ 1 root root 64 May 2 21:35 1 -> /var/log/mysql/error.log lrwx------ 1 root root 64 May 2 21:35 0 -> /dev/pts/3
And again file descriptor with ID=38 is:
/var/lib/mysql/mysql/gtid_slave_pos.ibd
And when you check the size – 12G…..12G for this table? Why? What is used for?
STEP 6) And from the manual:
The mysql.gtid_slave_pos table is used in replication by slave servers to keep track of their current position (the global transaction ID of the last transaction applied). Using the table allows the slave to maintain a consistent value for the gtid_slave_pos system variable across server restarts. See Global Transaction ID. You should never attempt to modify the table directly. If you do need to change the global gtid_slave_pos value, use SET GLOBAL gtid_slave_pos = ... instead. The table is updated with the new position as part of each transaction committed during replication. This makes it preferable that the table is using the same storage engine as the tables otherwise being modified in the transaction, since otherwise a multi-engine transaction is needed that can reduce performance.
Hmm “The table is updated with the new position as part of each transaction committed during replication” and 12G table – could it track minillions of transactions? Probably not, in fact this table has only 2-3-4 rows at a given time!!! But the size is 12G, well as we said this is:
“That’s specifics of InnoDB data storage. Did you try to run OPTIMIZE TABLE mysql.gtid_slave_pos? It should allow to reclaim the disk space.” (taken from: https://jira.mariadb.org/browse/MDEV-12318).
STEP 7) Remove a corrupted innodb file, which causes database (mysql process) crash leaving your with no database at all and then recreate the table
Restart your mysql server with “skip-slave-start” again to be able to start it (look above).
So a table probably with couple of rows takes 12G and MariaDB is using it for the replication on start up, but the replication position is kept on another place “master.info”, can we delete this offender file “gtid_slave_pos.ibd”? Yes we can, move the file out of its place (mysql datadir) and then create a second table with:
MariaDB [mysql]> use mysql MariaDB [mysql]> CREATE TABLE `gtid_slave_pos1` ( -> `domain_id` int(10) unsigned NOT NULL, -> `sub_id` bigint(20) unsigned NOT NULL, -> `server_id` int(10) unsigned NOT NULL, -> `seq_no` bigint(20) unsigned NOT NULL, -> PRIMARY KEY (`domain_id`,`sub_id`) -> ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Replication slave GTID position'; Query OK, 0 rows affected (0.01 sec)
Copy gtid_slave_pos1.ibd to gtid_slave_pos.ibd and restart the mysql process, it will report an error for a table mysql.gtid_slave_pos but you will be able to drop the table and then create it with the same name: “gtid_slave_pos” (you could drop the temporary one “gtid_slave_pos1”)
MariaDB [mysql]> use mysql MariaDB [mysql]> DROP TABLE `gtid_slave_pos`; Query OK, 0 rows affected (0.01 sec) MariaDB [mysql]> CREATE TABLE `gtid_slave_pos` ( -> `domain_id` int(10) unsigned NOT NULL, -> `sub_id` bigint(20) unsigned NOT NULL, -> `server_id` int(10) unsigned NOT NULL, -> `seq_no` bigint(20) unsigned NOT NULL, -> PRIMARY KEY (`domain_id`,`sub_id`) -> ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Replication slave GTID position'; Query OK, 0 rows affected (0.01 sec) MariaDB [mysql]> DROP TABLE `gtid_slave_pos1`; Query OK, 0 rows affected (0.01 sec)
The create table statement is taken from another server probably it is a good idea to do it yourself, login on a healthy mysql server and issue: “show create table mysql.gtid_slave_pos;”.
So now you have a healthy mysql.gtid_slave_posto be used for your replication. Restart your mysql server removing “skip-slave-start” from your configuration file and here it is the replication is OK and running:
MariaDB [(none)]> show slave status\G; *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 10.10.10.10 Master_User: replusr Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.071301 Read_Master_Log_Pos: 64980976 Relay_Log_File: mysqld-relay-bin.230012 Relay_Log_Pos: 80704376 Relay_Master_Log_File: mysql-bin.090129 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: test Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 80704077 Relay_Log_Space: 113209377078 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 30944 Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: Replicate_Ignore_Server_Ids: Master_Server_Id: 101 Master_SSL_Crl: Master_SSL_Crlpath: Using_Gtid: No Gtid_IO_Pos: Replicate_Do_Domain_Ids: Replicate_Ignore_Domain_Ids: Parallel_Mode: conservative SQL_Delay: 0 SQL_Remaining_Delay: NULL Slave_SQL_Running_State: Waiting for room in worker thread event queue 1 row in set (0.00 sec)
Review of freshly installed Fedora 27 Workstation (Gnome GUI)
After the tutorial of Install Fedora Workstation 27 (Gnome GUI) this tutorial is mainly to see what to expect from a freshly installed Fedora 27 Workstation – the look and feel of the GUI (Gnome – version 3.26).
The idea of this tutorial is just to see what to expect from Fedora 27 Workstation (Gnome) – the look and feel of the GUI, the default installed programs and their look and how to do some basic steps with them. Here you’ll find more than 130 screenshots and not so many text we do not want to turn this review of many text and version information and 3 meaningless screenshot, which you cannot see anything for the user interface, which these days is the primary goal of a Desktop system. You can expect more of this kind reviews in the future…
screenshot 1) The default desktop look after logging
Install Fedora Workstation 27 (Gnome GUI)
This tutorial will show you the simple steps of installing a modern Linux Distribution like Fedora 27 Workstation with Gnome for the user graphical interface. First we present the basic steps for installing the Operating system in addition to your present operating systems (here we have two: Windows 10 and Ubuntu 17) and then you can see some screenshots of the installed system and the look and feel of it. We have another tutorials showing more screenshots of the installed and working Fedora 27 (Gnome and KDE plasma) – so you can decide which of them to try first – coming soon.
We used the following ISO for the installation process:
https://download.fedoraproject.org/pub/fedora/linux/releases/27/Workstation/x86_64/iso/Fedora-Workstation-Live-x86_64-27-1.6.iso
It is a LIVE image so you can try it before installing. The easiest way is just to download the image and burn it to a DVD disk and then follow the installation below:
STEP 1) Boot your machine from the CD or USB (whatever you made for the installation device)
Generate a new Monero address (wallet)
The generation of a new Monero address is super simple, just use
monero-wallet-cli
and personally create your new address.
And for those of you, which do not have “monero-wallet-cli” command or even do not know what is this, check out our howtos here:
- Install Ubuntu 16 LTS (comming soon)
- Building from source a Monero node under Ubuntu 16 LTS
Go to your directory where is the monero-wallet-cli binary and execute the following command:
srv@local: cd ~/monero/build/release/bin srv@local:~/monero/build/release/bin$ ./monero-wallet-cli This is the command line monero wallet. It needs to connect to a monero daemon to work correctly. Monero 'Helium Hydra' (v0.11.1.0-master-a03d34f) Logging to ./monero-wallet-cli.log Specify wallet file name (e.g., MyWallet). If the wallet doesn't exist, it will be created. Wallet file name (or Ctrl-C to quit): mycryptomonero No wallet found with that name. Confirm creation of new wallet named: mycryptomonero (Y/Yes/N/No): Y Generating new wallet... Enter a new password for the wallet: Confirm password: List of available languages for your wallet's seed: 0 : Deutsch 1 : English 2 : Español 3 : Français 4 : Italiano 5 : Nederlands 6 : Português 7 : русский язык 8 : 日本語 9 : 简体中文 (中国) 10 : Esperanto 11 : Lojban Enter the number corresponding to the language of your choice: 1 Generated new wallet: 44sEYMFqd8WMcsx5WcjY9WTYyYnBjE8o1DivymU457CwievE6yNuoWARULgDsn9AK24sUwAWa2Jr3SavgnD7a7V7QfBqifZ View key: 61c3f248516175896bda32c85fa36452081ba79aecde962ea199d5e0ffb3080d ********************************************************************** Your wallet has been generated! To start synchronizing with the daemon, use the "refresh" command. Use the "help" command to see the list of available commands. Use "help <command>" to see a command's documentation. Always use the "exit" command when closing monero-wallet-cli to save your current session's state. Otherwise, you might need to synchronize your wallet again (your wallet keys are NOT at risk in any case). NOTE: the following 25 words can be used to recover access to your wallet. Write them down and store them somewhere safe and secure. Please do not store them in your email or on file storage services outside of your immediate control. voice imitate acquire zoom gambit sack dwelt goggles banjo vowels jetting muffin axis shyness sieve zebra together elephant joking foxy quick doggy toffee unrest sack ********************************************************************** Starting refresh... Refresh done, blocks received: 0 Untagged accounts: Account Balance Unlocked balance Label * 0 44sEYM 0.000000000000 0.000000000000 Primary account ---------------------------------------------------------------------------------- Total 0.000000000000 0.000000000000 Currently selected account: [0] Primary account Tag: (No tag assigned) Balance: 0.000000000000, unlocked balance: 0.000000000000 Background refresh thread started [wallet 44sEYM]:
This sequence of numbers and alphabets
44sEYMFqd8WMcsx5WcjY9WTYyYnBjE8o1DivymU457CwievE6yNuoWARULgDsn9AK24sUwAWa2Jr3SavgnD7a7V7QfBqifZ
is your public Monery address, which could be used to receive Monero coins. Monero has also a view key:
61c3f248516175896bda32c85fa36452081ba79aecde962ea199d5e0ffb3080d
which can be used ONLY to view balances (In fact this key could be used to generate a new Monero wallet address, which has read only capabilities of your original wallet address – this is useful when you save your original keys offline and you just want to check balances on an online box).
On Line 9 (highlighted) you enter the name of your wallet, if new it will be created.
On Line 11 (highlighted) expected to confirm creation of new wallet with the name you entered in Line 9.
On Line 28 (highlighted) List of available languages for your wallet’s seed – the words, which could be used to recover access to your wallet.
After generating the address two things must be done:
- Backup your Monero wallet file, which is placed in the same directory where the monero-wallet-cli is:
srv@local:~/monero/build/release/bin$ ls -altr total 55228 drwxrwxr-x 12 ubuntu ubuntu 4096 Mar 14 13:36 .. -rwxrwxr-x 1 ubuntu ubuntu 4212176 Mar 14 13:38 monero-blockchain-export -rwxrwxr-x 1 ubuntu ubuntu 4440496 Mar 14 13:38 monero-blockchain-import -rwxrwxr-x 1 ubuntu ubuntu 10222816 Mar 14 13:39 monero-gen-trusted-multisig -rwxrwxr-x 1 ubuntu ubuntu 9776408 Mar 14 13:40 monerod -rwxrwxr-x 1 ubuntu ubuntu 11004464 Mar 14 13:40 monero-wallet-cli -rwxrwxr-x 1 ubuntu ubuntu 11387912 Mar 14 13:40 monero-wallet-rpc -rw------- 1 ubuntu ubuntu 1005 Apr 25 01:14 mycryptomonero.keys -rw-rw-r-- 1 ubuntu ubuntu 7269 Apr 25 01:21 monerod.log -rw------- 1 ubuntu ubuntu 8845 Apr 25 01:28 monero-wallet-cli.log -rw------- 1 ubuntu ubuntu 5463073 Apr 25 01:28 mycryptomonero drwxrwxr-x 2 ubuntu ubuntu 4096 Apr 25 01:28 .
So you must backup the two files starting with your Monero wallet name (you entered above): “mycryptomonero” and “mycryptomonero.keys”
- Backup your password for the private key!
* Open existing wallet.
And available commands.
You can open your existing wallet when asked for the wallet file name enter the name “mycryptomonero” (the file name is expected to be in the same directory as the monero-wallet-cli) and then enter the password. And if you enter “help” you can see all the available commands of the wallet program “monero-wallet-cli”
srv@local:~/monero/build/release/bin$ ./monero-wallet-cli This is the command line monero wallet. It needs to connect to a monero daemon to work correctly. Monero 'Helium Hydra' (v0.11.1.0-master-a03d34f) Logging to ./monero-wallet-cli.log Specify wallet file name (e.g., MyWallet). If the wallet doesn't exist, it will be created. Wallet file name (or Ctrl-C to quit): mycryptomonero Wallet and key files found, loading... Wallet password: Opened wallet: 44sEYMFqd8WMcsx5WcjY9WTYyYnBjE8o1DivymU457CwievE6yNuoWARULgDsn9AK24sUwAWa2Jr3SavgnD7a7V7QfBqifZ ********************************************************************** Use the "help" command to see the list of available commands. Use "help <command>" to see a command's documentation. ********************************************************************** Starting refresh... Refresh done, blocks received: 0 Untagged accounts: Account Balance Unlocked balance Label * 0 44sEYM 0.000000000000 0.000000000000 Primary account ---------------------------------------------------------------------------------- Total 0.000000000000 0.000000000000 Currently selected account: [0] Primary account Tag: (No tag assigned) Balance: 0.000000000000, unlocked balance: 0.000000000000 Background refresh thread started [wallet 44sEYM]: help Commands: account account new <label text with white spaces allowed> account switch <index> account label <index> <label text with white spaces allowed> account tag <tag_name> <account_index_1> [<account_index_2> ...] account untag <account_index_1> [<account_index_2> ...] account tag_description <tag_name> <description> address [ new <label text with white spaces allowed> | all | <index_min> [<index_max>] | label <index> <label text with white spaces allowed>] address_book [(add ((<address> [pid <id>])|<integrated address>) [<description possibly with whitespaces>])|(delete <index>)] balance [detail] bc_height check_reserve_proof <address> <signature_file> [<message>] check_spend_proof <txid> <signature_file> [<message>] check_tx_key <txid> <txkey> <address> check_tx_proof <txid> <address> <signature_file> [<message>] donate [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <amount> [<payment_id>] encrypted_seed export_key_images <file> export_multisig_info <filename> export_outputs <file> export_raw_multisig_tx <filename> fee finalize_multisig <string> [<string>...] get_description get_reserve_proof (all|<amount>) [<message>] get_spend_proof <txid> [<message>] get_tx_key <txid> get_tx_note <txid> get_tx_proof <txid> <address> [<message>] help [<command>] import_key_images <file> import_multisig_info <filename> [<filename>...] import_outputs <file> incoming_transfers [available|unavailable] [verbose] [index=<N1>[,<N2>[,...]]] integrated_address [<payment_id> | <address>] locked_transfer [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <addr> <amount> <lockblocks> [<payment_id>] make_multisig <threshold> <string1> [<string>...] password payment_id payments <PID_1> [<PID_2> ... <PID_N>] prepare_multisig refresh rescan_bc rescan_spent save save_bc save_watch_only seed set <option> [<value>] set_daemon <host>[:<port>] set_description [free text note] set_log <level>|{+,-,}<categories> set_tx_note <txid> [free text note] show_transfer <txid> show_transfers [in|out|pending|failed|pool] [index=<N1>[,<N2>,...]] [<min_height> [<max_height>]] sign <file> sign_multisig <filename> sign_transfer <file> spendkey start_mining [<number_of_threads>] [bg_mining] [ignore_battery] status stop_mining submit_multisig <filename> submit_transfer sweep_all [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <address> [<payment_id>] sweep_below <amount_threshold> [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <address> [<payment_id>] sweep_single [<priority>] [<ring_size>] <key_image> <address> [<payment_id>] sweep_unmixable transfer [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <address> <amount> [<payment_id>] transfer_original [index=<N1>[,<N2>,...]] [<priority>] [<ring_size>] <address> <amount> [<payment_id>] unspent_outputs [index=<N1>[,<N2>,...]] [<min_amount> [<max_amount>]] verify <filename> <address> <signature> viewkey wallet_info
* For a maximum security you could do the following
In fact you could do the following:
- Install a fresh copy of Ubuntu
- Build from source the Monero software
- Unplug the system from the Internet
- Generate the wallet
- Backup the wallet
- Generate a wallet from your view key to check balances only
Thus your wallet will never be exposed on an online machine!
* It is absolutely necessary your crypto wallet addresses to have a password for security reasons and DO NOT FORGET IT you cannot recover the password therefore your access to the wallet! If you lose your password you lose ALL your funds in the address! It’s better to write it down somewhere on a safe physical place.
Running a Electroneum node from source under Ubuntu 16 LTS
This howto is made to show you how to run a Electroneum node. To run a Electroneum node we need the official electroneum daemon software:
electroneumd
which will start and wait for the network synchronization – our Electroneum node will receive all the blockchains of the network!
Installing (or compiling it) the Electroneum software of the official site will ensure you have the right software for generating and sending/receiving transactions securely and privately! Always use your node software for generating the Electroneum wallet address, DO NOT TRUST any sites, which offer you a creation of Electroneum wallet or any other crypto currency. In crypto world the one how controls the private key of the wallet (which is generated with the creation of the wallet) controls the Electroneum wallet address so controls your funds! Just Install or compile a Electroneum node software – Building from source a Electroneum node under Ubuntu 16 LTS and you’ll everything you need to manage your Electroneum funds!
It’s worth mentioning again this section of Electroneum node howto (if you read other howtos for running a node you would probably read it, but it so important we include it in every howto!!!):
And also be warned DO NOT use insecure sources when:
- installing Ubuntu, install it from a cd/dvd/usb downloaded from the official Ubuntu site here.
- installing all the needed dependencies from official sources only, not recommended the PPA reposigories, neither!
- install yourself the “electroneumd” program (the official Electroneum software), which will create a Electroneum node and after network synchronization could be used to create a Electroneum node.
Three simple rules could almost eliminate leaking your private key to hackers, which in blockchain world means losing your money…
And before start the installation a performance advice:
USE SSD
Technically with Electroneum node you can still use hard drive, but it is slow, but not impossible as some of the older crypto currencies like Ethereum, Bitcoin, Monero and so on.
STEP 1) Install Ubuntu 16 – our howto will be available soon here.
STEP 2) Building from source a Electroneum node
Check out our howto “Building from source a Electroneum node under Ubuntu 16 LTS“.
STEP 3) Start the Electroneum node
if you have followed the howto in STEP 2) you probably have “electroneumd” installed in “~/electroneum/build/release/bin”, so run it with:
ubuntu@srv.local:~/electroneum/build/release/bin$ ./electroneumd &> ./electroneumd.log
It is a good practice to run it with screen and in an infinite loop – if the program crashes it will start automatically and you’ll always have a synchronized node, of course, if you do not need a Electroneum node running all the time the infinite loop is not needed. The user could just start the node, wait for synchronization and then make your transactions and stop the node, after several days you can start it up the catching up the synchronization won’t take much time:
ubuntu@srv.local:~$ screen -R electroneum ubuntu@srv.local:~$ cd electroneum/build/release/bin ubuntu@srv.local:~/electroneum/build/release/bin$ while true; do ./electroneumd &> ./electroneumd.log;done
STEP 3) Wait for the blockchain network synchronization
This step could take significant amount of time, server resources and network bandwidth! USE SSD(s) for your home directory, because the blockchain database will be saved at your
home directory/.electroneum/
If you want to move it on another server or directory (or device) you must copy this directory to the new location.
The generated IO is so extensive that for a traditional hard drive probably will be difficult to catch up with the synchronization.
When you run “electroneumd” it will check the current state of the network and the current state of your Electroneum node, so no matter it is started for the first time or not a network synchronization is needed, your node need to be synchronized with the Electroneum network to be used for all kind of actions in the network (create a wallet, transfer funds and more).
Here is the output of just started Electroneum node:
ubuntu@ip-172-31-9-41:~$ head -n 1000 electroneum/build/release/bin/electroneumd.log 2018-04-24 08:29:43.963 7f0862635740 INFO global src/daemon/main.cpp:280 Electroneum 'Helium Hydra' (v0.11.1.0-6a0535e) 2018-04-24 08:29:43.963 7f0862635740 INFO global src/daemon/protocol.h:56 Initializing cryptonote protocol... 2018-04-24 08:29:43.963 7f0862635740 INFO global src/daemon/protocol.h:61 Cryptonote protocol initialized OK 2018-04-24 08:29:43.963 7f0862635740 INFO global src/daemon/p2p.h:64 Initializing p2p server... 2018-04-24 08:29:48.066 7f0862635740 INFO global src/daemon/p2p.h:69 P2p server initialized OK 2018-04-24 08:29:48.066 7f0862635740 INFO global src/daemon/rpc.h:59 Initializing core rpc server... 2018-04-24 08:29:48.066 7f0862635740 INFO global contrib/epee/include/net/http_server_impl_base.h:70 Binding on 127.0.0.1:26968 2018-04-24 08:29:48.066 7f0862635740 INFO global src/daemon/rpc.h:64 Core rpc server initialized OK on port: 26968 2018-04-24 08:29:48.067 7f0862635740 INFO global src/daemon/core.h:74 Initializing core... 2018-04-24 08:29:48.067 7f0862635740 INFO global src/cryptonote_core/cryptonote_core.cpp:324 Loading blockchain from folder /home/ubuntu/.electroneum/lmdb ... 2018-04-24 08:29:48.067 7f0862635740 WARN blockchain.db.lmdb src/blockchain_db/lmdb/db_lmdb.cpp:73 Error attempting to retrieve a hard fork version at height 0 from the db: MDB_NOTFOUND: No matching key/data pair found 2018-04-24 08:29:48.134 7f0862635740 INFO global src/cryptonote_core/cryptonote_core.cpp:422 Loading checkpoints 2018-04-24 08:29:48.261 7f0862635740 INFO global src/daemon/core.h:79 Core initialized OK 2018-04-24 08:29:48.261 7f0862635740 INFO global src/daemon/rpc.h:69 Starting core rpc server... 2018-04-24 08:29:48.261 [SRV_MAIN] INFO global src/daemon/rpc.h:74 Core rpc server started ok 2018-04-24 08:29:48.261 [SRV_MAIN] INFO global src/daemon/p2p.h:79 Starting p2p net loop... 2018-04-24 08:29:49.262 [P2P2] INFO global src/cryptonote_core/cryptonote_core.cpp:1259 ********************************************************************** The daemon will start synchronizing with the network. This may take a long time to complete. You can set the level of process detailization* through "set_log <level|categories>" command*, where <level> is between 0 (no details) and 4 (very verbose), or custom category based levels (eg, *:WARNING) Use the "help" command to see the list of available commands. ********************************************************************** 2018-04-24 08:30:23.375 [P2P2] INFO global src/cryptonote_protocol/cryptonote_protocol_handler.inl:303 [104.128.238.120:26967 OUT] Sync data returned a new top block candidate: 1 -> 255580 [Your node is 255579 blocks (177 days) behind] SYNCHRONIZATION started 2018-04-24 08:30:26.448 [P2P2] INFO global src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152 [104.128.238.120:26967 OUT] Synced 101/255580 2018-04-24 08:30:27.820 [P2P5] INFO global src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152 [104.128.238.120:26967 OUT] Synced 201/255580 2018-04-24 08:30:29.107 [P2P9] INFO global src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152 [104.128.238.120:26967 OUT] Synced 301/255580 2018-04-24 08:30:30.378 [P2P4] INFO global src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152 [104.128.238.120:26967 OUT] Synced 401/255580 2018-04-24 08:30:31.673 [P2P5] INFO global src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152 [104.128.238.120:26967 OUT] Synced 501/255580 2018-04-24 08:30:33.064 [P2P8] INFO global src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152 [104.128.238.120:26967 OUT] Synced 601/255580 2018-04-24 08:30:40.652 [P2P5] INFO global src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152 [104.128.238.120:26967 OUT] Synced 701/255580 2018-04-24 08:30:41.899 [P2P4] INFO global src/cryptonote_protocol/cryptonote_protocol_handler.inl:303 [81.187.158.83:26967 OUT] Sync data returned a new top block candidate: 701 -> 255581 [Your node is 254880 blocks (177 days) behind] SYNCHRONIZATION started 2018-04-24 08:30:50.515 [P2P8] INFO global src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152 [216.244.77.114:26967 OUT] Synced 801/255581 2018-04-24 08:30:54.798 [P2P8] INFO global src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152 [216.244.77.114:26967 OUT] Synced 901/255581 2018-04-24 08:30:57.647 [P2P8] INFO global src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152 [216.244.77.114:26967 OUT] Synced 1001/255581 2018-04-24 08:31:01.556 [P2P8] INFO global src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152 [216.244.77.114:26967 OUT] Synced 1101/255581 2018-04-24 08:31:06.832 [P2P8] INFO global src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152 [216.244.77.114:26967 OUT] Synced 1201/255581 2018-04-24 08:31:11.527 [P2P8] INFO global src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152 [216.244.77.114:26967 OUT] Synced 1301/255581 2018-04-24 08:31:15.665 [P2P8] INFO global src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152 [216.244.77.114:26967 OUT] Synced 1401/255581 2018-04-24 08:31:16.453 [P2P1] INFO global src/cryptonote_protocol/cryptonote_protocol_handler.inl:303 [85.233.33.46:26967 OUT] Sync data returned a new top block candidate: 1401 -> 255582 [Your node is 254181 blocks (176 days) behind] SYNCHRONIZATION started 2018-04-24 08:31:18.632 [P2P8] INFO global src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152 [216.244.77.114:26967 OUT] Synced 1501/255582 2018-04-24 08:31:19.491 [P2P8] INFO global src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152 [216.244.77.114:26967 OUT] Synced 1601/255582 2018-04-24 08:31:20.650 [P2P8] INFO global src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152 [216.244.77.114:26967 OUT] Synced 1701/255582 2018-04-24 08:31:22.308 [P2P8] INFO global src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152 [216.244.77.114:26967 OUT] Synced 1801/255582 2018-04-24 08:31:23.548 [P2P8] INFO global src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152 [216.244.77.114:26967 OUT] Synced 1901/255582 2018-04-24 08:31:26.141 [P2P8] INFO global src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152 [216.244.77.114:26967 OUT] Synced 2001/255582 2018-04-24 08:31:27.320 [P2P8] INFO global src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152 [216.244.77.114:26967 OUT] Synced 2101/255582 ..... ..... ..... 2018-04-24 21:46:18.051 [P2P9] INFO global src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152 [162.218.114.202:26967 OUT] Synced 256416/256416 2018-04-24 21:46:18.051 [P2P9] INFO global src/cryptonote_protocol/cryptonote_protocol_handler.inl:1519 SYNCHRONIZED OK 2018-04-24 21:46:18.051 [P2P9] INFO global src/cryptonote_protocol/cryptonote_protocol_handler.inl:1541 ********************************************************************** You are now synchronized with the network. You may now start electroneum-wallet-cli. Use the "help" command to see the list of available commands. ********************************************************************** 2018-04-24 21:46:19.858 [P2P3] INFO global src/blockchain_db/lmdb/db_lmdb.cpp:579 [batch] DB resize needed 2018-04-24 22:01:55.769 [P2P3] INFO global src/blockchain_db/lmdb/db_lmdb.cpp:495 LMDB Mapsize increased. Old: 22859MiB, New: 23883MiB 2018-04-24 22:01:55.771 [P2P3] INFO global src/blockchain_db/lmdb/db_lmdb.cpp:579 [batch] DB resize needed 2018-04-24 22:05:03.853 [P2P3] INFO global src/blockchain_db/lmdb/db_lmdb.cpp:495 LMDB Mapsize increased. Old: 23883MiB, New: 24907MiB 2018-04-24 22:05:03.901 [P2P5] INFO global src/blockchain_db/lmdb/db_lmdb.cpp:579 [batch] DB resize needed 2018-04-24 22:05:03.901 [P2P5] INFO global src/blockchain_db/lmdb/db_lmdb.cpp:495 LMDB Mapsize increased. Old: 24907MiB, New: 25931MiB 2018-04-24 22:05:03.942 [P2P9] INFO global src/blockchain_db/lmdb/db_lmdb.cpp:579 [batch] DB resize needed 2018-04-24 22:05:03.943 [P2P9] INFO global src/blockchain_db/lmdb/db_lmdb.cpp:495 LMDB Mapsize increased. Old: 25931MiB, New: 26955MiB 2018-04-24 22:05:03.943 [P2P9] INFO global src/blockchain_db/lmdb/db_lmdb.cpp:579 [batch] DB resize needed 2018-04-24 22:05:03.944 [P2P9] INFO global src/blockchain_db/lmdb/db_lmdb.cpp:495 LMDB Mapsize increased. Old: 26955MiB, New: 27979MiB 2018-04-24 22:05:04.032 [P2P4] INFO global src/blockchain_db/lmdb/db_lmdb.cpp:579 [batch] DB resize needed 2018-04-24 22:05:04.033 [P2P4] INFO global src/blockchain_db/lmdb/db_lmdb.cpp:495 LMDB Mapsize increased. Old: 27979MiB, New: 29003MiB 2018-04-24 22:05:04.114 [P2P9] INFO global src/blockchain_db/lmdb/db_lmdb.cpp:579 [batch] DB resize needed 2018-04-24 22:05:04.115 [P2P9] INFO global src/blockchain_db/lmdb/db_lmdb.cpp:495 LMDB Mapsize increased. Old: 29003MiB, New: 30027MiB 2018-04-24 22:05:08.452 [P2P5] INFO global src/cryptonote_protocol/cryptonote_protocol_handler.inl:303 [91.224.140.211:21200 OUT] Sync data returned a new top block candidate: 256417 -> 256438 [Your node is 21 blocks (0 days) behind] SYNCHRONIZATION started 2018-04-24 22:05:18.547 [P2P0] INFO global src/cryptonote_protocol/cryptonote_protocol_handler.inl:1152 [91.224.140.211:21200 OUT] Synced 256438/256438 2018-04-24 22:05:18.547 [P2P0] INFO global src/cryptonote_protocol/cryptonote_protocol_handler.inl:1519 SYNCHRONIZED OK 2018-04-24 22:54:05.918 [P2P0] INFO global src/cryptonote_protocol/cryptonote_protocol_handler.inl:1519 SYNCHRONIZED OK
There is also a log of all the output of the “electroneumd” under the “~/.electroneum/electroneum.log”.
“~/.electroneum/” is where all the data will be saved for the Electroneum node
You can see when your Electroneum node is fully synchronized and you may use the “electroneum-wallet-cli”.
As you can see we redirected the output of the program in a file in the same directory as “electroneumd”. The default output is informative here is what we can see about the blockchain syncronization:
- how many blockchains we are behind the Electroneum network – “Sync data returned a new top block candidate: 1401 -> 255582”
- how many days we are behind the Electroneum network – “Your node is 254181 blocks (176 days) behind”
At present with SSD and 16G RAM on a intel i7 processor and a fast Internet connection 100Mbps the full synchronization took about 12 hours and 18G of storage space.
After a successful full synchronization, in the log you’ll have:
You are now synchronized with the network.
and you are ready to use “electroneum-wallet-cli” or the others program to manage your funds – for example send, receive, check balance of your funds.
If you stop and start the program it will start the synchronization from the point you stopped.
Building from source a Electroneum node under Ubuntu 16 LTS
The program, which makes an Electroneum node from your computer, is called
electroneumd
You need a electroneum node to send, receive coins securely and privately and to maintain your wallet personally. DO IT YOURSELF – the most secure way of generating a electroneum wallet address and making transactions such as send and receive coins. As you usual here you’ll see: do not trust any site for generating an electroneum wallet address, use the official tools from this package to generate your addresses and to send and receive coins!
Sometimes you’ll see an easy way of installing the node such as a snap package or docker image – do not trust them! Most of the time they are unofficial releases or 3rd party releases – trust only to the official site and repository all other packages our there bring more risk than features.
STEP 1) Update your system and install dependencies
sudo apt-get update -y sudo apt-get -y upgrade sudo apt-get install -y build-essential cmake pkg-config libboost-all-dev libssl-dev libunbound-dev libminiupnpc-dev libunwind8-dev liblzma-dev libldns-dev libexpat1-dev libgtest-dev doxygen graphviz
STEP 2) Get the “electroneumd” code and compile it
You could change to stable release (probably the last tag) if you like.
git clone https://github.com/electroneum/electroneum cd electroneum export CFLAGS="-march=native -O2 -msse3 -fomit-frame-pointer -pipe" export CXXFLAGS="${CFLAGS}" export CHOST="x86_64-pc-linux-gnu" make
STEP 3) Check is everything is OK, installed electroneumd – Electroneum ‘Helium Hydra’
ls command shows the additional programs in the package.
srv@local:~/electroneum$ cd ./build/release/bin srv@local:~/electroneum/build/release/bin$ ./electroneumd --version Electroneum 'Helium Hydra' (v0.11.1.0-6a0535e) srv@local:~/electroneum/build/release/bin$ ls electroneum-blockchain-export electroneum-blockchain-import electroneum-wallet-cli electroneum-wallet-rpc electroneumd
Most used programs are electroneumd and electroneum-wallet-cli, which offers a command line management of a electroneum wallet addresses.
* Here is the help output of “electroneumd” – the Electroneum node daemon:
srv@local:~/electroneum/build/release/bin$ ./electroneumd --help ./electroneumd --help Electroneum 'Helium Hydra' (v0.11.1.0-6a0535e) Usage: ./electroneumd [options|settings] [daemon_command...] Options: --help Produce help message --version Output version information --os-version OS for which this executable was compiled --config-file arg (=/home/ubuntu/.electroneum/electroneum.conf) Specify configuration file --test-dbg-lock-sleep arg (=0) Sleep time in ms, defaults to 0 (off), used to debug before/after locking mutex. Values 100 to 1000 are good for tests. --detach Run as daemon --pidfile arg File path to write the daemon's PID to (optional, requires --detach) --non-interactive Run non-interactive Settings: --log-file arg (=/home/ubuntu/.electroneum/electroneum.log) Specify log file --log-level arg --max-concurrency arg (=0) Max number of threads to use for a parallel job --data-dir arg (=/home/ubuntu/.electroneum) Specify data directory --testnet-data-dir arg (=/home/ubuntu/.electroneum/testnet) Specify testnet data directory --test-drop-download For net tests: in download, discard ALL blocks instead checking/saving them (very fast) --test-drop-download-height arg (=0) Like test-drop-download but disards only after around certain height --testnet Run on testnet. The wallet must be launched with --testnet flag. --enforce-dns-checkpointing checkpoints from DNS server will be enforced --db-type arg (=lmdb) Specify database type, available: lmdb --prep-blocks-threads arg (=4) Max number of threads to use when preparing block hashes in groups. --fast-block-sync arg (=1) Sync up most of the way by using embedded, known block hashes. --db-sync-mode arg (=fast:async:1000) Specify sync option, using format [safe|fast|fastest]:[sync|async]:[nbloc ks_per_sync]. --db-salvage Try to salvage a blockchain database if it seems corrupted --show-time-stats arg (=0) Show time-stats when processing blocks/txs and disk synchronization. --block-sync-size arg (=0) How many blocks to sync at once during chain synchronization (0 = adaptive). --check-updates arg (=notify) Check for new versions of electroneum: [disabled|notify|download|update] --fluffy-blocks Relay blocks as fluffy blocks where possible (automatic on testnet) --testnet-p2p-bind-port arg (=36967) Port for testnet p2p network protocol --p2p-bind-port arg (=26967) Port for p2p network protocol --extra-messages-file arg Specify file for extra messages to include into coinbase transactions --start-mining arg Specify wallet address to mining for --mining-threads arg Specify mining threads count --bg-mining-enable enable/disable background mining --bg-mining-ignore-battery if true, assumes plugged in when unable to query system power status --bg-mining-min-idle-interval arg Specify min lookback interval in seconds for determining idle state --bg-mining-idle-threshold arg Specify minimum avg idle percentage over lookback interval --bg-mining-miner-target arg Specificy maximum percentage cpu use by miner(s) --p2p-bind-ip arg (=0.0.0.0) Interface for p2p network protocol --p2p-external-port arg (=0) External port for p2p network protocol (if port forwarding used with NAT) --allow-local-ip Allow local ip add to peer list, mostly in debug purposes --add-peer arg Manually add peer to local peerlist --add-priority-node arg Specify list of peers to connect to and attempt to keep the connection open --add-exclusive-node arg Specify list of peers to connect to only. If this option is given the options add-priority-node and seed-node are ignored --seed-node arg Connect to a node to retrieve peer addresses, and disconnect --hide-my-port Do not announce yourself as peerlist candidate --no-igd Disable UPnP port mapping --offline Do not listen for peers, nor connect to any --out-peers arg (=-1) set max number of out peers --tos-flag arg (=-1) set TOS flag --limit-rate-up arg (=-1) set limit-rate-up [kB/s] --limit-rate-down arg (=-1) set limit-rate-down [kB/s] --limit-rate arg (=-1) set limit-rate [kB/s] --save-graph Save data for dr electroneum --rpc-bind-port arg (=26968) Port for RPC server --testnet-rpc-bind-port arg (=36968) Port for testnet RPC server --restricted-rpc Restrict RPC to view only commands --rpc-bind-ip arg (=127.0.0.1) Specify ip to bind rpc server --rpc-login arg Specify username[:password] required for RPC server --confirm-external-bind Confirm rpc-bind-ip value is NOT a loopback (local) IP
* Here is the help output of “electroneum-wallet-cli” – the cli management tool for Electroneum wallet address
srv@local:~/electroneum/build/release/bin$ ./electroneum-wallet-cli --help Electroneum 'Helium Hydra' (v0.11.1.0-6a0535e) This is the command line electroneum wallet. It needs to connect to a electroneum daemon to work correctly. Usage: electroneum-wallet-cli [--wallet-file=<file>|--generate-new-wallet=<file>] [<COMMAND>] General options: --help Produce help message --version Output version information Wallet options: --daemon-address arg Use daemon instance at <host>:<port> --daemon-host arg Use daemon instance at host <arg> instead of localhost --password arg Wallet password (escape/quote as needed) --password-file arg Wallet password file --daemon-port arg (=0) Use daemon instance at port <arg> instead of 18081 --daemon-login arg Specify username[:password] for daemon RPC client --testnet For testnet. Daemon must also be launched with --testnet flag --restricted-rpc Restricts to view-only commands --wallet-file arg Use wallet <arg> --generate-new-wallet arg Generate new wallet and save it to <arg> --generate-from-view-key arg Generate incoming-only wallet from view key --generate-from-keys arg Generate wallet from private keys --generate-from-multisig-keys arg Generate a master wallet from multisig wallet keys --generate-from-json arg Generate wallet from JSON format file --mnemonic-language arg Language for mnemonic --command arg --restore-deterministic-wallet Recover wallet using Electrum-style mnemonic seed --non-deterministic Create non-deterministic view and spend keys --electrum-seed arg Specify Electrum seed for wallet recovery/creation --trusted-daemon Enable commands which rely on a trusted daemon --allow-mismatched-daemon-version Allow communicating with a daemon that uses a different RPC version --restore-height arg (=0) Restore from specific blockchain height --log-file arg Specify log file --log-level arg 0-4 or categories --max-concurrency arg (=0) Max number of threads to use for a parallel job --config-file arg Config file
* Here is the output of the building process
srv@local:~$ sudo apt-get -y update ... srv@local:~$ sudo apt-get -y upgrade ... srv@local:~$ sudo apt-get install -y build-essential cmake pkg-config libboost-all-dev libssl-dev libunbound-dev libminiupnpc-dev libunwind8-dev liblzma-dev libldns-dev libexpat1-dev libgtest-dev doxygen graphviz Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: autotools-dev binutils cmake-data cpp cpp-5 dpkg-dev fakeroot fontconfig fontconfig-config fonts-dejavu-core fonts-liberation g++ g++-5 gcc gcc-5 icu-devtools libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libarchive13 libasan2 libatomic1 libboost-atomic-dev libboost-atomic1.58-dev libboost-atomic1.58.0 libboost-chrono-dev libboost-chrono1.58-dev libboost-chrono1.58.0 libboost-context-dev libboost-context1.58-dev libboost-context1.58.0 libboost-coroutine-dev libboost-coroutine1.58-dev libboost-coroutine1.58.0 libboost-date-time-dev libboost-date-time1.58-dev libboost-date-time1.58.0 libboost-dev libboost-exception-dev libboost-exception1.58-dev libboost-filesystem-dev libboost-filesystem1.58-dev libboost-filesystem1.58.0 libboost-graph-dev libboost-graph-parallel-dev libboost-graph-parallel1.58-dev libboost-graph-parallel1.58.0 libboost-graph1.58-dev libboost-graph1.58.0 libboost-iostreams-dev libboost-iostreams1.58-dev libboost-iostreams1.58.0 libboost-locale-dev libboost-locale1.58-dev libboost-locale1.58.0 libboost-log-dev libboost-log1.58-dev libboost-log1.58.0 libboost-math-dev libboost-math1.58-dev libboost-math1.58.0 libboost-mpi-dev libboost-mpi-python-dev libboost-mpi-python1.58-dev libboost-mpi-python1.58.0 libboost-mpi1.58-dev libboost-mpi1.58.0 libboost-program-options-dev libboost-program-options1.58-dev libboost-program-options1.58.0 libboost-python-dev libboost-python1.58-dev libboost-python1.58.0 libboost-random-dev libboost-random1.58-dev libboost-random1.58.0 libboost-regex-dev libboost-regex1.58-dev libboost-regex1.58.0 libboost-serialization-dev libboost-serialization1.58-dev libboost-serialization1.58.0 libboost-signals-dev libboost-signals1.58-dev libboost-signals1.58.0 libboost-system-dev libboost-system1.58-dev libboost-system1.58.0 libboost-test-dev libboost-test1.58-dev libboost-test1.58.0 libboost-thread-dev libboost-thread1.58-dev libboost-thread1.58.0 libboost-timer-dev libboost-timer1.58-dev libboost-timer1.58.0 libboost-tools-dev libboost-wave-dev libboost-wave1.58-dev libboost-wave1.58.0 libboost1.58-dev libboost1.58-tools-dev libc-dev-bin libc6-dev libcairo2 libcc1-0 libcdt5 libcgraph6 libcilkrts5 libclang1-3.6 libcurl3 libdatrie1 libdpkg-perl libfakeroot libfile-fcntllock-perl libfontconfig1 libgcc-5-dev libgd3 libgomp1 libgraphite2-3 libgvc6 libgvpr2 libharfbuzz0b libhwloc-dev libhwloc-plugins libhwloc5 libibverbs-dev libibverbs1 libice6 libicu-dev libisl15 libitm1 libjbig0 libjpeg-turbo8 libjpeg8 libjsoncpp1 libldns1 libllvm3.6v5 liblsan0 libltdl-dev libltdl7 libminiupnpc10 libmpc3 libmpx0 libnuma-dev libobjc-5-dev libobjc4 libopenmpi-dev libopenmpi1.10 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpathplan4 libpciaccess0 libpixman-1-0 libpython-dev libpython-stdlib libpython2.7 libpython2.7-dev libpython2.7-minimal libpython2.7-stdlib libquadmath0 libsm6 libssl-doc libstdc++-5-dev libthai-data libthai0 libtiff5 libtool libtsan0 libubsan0 libunbound2 libunwind-dev libunwind8 libvpx3 libxaw7 libxcb-render0 libxcb-shm0 libxmu6 libxpm4 libxrender1 libxt6 linux-libc-dev make manpages-dev mpi-default-bin mpi-default-dev ocl-icd-libopencl1 openmpi-bin openmpi-common python python-dev python-minimal python2.7 python2.7-dev python2.7-minimal x11-common zlib1g-dev Suggested packages: binutils-doc codeblocks eclipse ninja-build cpp-doc gcc-5-locales doxygen-latex doxygen-doc doxygen-gui debian-keyring g++-multilib g++-5-multilib gcc-5-doc libstdc++6-5-dbg gcc-multilib autoconf automake flex bison gdb gcc-doc gcc-5-multilib libgcc1-dbg libgomp1-dbg libitm1-dbg libatomic1-dbg libasan2-dbg liblsan0-dbg libtsan0-dbg libubsan0-dbg libcilkrts5-dbg libmpx0-dbg libquadmath0-dbg gsfonts graphviz-doc lrzip libboost-doc libboost1.58-doc gccxml libmpfrc++-dev libntl-dev xsltproc docbook-xml docbook-xsl default-jdk fop glibc-doc libgd-tools libhwloc-contrib-plugins icu-doc libtool-doc liblzma-doc minissdpd opennmpi-doc libstdc++-5-doc automaken gfortran | fortran95-compiler gcj-jdk make-doc opencl-icd gfortran openmpi-checkpoint python-doc python-tk python2.7-doc binfmt-support The following NEW packages will be installed: autotools-dev binutils build-essential cmake cmake-data cpp cpp-5 doxygen dpkg-dev fakeroot fontconfig fontconfig-config fonts-dejavu-core fonts-liberation g++ g++-5 gcc gcc-5 graphviz icu-devtools libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libarchive13 libasan2 libatomic1 libboost-all-dev libboost-atomic-dev libboost-atomic1.58-dev libboost-atomic1.58.0 libboost-chrono-dev libboost-chrono1.58-dev libboost-chrono1.58.0 libboost-context-dev libboost-context1.58-dev libboost-context1.58.0 libboost-coroutine-dev libboost-coroutine1.58-dev libboost-coroutine1.58.0 libboost-date-time-dev libboost-date-time1.58-dev libboost-date-time1.58.0 libboost-dev libboost-exception-dev libboost-exception1.58-dev libboost-filesystem-dev libboost-filesystem1.58-dev libboost-filesystem1.58.0 libboost-graph-dev libboost-graph-parallel-dev libboost-graph-parallel1.58-dev libboost-graph-parallel1.58.0 libboost-graph1.58-dev libboost-graph1.58.0 libboost-iostreams-dev libboost-iostreams1.58-dev libboost-iostreams1.58.0 libboost-locale-dev libboost-locale1.58-dev libboost-locale1.58.0 libboost-log-dev libboost-log1.58-dev libboost-log1.58.0 libboost-math-dev libboost-math1.58-dev libboost-math1.58.0 libboost-mpi-dev libboost-mpi-python-dev libboost-mpi-python1.58-dev libboost-mpi-python1.58.0 libboost-mpi1.58-dev libboost-mpi1.58.0 libboost-program-options-dev libboost-program-options1.58-dev libboost-program-options1.58.0 libboost-python-dev libboost-python1.58-dev libboost-python1.58.0 libboost-random-dev libboost-random1.58-dev libboost-random1.58.0 libboost-regex-dev libboost-regex1.58-dev libboost-regex1.58.0 libboost-serialization-dev libboost-serialization1.58-dev libboost-serialization1.58.0 libboost-signals-dev libboost-signals1.58-dev libboost-signals1.58.0 libboost-system-dev libboost-system1.58-dev libboost-system1.58.0 libboost-test-dev libboost-test1.58-dev libboost-test1.58.0 libboost-thread-dev libboost-thread1.58-dev libboost-thread1.58.0 libboost-timer-dev libboost-timer1.58-dev libboost-timer1.58.0 libboost-tools-dev libboost-wave-dev libboost-wave1.58-dev libboost-wave1.58.0 libboost1.58-dev libboost1.58-tools-dev libc-dev-bin libc6-dev libcairo2 libcc1-0 libcdt5 libcgraph6 libcilkrts5 libclang1-3.6 libcurl3 libdatrie1 libdpkg-perl libexpat1-dev libfakeroot libfile-fcntllock-perl libfontconfig1 libgcc-5-dev libgd3 libgomp1 libgraphite2-3 libgtest-dev libgvc6 libgvpr2 libharfbuzz0b libhwloc-dev libhwloc-plugins libhwloc5 libibverbs-dev libibverbs1 libice6 libicu-dev libisl15 libitm1 libjbig0 libjpeg-turbo8 libjpeg8 libjsoncpp1 libldns-dev libldns1 libllvm3.6v5 liblsan0 libltdl-dev libltdl7 liblzma-dev libminiupnpc-dev libminiupnpc10 libmpc3 libmpx0 libnuma-dev libobjc-5-dev libobjc4 libopenmpi-dev libopenmpi1.10 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpathplan4 libpciaccess0 libpixman-1-0 libpython-dev libpython-stdlib libpython2.7 libpython2.7-dev libpython2.7-minimal libpython2.7-stdlib libquadmath0 libsm6 libssl-dev libssl-doc libstdc++-5-dev libthai-data libthai0 libtiff5 libtool libtsan0 libubsan0 libunbound-dev libunbound2 libunwind-dev libunwind8 libunwind8-dev libvpx3 libxaw7 libxcb-render0 libxcb-shm0 libxmu6 libxpm4 libxrender1 libxt6 linux-libc-dev make manpages-dev mpi-default-bin mpi-default-dev ocl-icd-libopencl1 openmpi-bin openmpi-common pkg-config python python-dev python-minimal python2.7 python2.7-dev python2.7-minimal x11-common zlib1g-dev 0 upgraded, 213 newly installed, 0 to remove and 3 not upgraded. Need to get 134 MB of archives. After this operation, 578 MB of additional disk space will be used. Get:1 http://us-east-2.ec2.archive.ubuntu.com/ubuntu xenial-updates/main amd64 cmake-data all 3.5.1-1ubuntu3 [1121 kB] ...... ...... ...... srv@local:~$ git clone https://github.com/electroneum/electroneum Cloning into 'electroneum'... remote: Counting objects: 30513, done. remote: Total 30513 (delta 0), reused 0 (delta 0), pack-reused 30513 Receiving objects: 100% (30513/30513), 128.70 MiB | 86.51 MiB/s, done. Resolving deltas: 100% (22819/22819), done. Checking connectivity... done. srv@local:~$ cd electroneum srv@local:~/electroneum$ export CFLAGS="-march=native -O2 -msse3 -fomit-frame-pointer -pipe" srv@local:~/electroneum$ export CXXFLAGS="${CFLAGS}" srv@local:~/electroneum$ export CHOST="x86_64-pc-linux-gnu" srv@local:~/electroneum$ make mkdir -p build/release cd build/release && cmake -D BUILD_TESTS=ON -D CMAKE_BUILD_TYPE=release ../.. && make -- The C compiler identification is GNU 5.4.0 -- The CXX compiler identification is GNU 5.4.0 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Building without build tag -- Could not find DEVELOPER_LOCAL_TOOLS in env (not required) -- BOOST_IGNORE_SYSTEM_PATHS defaults to OFF -- Could not find DEVELOPER_LIBUNBOUND_OLD in env (not required) -- Building for a 64-bit system -- Building internal libraries as static -- Could not find DATABASE in env (not required unless you want to change database type from default: lmdb) -- Using LMDB as default DB type -- Stack trace on exception enabled -- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libssl.so;/usr/lib/x86_64-linux-gnu/libcrypto.so (found version "1.0.2g") -- Looking for pthread.h -- Looking for pthread.h - found -- Looking for pthread_create -- Looking for pthread_create - not found -- Check if compiler accepts -pthread -- Check if compiler accepts -pthread - yes -- Found Threads: TRUE -- Found MiniUPnPc: /usr/include/miniupnpc -- Found miniupnpc API version 10 -- Using shared miniupnpc found at /usr/include/miniupnpc -- Looking for libunbound -- Found libunbound include (unbound.h) in /usr/include -- Found libunbound shared library -- Using 64-bit LMDB from source tree -- Building on x86_64 for native -- AES support enabled -- Found Boost Version: 105800 -- Could NOT find Readline (missing: Readline_INCLUDE_DIR Readline_LIBRARY) -- Performing Test GNU_READLINE_FOUND -- Performing Test GNU_READLINE_FOUND - Failed -- Could not find GNU readline library so building without readline support -- Found Git: /usr/bin/git -- Could NOT find GTest (missing: GTEST_LIBRARY GTEST_MAIN_LIBRARY) -- GTest not found on the system: will use GTest bundled with this source -- Found Doxygen: /usr/bin/doxygen (found version "1.8.11") -- Configuring done -- Generating done -- Build files have been written to: /home/ubuntu/electroneum/build/release make[1]: Entering directory '/home/ubuntu/electroneum/build/release' make[2]: Entering directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target version make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 0%] Generating version/version.h -- You are currently on commit 6a0535e -- The most recent tag was at 3b62c74 -- You are ahead of or behind a tagged release make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 0%] Built target version make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target lmdb make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 1%] Building C object external/db_drivers/liblmdb/CMakeFiles/lmdb.dir/mdb.c.o [ 1%] Building C object external/db_drivers/liblmdb/CMakeFiles/lmdb.dir/midl.c.o [ 2%] Linking C static library liblmdb.a make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 2%] Built target lmdb make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target easylogging make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 2%] Building CXX object external/easylogging++/CMakeFiles/easylogging.dir/easylogging++.cc.o [ 3%] Linking CXX static library libeasylogging.a make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 3%] Built target easylogging make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target obj_cncrypto make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 3%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/aesb.c.o [ 4%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/blake256.c.o [ 4%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/chacha8.c.o [ 5%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/crypto-ops-data.c.o [ 5%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/crypto-ops.c.o [ 5%] Building CXX object src/crypto/CMakeFiles/obj_cncrypto.dir/crypto.cpp.o [ 6%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/groestl.c.o [ 6%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/hash-extra-blake.c.o [ 7%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/hash-extra-groestl.c.o [ 7%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/hash-extra-jh.c.o [ 8%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/hash-extra-skein.c.o [ 8%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/hash.c.o [ 9%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/jh.c.o [ 9%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/keccak.c.o [ 10%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/oaes_lib.c.o [ 10%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/random.c.o [ 10%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/skein.c.o [ 11%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/slow-hash.c.o [ 11%] Building C object src/crypto/CMakeFiles/obj_cncrypto.dir/tree-hash.c.o make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 11%] Built target obj_cncrypto make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target cncrypto make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 12%] Linking CXX static library libcncrypto.a make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 12%] Built target cncrypto make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target epee make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 12%] Building CXX object contrib/epee/src/CMakeFiles/epee.dir/hex.cpp.o [ 13%] Building CXX object contrib/epee/src/CMakeFiles/epee.dir/http_auth.cpp.o [ 13%] Building CXX object contrib/epee/src/CMakeFiles/epee.dir/mlog.cpp.o [ 13%] Building CXX object contrib/epee/src/CMakeFiles/epee.dir/string_tools.cpp.o [ 14%] Linking CXX static library libepee.a make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 14%] Built target epee make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target obj_common make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 15%] Building CXX object src/common/CMakeFiles/obj_common.dir/base58.cpp.o [ 15%] Building CXX object src/common/CMakeFiles/obj_common.dir/command_line.cpp.o [ 16%] Building CXX object src/common/CMakeFiles/obj_common.dir/dns_utils.cpp.o [ 16%] Building CXX object src/common/CMakeFiles/obj_common.dir/download.cpp.o [ 17%] Building CXX object src/common/CMakeFiles/obj_common.dir/util.cpp.o [ 17%] Building CXX object src/common/CMakeFiles/obj_common.dir/i18n.cpp.o [ 18%] Building CXX object src/common/CMakeFiles/obj_common.dir/password.cpp.o [ 18%] Building CXX object src/common/CMakeFiles/obj_common.dir/perf_timer.cpp.o [ 18%] Building CXX object src/common/CMakeFiles/obj_common.dir/task_region.cpp.o [ 19%] Building CXX object src/common/CMakeFiles/obj_common.dir/thread_group.cpp.o [ 19%] Building CXX object src/common/CMakeFiles/obj_common.dir/updates.cpp.o [ 20%] Building CXX object src/common/CMakeFiles/obj_common.dir/stack_trace.cpp.o make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 20%] Built target obj_common make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target common make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 20%] Linking CXX static library libcommon.a make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 20%] Built target common make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target obj_ringct make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 21%] Building CXX object src/ringct/CMakeFiles/obj_ringct.dir/rctOps.cpp.o [ 21%] Building CXX object src/ringct/CMakeFiles/obj_ringct.dir/rctSigs.cpp.o [ 21%] Building CXX object src/ringct/CMakeFiles/obj_ringct.dir/rctTypes.cpp.o [ 22%] Building C object src/ringct/CMakeFiles/obj_ringct.dir/rctCryptoOps.c.o make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 22%] Built target obj_ringct make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target obj_cryptonote_basic make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 22%] Building CXX object src/cryptonote_basic/CMakeFiles/obj_cryptonote_basic.dir/account.cpp.o [ 23%] Building CXX object src/cryptonote_basic/CMakeFiles/obj_cryptonote_basic.dir/checkpoints.cpp.o [ 23%] Building CXX object src/cryptonote_basic/CMakeFiles/obj_cryptonote_basic.dir/cryptonote_basic_impl.cpp.o [ 24%] Building CXX object src/cryptonote_basic/CMakeFiles/obj_cryptonote_basic.dir/cryptonote_format_utils.cpp.o [ 24%] Building CXX object src/cryptonote_basic/CMakeFiles/obj_cryptonote_basic.dir/difficulty.cpp.o [ 25%] Building CXX object src/cryptonote_basic/CMakeFiles/obj_cryptonote_basic.dir/hardfork.cpp.o [ 25%] Building CXX object src/cryptonote_basic/CMakeFiles/obj_cryptonote_basic.dir/miner.cpp.o make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 25%] Built target obj_cryptonote_basic make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target cryptonote_basic make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 25%] Linking CXX static library libcryptonote_basic.a make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 25%] Built target cryptonote_basic make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target ringct make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 26%] Linking CXX static library libringct.a make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 26%] Built target ringct make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target obj_cryptonote_core make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 27%] Building CXX object src/cryptonote_core/CMakeFiles/obj_cryptonote_core.dir/blockchain.cpp.o [ 27%] Building CXX object src/cryptonote_core/CMakeFiles/obj_cryptonote_core.dir/cryptonote_core.cpp.o [ 27%] Building CXX object src/cryptonote_core/CMakeFiles/obj_cryptonote_core.dir/tx_pool.cpp.o [ 28%] Building CXX object src/cryptonote_core/CMakeFiles/obj_cryptonote_core.dir/cryptonote_tx_utils.cpp.o make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 28%] Built target obj_cryptonote_core make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 28%] Generating testnet_blocks.o [ 29%] Generating blocks.o Scanning dependencies of target blocks make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 30%] Building C object src/blocks/CMakeFiles/blocks.dir/blockexports.c.o [ 30%] Linking C static library libblocks.a make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 30%] Built target blocks make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target obj_blockchain_db make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 30%] Building CXX object src/blockchain_db/CMakeFiles/obj_blockchain_db.dir/blockchain_db.cpp.o [ 31%] Building CXX object src/blockchain_db/CMakeFiles/obj_blockchain_db.dir/lmdb/db_lmdb.cpp.o make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 31%] Built target obj_blockchain_db make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target blockchain_db make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 31%] Linking CXX static library libblockchain_db.a make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 31%] Built target blockchain_db make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target cryptonote_core make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 32%] Linking CXX static library libcryptonote_core.a make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 32%] Built target cryptonote_core make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target obj_mnemonics make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 33%] Building CXX object src/mnemonics/CMakeFiles/obj_mnemonics.dir/electrum-words.cpp.o make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 33%] Built target obj_mnemonics make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target mnemonics make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 33%] Linking CXX static library libmnemonics.a make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 33%] Built target mnemonics make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target obj_rpc make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 33%] Building CXX object src/rpc/CMakeFiles/obj_rpc.dir/core_rpc_server.cpp.o [ 34%] Building CXX object src/rpc/CMakeFiles/obj_rpc.dir/rpc_args.cpp.o make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 34%] Built target obj_rpc make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target obj_p2p make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 34%] Building CXX object src/p2p/CMakeFiles/obj_p2p.dir/network_throttle-detail.cpp.o [ 35%] Building CXX object src/p2p/CMakeFiles/obj_p2p.dir/connection_basic.cpp.o [ 35%] Building CXX object src/p2p/CMakeFiles/obj_p2p.dir/network_throttle.cpp.o make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 35%] Built target obj_p2p make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target p2p make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 35%] Linking CXX static library libp2p.a make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 35%] Built target p2p make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target obj_cryptonote_protocol make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 35%] Building CXX object src/cryptonote_protocol/CMakeFiles/obj_cryptonote_protocol.dir/block_queue.cpp.o [ 36%] Building CXX object src/cryptonote_protocol/CMakeFiles/obj_cryptonote_protocol.dir/cryptonote_protocol_handler-base.cpp.o make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 36%] Built target obj_cryptonote_protocol make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target cryptonote_protocol make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 36%] Linking CXX static library libcryptonote_protocol.a make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 36%] Built target cryptonote_protocol make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target rpc make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 36%] Linking CXX static library librpc.a make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 36%] Built target rpc make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target obj_wallet make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 36%] Building CXX object src/wallet/CMakeFiles/obj_wallet.dir/wallet2.cpp.o [ 37%] Building CXX object src/wallet/CMakeFiles/obj_wallet.dir/wallet_args.cpp.o [ 37%] Building CXX object src/wallet/CMakeFiles/obj_wallet.dir/node_rpc_proxy.cpp.o [ 38%] Building CXX object src/wallet/CMakeFiles/obj_wallet.dir/api/wallet.cpp.o [ 38%] Building CXX object src/wallet/CMakeFiles/obj_wallet.dir/api/wallet_manager.cpp.o [ 39%] Building CXX object src/wallet/CMakeFiles/obj_wallet.dir/api/transaction_info.cpp.o [ 39%] Building CXX object src/wallet/CMakeFiles/obj_wallet.dir/api/transaction_history.cpp.o [ 39%] Building CXX object src/wallet/CMakeFiles/obj_wallet.dir/api/pending_transaction.cpp.o [ 40%] Building CXX object src/wallet/CMakeFiles/obj_wallet.dir/api/utils.cpp.o [ 40%] Building CXX object src/wallet/CMakeFiles/obj_wallet.dir/api/address_book.cpp.o [ 41%] Building CXX object src/wallet/CMakeFiles/obj_wallet.dir/api/unsigned_transaction.cpp.o make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 41%] Built target obj_wallet make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target wallet make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 42%] Linking CXX static library ../../lib/libwallet.a make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 42%] Built target wallet make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target wallet_rpc_server make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 42%] Building CXX object src/wallet/CMakeFiles/wallet_rpc_server.dir/wallet_rpc_server.cpp.o [ 43%] Linking CXX executable ../../bin/electroneum-wallet-rpc make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 43%] Built target wallet_rpc_server make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target simplewallet make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 44%] Building CXX object src/simplewallet/CMakeFiles/simplewallet.dir/simplewallet.cpp.o [ 44%] Linking CXX executable ../../bin/electroneum-wallet-cli make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 44%] Built target simplewallet make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target obj_daemonizer make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 44%] Building CXX object src/daemonizer/CMakeFiles/obj_daemonizer.dir/posix_fork.cpp.o make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 44%] Built target obj_daemonizer make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target daemonizer make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 44%] Linking CXX static library libdaemonizer.a make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 44%] Built target daemonizer make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 45%] Generating blocksdat.o Scanning dependencies of target daemon make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 45%] Building CXX object src/daemon/CMakeFiles/daemon.dir/command_parser_executor.cpp.o [ 46%] Building CXX object src/daemon/CMakeFiles/daemon.dir/command_server.cpp.o [ 46%] Building CXX object src/daemon/CMakeFiles/daemon.dir/daemon.cpp.o [ 47%] Building CXX object src/daemon/CMakeFiles/daemon.dir/executor.cpp.o [ 47%] Building CXX object src/daemon/CMakeFiles/daemon.dir/main.cpp.o [ 47%] Building CXX object src/daemon/CMakeFiles/daemon.dir/rpc_command_executor.cpp.o [ 48%] Linking CXX executable ../../bin/electroneumd make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 48%] Built target daemon make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 49%] Generating blocksdat.o Scanning dependencies of target blockchain_import make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 49%] Building CXX object src/blockchain_utilities/CMakeFiles/blockchain_import.dir/blockchain_import.cpp.o [ 50%] Building CXX object src/blockchain_utilities/CMakeFiles/blockchain_import.dir/bootstrap_file.cpp.o [ 50%] Building CXX object src/blockchain_utilities/CMakeFiles/blockchain_import.dir/blocksdat_file.cpp.o [ 50%] Linking CXX executable ../../bin/electroneum-blockchain-import make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 50%] Built target blockchain_import make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target blockchain_export make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 51%] Building CXX object src/blockchain_utilities/CMakeFiles/blockchain_export.dir/blockchain_export.cpp.o [ 51%] Building CXX object src/blockchain_utilities/CMakeFiles/blockchain_export.dir/bootstrap_file.cpp.o [ 52%] Building CXX object src/blockchain_utilities/CMakeFiles/blockchain_export.dir/blocksdat_file.cpp.o [ 52%] Linking CXX executable ../../bin/electroneum-blockchain-export make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 52%] Built target blockchain_export make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target googletest make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 52%] Creating directories for 'googletest' [ 53%] No download step for 'googletest' [ 53%] No patch step for 'googletest' [ 53%] No update step for 'googletest' [ 54%] Performing configure step for 'googletest' -- The CXX compiler identification is GNU 5.4.0 -- The C compiler identification is GNU 5.4.0 -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Found PythonInterp: /usr/bin/python (found version "2.7.12") -- Looking for pthread.h -- Looking for pthread.h - found -- Looking for pthread_create -- Looking for pthread_create - not found -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE -- Configuring done -- Generating done -- Build files have been written to: /home/ubuntu/electroneum/build/release/tests/gtest [ 54%] Performing build step for 'googletest' make[4]: Entering directory '/home/ubuntu/electroneum/build/release/tests/gtest' make[5]: Entering directory '/home/ubuntu/electroneum/build/release/tests/gtest' make[6]: Entering directory '/home/ubuntu/electroneum/build/release/tests/gtest' Scanning dependencies of target gtest make[6]: Leaving directory '/home/ubuntu/electroneum/build/release/tests/gtest' make[6]: Entering directory '/home/ubuntu/electroneum/build/release/tests/gtest' [ 25%] Building CXX object CMakeFiles/gtest.dir/src/gtest-all.cc.o [ 50%] Linking CXX static library libgtest.a make[6]: Leaving directory '/home/ubuntu/electroneum/build/release/tests/gtest' [ 50%] Built target gtest make[6]: Entering directory '/home/ubuntu/electroneum/build/release/tests/gtest' Scanning dependencies of target gtest_main make[6]: Leaving directory '/home/ubuntu/electroneum/build/release/tests/gtest' make[6]: Entering directory '/home/ubuntu/electroneum/build/release/tests/gtest' [ 75%] Building CXX object CMakeFiles/gtest_main.dir/src/gtest_main.cc.o [100%] Linking CXX static library libgtest_main.a make[6]: Leaving directory '/home/ubuntu/electroneum/build/release/tests/gtest' [100%] Built target gtest_main make[5]: Leaving directory '/home/ubuntu/electroneum/build/release/tests/gtest' make[4]: Leaving directory '/home/ubuntu/electroneum/build/release/tests/gtest' [ 55%] No install step for 'googletest' [ 55%] Completed 'googletest' make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 55%] Built target googletest make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target hash-target-tests make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 56%] Building CXX object tests/CMakeFiles/hash-target-tests.dir/hash-target.cpp.o [ 56%] Linking CXX executable hash-target-tests make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 56%] Built target hash-target-tests make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target coretests make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 56%] Building CXX object tests/core_tests/CMakeFiles/coretests.dir/block_reward.cpp.o [ 57%] Building CXX object tests/core_tests/CMakeFiles/coretests.dir/block_validation.cpp.o [ 57%] Building CXX object tests/core_tests/CMakeFiles/coretests.dir/chain_split_1.cpp.o [ 58%] Building CXX object tests/core_tests/CMakeFiles/coretests.dir/chain_switch_1.cpp.o [ 58%] Building CXX object tests/core_tests/CMakeFiles/coretests.dir/chaingen.cpp.o [ 59%] Building CXX object tests/core_tests/CMakeFiles/coretests.dir/chaingen001.cpp.o [ 59%] Building CXX object tests/core_tests/CMakeFiles/coretests.dir/chaingen_main.cpp.o [ 60%] Building CXX object tests/core_tests/CMakeFiles/coretests.dir/double_spend.cpp.o [ 60%] Building CXX object tests/core_tests/CMakeFiles/coretests.dir/integer_overflow.cpp.o [ 61%] Building CXX object tests/core_tests/CMakeFiles/coretests.dir/ring_signature_1.cpp.o [ 61%] Building CXX object tests/core_tests/CMakeFiles/coretests.dir/transaction_tests.cpp.o [ 62%] Building CXX object tests/core_tests/CMakeFiles/coretests.dir/tx_validation.cpp.o [ 62%] Building CXX object tests/core_tests/CMakeFiles/coretests.dir/v2_tests.cpp.o [ 62%] Building CXX object tests/core_tests/CMakeFiles/coretests.dir/rct.cpp.o [ 63%] Linking CXX executable coretests make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 63%] Built target coretests make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target cold-outputs_fuzz_tests make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 63%] Building CXX object tests/fuzz/CMakeFiles/cold-outputs_fuzz_tests.dir/cold-outputs.cpp.o [ 64%] Building CXX object tests/fuzz/CMakeFiles/cold-outputs_fuzz_tests.dir/fuzzer.cpp.o [ 64%] Linking CXX executable cold-outputs_fuzz_tests make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 64%] Built target cold-outputs_fuzz_tests make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target transaction_fuzz_tests make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 65%] Building CXX object tests/fuzz/CMakeFiles/transaction_fuzz_tests.dir/transaction.cpp.o [ 65%] Building CXX object tests/fuzz/CMakeFiles/transaction_fuzz_tests.dir/fuzzer.cpp.o [ 66%] Linking CXX executable transaction_fuzz_tests make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 66%] Built target transaction_fuzz_tests make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target block_fuzz_tests make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 66%] Building CXX object tests/fuzz/CMakeFiles/block_fuzz_tests.dir/block.cpp.o [ 66%] Building CXX object tests/fuzz/CMakeFiles/block_fuzz_tests.dir/fuzzer.cpp.o [ 67%] Linking CXX executable block_fuzz_tests make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 67%] Built target block_fuzz_tests make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target signature_fuzz_tests make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 68%] Building CXX object tests/fuzz/CMakeFiles/signature_fuzz_tests.dir/signature.cpp.o [ 68%] Building CXX object tests/fuzz/CMakeFiles/signature_fuzz_tests.dir/fuzzer.cpp.o [ 68%] Linking CXX executable signature_fuzz_tests make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 68%] Built target signature_fuzz_tests make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target cold-transaction_fuzz_tests make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 69%] Building CXX object tests/fuzz/CMakeFiles/cold-transaction_fuzz_tests.dir/cold-transaction.cpp.o [ 69%] Building CXX object tests/fuzz/CMakeFiles/cold-transaction_fuzz_tests.dir/fuzzer.cpp.o [ 70%] Linking CXX executable cold-transaction_fuzz_tests make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 70%] Built target cold-transaction_fuzz_tests make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target cncrypto-tests make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 70%] Building C object tests/crypto/CMakeFiles/cncrypto-tests.dir/crypto-ops-data.c.o [ 71%] Building C object tests/crypto/CMakeFiles/cncrypto-tests.dir/crypto-ops.c.o [ 71%] Building CXX object tests/crypto/CMakeFiles/cncrypto-tests.dir/crypto.cpp.o [ 72%] Building C object tests/crypto/CMakeFiles/cncrypto-tests.dir/hash.c.o [ 72%] Building CXX object tests/crypto/CMakeFiles/cncrypto-tests.dir/main.cpp.o [ 72%] Building C object tests/crypto/CMakeFiles/cncrypto-tests.dir/random.c.o [ 73%] Linking CXX executable cncrypto-tests make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 73%] Built target cncrypto-tests make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target functional_tests make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 73%] Building CXX object tests/functional_tests/CMakeFiles/functional_tests.dir/main.cpp.o [ 74%] Building CXX object tests/functional_tests/CMakeFiles/functional_tests.dir/transactions_flow_test.cpp.o [ 74%] Building CXX object tests/functional_tests/CMakeFiles/functional_tests.dir/transactions_generation_from_blockchain.cpp.o [ 75%] Linking CXX executable functional_tests make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 75%] Built target functional_tests make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target performance_tests make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 76%] Building CXX object tests/performance_tests/CMakeFiles/performance_tests.dir/main.cpp.o [ 76%] Linking CXX executable performance_tests make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 76%] Built target performance_tests make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target core_proxy make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 77%] Building CXX object tests/core_proxy/CMakeFiles/core_proxy.dir/core_proxy.cpp.o [ 77%] Linking CXX executable core_proxy make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 77%] Built target core_proxy make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target unit_tests make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 77%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/address_from_url.cpp.o [ 78%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/ban.cpp.o [ 78%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/base58.cpp.o [ 79%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/blockchain_db.cpp.o [ 79%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/block_queue.cpp.o [ 80%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/block_reward.cpp.o [ 80%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/canonical_amounts.cpp.o [ 80%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/chacha8.cpp.o [ 81%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/checkpoints.cpp.o [ 81%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/command_line.cpp.o [ 82%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/crypto.cpp.o [ 82%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/decompose_amount_into_digits.cpp.o [ 83%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/dns_resolver.cpp.o [ 83%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/epee_boosted_tcp_server.cpp.o [ 84%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/epee_levin_protocol_handler_async.cpp.o [ 84%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/epee_utils.cpp.o [ 85%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/fee.cpp.o [ 85%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/get_xtype_from_string.cpp.o [ 85%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/http.cpp.o [ 86%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/main.cpp.o [ 86%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/mnemonics.cpp.o [ 87%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/mul_div.cpp.o [ 87%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/parse_amount.cpp.o [ 88%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/serialization.cpp.o [ 88%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/slow_memmem.cpp.o [ 89%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/test_tx_utils.cpp.o [ 89%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/test_peerlist.cpp.o [ 90%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/test_protocol_pack.cpp.o [ 90%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/thread_group.cpp.o [ 90%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/hardfork.cpp.o [ 91%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/unbound.cpp.o [ 91%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/uri.cpp.o [ 92%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/varint.cpp.o [ 92%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/ringct.cpp.o [ 93%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/output_selection.cpp.o [ 93%] Building CXX object tests/unit_tests/CMakeFiles/unit_tests.dir/vercmp.cpp.o [ 94%] Linking CXX executable unit_tests make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 94%] Built target unit_tests make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target difficulty-tests make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 95%] Building CXX object tests/difficulty/CMakeFiles/difficulty-tests.dir/difficulty.cpp.o [ 95%] Linking CXX executable difficulty-tests make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 95%] Built target difficulty-tests make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target hash-tests make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 96%] Building CXX object tests/hash/CMakeFiles/hash-tests.dir/main.cpp.o [ 96%] Linking CXX executable hash-tests make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 96%] Built target hash-tests make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target net_load_tests_clt make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 96%] Building CXX object tests/net_load_tests/CMakeFiles/net_load_tests_clt.dir/clt.cpp.o [ 97%] Linking CXX executable net_load_tests_clt make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 97%] Built target net_load_tests_clt make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target net_load_tests_srv make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [ 97%] Building CXX object tests/net_load_tests/CMakeFiles/net_load_tests_srv.dir/srv.cpp.o [ 98%] Linking CXX executable net_load_tests_srv make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [ 98%] Built target net_load_tests_srv make[3]: Entering directory '/home/ubuntu/electroneum/build/release' Scanning dependencies of target libwallet_api_tests make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' make[3]: Entering directory '/home/ubuntu/electroneum/build/release' [100%] Building CXX object tests/libwallet_api_tests/CMakeFiles/libwallet_api_tests.dir/main.cpp.o [100%] Linking CXX executable libwallet_api_tests make[3]: Leaving directory '/home/ubuntu/electroneum/build/release' [100%] Built target libwallet_api_tests make[2]: Leaving directory '/home/ubuntu/electroneum/build/release' make[1]: Leaving directory '/home/ubuntu/electroneum/build/release'