terranum-ch / ToolMap

ToolMap is an open-source software dedicated for digitizing data and producing complex multi-layer GIS projects.
GNU General Public License v2.0
9 stars 3 forks source link

Add AppImage for Linux distributions. #398

Open pascalhorton opened 6 years ago

pascalhorton commented 6 years ago

Keep the current debian package, but add an AppImage bundle in order to allow for multiple Linux distributions.

pascalhorton commented 6 years ago

When running ToolMap with a selection of librairies on another Ubuntu version (16.04) that the one it was built on (14.04), it crashes. Debugging provides the following outputs:

[phorton@localhost bin]$ gdb ./ToolMap 
GNU gdb (GDB) Fedora 8.0-13.fc26
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./ToolMap...done.
(gdb) start
Temporary breakpoint 1 at 0x7f652d: file /home/phorton/ToolMap/src/core/toolmap.cpp, line 53.
Starting program: /home/phorton/squashfs-root/usr/bin/ToolMap 
warning: Ignoring non-absolute filename: <libgdk-x11-2.0.so.0>
Missing separate debuginfo for libgdk-x11-2.0.so.0
Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/c1/a05759577868f1d6b5f6eeb0ccf634b1fe1e00.debug
warning: Ignoring non-absolute filename: <libpng12.so.0>
Missing separate debuginfo for libpng12.so.0
Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/3f/931fb517ec29f60f3ef1d31afdb0242a4beeaf.debug
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
warning: Ignoring non-absolute filename: <libgeos_c.so.1>
Missing separate debuginfo for libgeos_c.so.1
Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/48/893ba0bbf095f85404f67e1c9bbb998afcc671.debug
warning: Ignoring non-absolute filename: <libcurl.so.4>
Missing separate debuginfo for libcurl.so.4
Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/1b/8c5f1fd9c4d17cffe9bef6e149984780ed4ef4.debug
warning: Ignoring non-absolute filename: <libgeos-3.4.2.so>
Missing separate debuginfo for libgeos-3.4.2.so
Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/9a/6b2d0f975b1c01181b30335199aba6d655e1bd.debug
warning: Ignoring non-absolute filename: <libssl.so.1.0.0>
Missing separate debuginfo for libssl.so.1.0.0
Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/48/a664ae6b0b4918a3eb0156c6364c4f084232fd.debug
warning: Ignoring non-absolute filename: <libcrypto.so.1.0.0>
Missing separate debuginfo for libcrypto.so.1.0.0
Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/6b/8997ea892a7ff37ac8caa8f239d595251889bb.debug
warning: Ignoring non-absolute filename: <liblber-2.4.so.2>
Missing separate debuginfo for liblber-2.4.so.2
Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/5c/fa76ee2c237a69d854d21b39361a8cb227af55.debug
warning: Ignoring non-absolute filename: <libldap_r-2.4.so.2>
Missing separate debuginfo for libldap_r-2.4.so.2
Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/39/77964c08de122a837bfb85f417ebc0043026e0.debug
warning: Ignoring non-absolute filename: <libgnutls.so.26>
Missing separate debuginfo for libgnutls.so.26
Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/31/c8ff1b8cfaa077ece92c00c11fcab72272c5e2.debug
warning: Ignoring non-absolute filename: <libgcrypt.so.11>
Missing separate debuginfo for libgcrypt.so.11
Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/3e/51df9f5a1c220a2f97cf20eac75a072d19bb68.debug
warning: Ignoring non-absolute filename: <libsasl2.so.2>
Missing separate debuginfo for libsasl2.so.2
Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/66/6b276bd134b0e9579b67d4ee333f2d0fb813cd.debug
warning: Ignoring non-absolute filename: <libgssapi.so.3>
Missing separate debuginfo for libgssapi.so.3
Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/3d/d3615c50982a067e390fc2443d7ef749adaa4d.debug
warning: Ignoring non-absolute filename: <libheimntlm.so.0>
Missing separate debuginfo for libheimntlm.so.0
Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/f2/84b367b83fc07b7309fa086dc6634c9cc8a005.debug
warning: Ignoring non-absolute filename: <libkrb5.so.26>
Missing separate debuginfo for libkrb5.so.26
Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/7c/c32240a00456fa57b74bfb922e31ba8eef57c2.debug
warning: Ignoring non-absolute filename: <libasn1.so.8>
Missing separate debuginfo for libasn1.so.8
Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/7c/f4c34552b60e44902ea2dfcc4ee4906a90de3c.debug
warning: Ignoring non-absolute filename: <libhcrypto.so.4>
Missing separate debuginfo for libhcrypto.so.4
Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/5f/0ef0e1dde5070f686668b93e6a9bec44d83220.debug
warning: Ignoring non-absolute filename: <libroken.so.18>
Missing separate debuginfo for libroken.so.18
Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/df/1229739a9f5e6a9850b519c95d8a811b63b8ef.debug
warning: Ignoring non-absolute filename: <libwind.so.0>
Missing separate debuginfo for libwind.so.0
Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/db/cf291c6cf70f0d0bf62f07347aef28e040e1a5.debug
warning: Ignoring non-absolute filename: <libheimbase.so.1>
Missing separate debuginfo for libheimbase.so.1
Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/f4/fdbd38788250e843523ffea869a4da933b6bbc.debug
warning: Ignoring non-absolute filename: <libhx509.so.5>
Missing separate debuginfo for libhx509.so.5
Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/c0/3ff77d3a35a40589c712c74a8597ff532c8ed7.debug

Temporary breakpoint 1, main (argc=1, argv=0x7fffffffdf08)
    at /home/phorton/ToolMap/src/core/toolmap.cpp:53
53  IMPLEMENT_APP(ToolMapApp);
Missing separate debuginfos, use: dnf debuginfo-install atk-2.24.0-1.fc26.x86_64 bzip2-libs-1.0.6-22.fc26.x86_64 cairo-1.14.10-1.fc26.x86_64 expat-2.2.0-2.fc26.x86_64 fontconfig-2.12.1-4.fc26.x86_64 freetype-2.7.1-9.fc26.x86_64 gdk-pixbuf2-2.36.6-1.fc26.x86_64 glib2-2.52.3-1.fc26.x86_64 graphite2-1.3.10-1.fc26.x86_64 gtk2-2.24.31-4.fc26.x86_64 harfbuzz-1.4.4-1.fc26.x86_64 libICE-1.0.9-9.fc26.x86_64 libSM-1.2.2-5.fc26.x86_64 libX11-1.6.5-2.fc26.x86_64 libXau-1.0.8-7.fc26.x86_64 libXcomposite-0.4.4-9.fc26.x86_64 libXcursor-1.1.14-8.fc26.x86_64 libXdamage-1.1.4-9.fc26.x86_64 libXext-1.3.3-5.fc26.x86_64 libXfixes-5.0.3-2.fc26.x86_64 libXi-1.7.9-2.fc26.x86_64 libXinerama-1.1.3-7.fc26.x86_64 libXrandr-1.5.1-2.fc26.x86_64 libXrender-0.9.10-2.fc26.x86_64 libblkid-2.29.1-2.fc26.x86_64 libdatrie-0.2.9-4.fc26.x86_64 libffi-3.1-11.fc26.x86_64 libgcc-7.1.1-3.fc26.x86_64 libglvnd-0.2.999-14.20170308git8e6e102.fc26.x86_64 libglvnd-egl-0.2.999-14.20170308git8e6e102.fc26.x86_64 libglvnd-glx-0.2.999-14.20170308git8e6e102.fc26.x86_64 libgpg-error-1.25-2.fc26.x86_64 libidn-1.33-2.fc26.x86_64 libmount-2.29.1-2.fc26.x86_64 libpng-1.6.28-2.fc26.x86_64 libstdc++-7.1.1-3.fc26.x86_64 libtasn1-4.12-1.fc26.x86_64 libthai-0.1.25-2.fc26.x86_64 libuuid-2.29.1-2.fc26.x86_64 libxcb-1.12-3.fc26.x86_64 libxml2-2.9.4-2.fc26.x86_64 p11-kit-0.23.5-3.fc26.x86_64 pango-1.40.6-1.fc26.x86_64 pixman-0.34.0-3.fc26.x86_64 sqlite-libs-3.19.1-1.fc26.x86_64 xz-libs-5.2.3-2.fc26.x86_64
(gdb) continue
Continuing.
[New Thread 0x7fffde67b700 (LWP 4321)]
[New Thread 0x7fffdde7a700 (LWP 4322)]
[New Thread 0x7fffdd46c700 (LWP 4323)]
[New Thread 0x7fffdcc6b700 (LWP 4324)]
./src/common/textcmn.cpp(1206): assert ""HasFlag(0x0400)"" failed in OnDynamicBind(): Must have wxTE_PROCESS_ENTER for wxEVT_TEXT_ENTER to work

Thread 1 "ToolMap" received signal SIGSEGV, Segmentation fault.
__longjmp_chk (env=0x0, val=1) at ../setjmp/longjmp.c:32
32    if (env[0].__mask_was_saved)
Missing separate debuginfos, use: dnf debuginfo-install GConf2-3.2.6-17.fc26.x86_64 PackageKit-gtk3-module-1.1.6-2.fc26.x86_64 adwaita-gtk2-theme-3.22.3-2.fc26.x86_64 dbus-glib-0.108-2.fc26.x86_64 dbus-libs-1.11.12-1.fc26.x86_64 dconf-0.26.0-2.fc26.x86_64 glib-networking-2.50.0-2.fc26.x86_64 gmp-6.1.2-4.fc26.x86_64 gnutls-3.5.13-1.fc26.x86_64 gvfs-client-1.32.1-1.fc26.x86_64 ibus-gtk2-1.5.16-2.fc26.x86_64 ibus-libs-1.5.16-2.fc26.x86_64 libcanberra-0.30-13.fc26.x86_64 libcanberra-gtk2-0.30-13.fc26.x86_64 libcap-2.25-5.fc26.x86_64 libgcrypt-1.7.7-1.fc26.x86_64 libidn2-2.0.2-1.fc26.x86_64 libmodman-2.0.1-13.fc26.x86_64 libogg-1.3.2-6.fc26.x86_64 libproxy-0.4.15-1.fc26.x86_64 libtdb-1.3.13-1.fc26.x86_64 libtool-ltdl-2.4.6-17.fc26.x86_64 libunistring-0.9.7-1.fc26.x86_64 libvorbis-1.3.5-2.fc26.x86_64 lz4-libs-1.7.5-3.fc26.x86_64 nettle-3.3-2.fc26.x86_64 systemd-libs-233-6.fc26.x86_64
(gdb) continue
Continuing.
Detaching after fork from child process 4326.
[Thread 0x7fffdcc6b700 (LWP 4324) exited]
Detaching after fork from child process 4328.
Detaching after fork from child process 4329.
Detaching after fork from child process 4331.
Detaching after fork from child process 4333.
Detaching after fork from child process 4335.
Detaching after fork from child process 4337.
Detaching after fork from child process 4339.
Detaching after fork from child process 4341.
Detaching after fork from child process 4343.
Detaching after fork from child process 4345.

Thread 1 "ToolMap" received signal SIGSEGV, Segmentation fault.
0x00007ffff6fc2630 in gdk_window_set_geometry_hints () from libgdk-x11-2.0.so.0
(gdb) continue
Continuing.
Couldn't get registers: No such process.
Couldn't get registers: No such process.
(gdb) [Thread 0x7fffdd46c700 (LWP 4323) exited]
[Thread 0x7fffdde7a700 (LWP 4322) exited]
[Thread 0x7fffde67b700 (LWP 4321) exited]

Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists.

The program is not being run.
(gdb) quit
pascalhorton commented 6 years ago

The list of dependencies is provided in the following files:

libs.txt libs-cp.txt

Following the example provided by https://gist.github.com/aferrero2707/2da99aae425eca8c8afb61b3fb5532f9, the following libraries were also removed: https://raw.githubusercontent.com/probonopd/AppImages/master/excludelist

It did not succeed.

probonopd commented 6 years ago

Where can the AppImage be downloaded?

pascalhorton commented 6 years ago

The AppImage is not working yet and is thus not distributed. I can give you a version if you'd like to investigate on that.

probonopd commented 6 years ago

Sure, happy to help. Ideally you can give me both the AppImage and the script(s) that produced it. Thanks.