LinuxQuestions.org
Help answer threads with 0 replies.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 02-26-2019, 08:34 AM   #1
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 16,289

Rep: Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322
Debug Appimage?


This Appimage works in some system or it would hardly be released, but fails in Slackware giving this output in an xterm
Code:
./InVesalius-3.1.1-.glibc2.15-x86_64.AppImage
zenity, kdialog, Xdialog missing. Skipping /tmp/.mount_InVesaHwYrHC/usr/bin//invesalius3.wrapper.
Traceback (most recent call last):
  File "app.py", line 37, in <module>
    import wx
  File "/tmp/.mount_InVesaHwYrHC/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/__init__.py", line 49, in <module>
    from wx._core import *
  File "/tmp/.mount_InVesaHwYrHC/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/_core.py", line 4, in <module>
    import _core_
ImportError: /usr/lib64/libfontconfig.so.1: undefined symbol: FT_Done_MM_Var
And, while I'm at it, this isn't marvellously helpful either:
Code:
bash-4.4$ file InVesalius-3.1.1-.glibc2.15-x86_64.AppImage 
InVesalius-3.1.1-.glibc2.15-x86_64.AppImage: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=d4b0eeecada37bbc753023885a3f0f7e3bdac6cc, stripped
bash-4.4$ ldd InVesalius-3.1.1-.glibc2.15-x86_64.AppImage 
	not a dynamic executable
So those basic tools are arguing :-o. As you see from This Link The developer hasn't huge experience of Appimages, and it remains an open issue on Github.
Invesalius is a Brazilian thing (available in Portuguese) for MRI & CT scans. It's heavily Python based, dependant on wxwidgets (sore point that). It barfs differently in Mint, which has the dependencies and an installed Invesalius package which actually works. That's in the github thread.

Last edited by business_kid; 02-26-2019 at 08:38 AM.
 
Old 02-26-2019, 11:05 AM   #2
trite
Member
 
Registered: Feb 2016
Location: Sweden
Distribution: Slackware64-15.0
Posts: 119

Rep: Reputation: 60
Code:
LD_PRELOAD=/usr/lib64/libfreetype.so ./AppImage
I've heard deleting freetype from your AppImage maybe works?
https://github.com/prusa3d/PrusaControl/issues/115

srry I dont know I just googled d:
 
Old 02-26-2019, 07:38 PM   #3
dugan
LQ Guru
 
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 11,223

Rep: Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320
Tell them to put libfontconfig.so.1 in the AppImage. That's the correct way to fix it.

If you want to just run the AppImage now, get a copy of that file from a supported distribution (say, from packages.ubuntu.com) and use LIBRARY_PATH to get the AppImage to load it.

Also, install Zenity if you haven't already.

I do have some experience debugging other people's AppImages, btw:

https://strandgames.com/community/di...ase-wont-start

Last edited by dugan; 02-26-2019 at 07:52 PM.
 
Old 02-27-2019, 05:35 AM   #4
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 16,289

Original Poster
Rep: Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322
Hi Guys. Thanks Dugan & trite. I installed xdialog (fewer dependencies).

@Dugan:
Code:
bash-4.4$ export LD_LIBRARY_PATH=/usr/lib64
bash-4.4$ export LIBRARY_PATH=/usr/lib64
bash-4.4$ ./InVesalius-3.1.1-.glibc2.15-x86_64.AppImage
Fontconfig error: "/etc/fonts/local.conf", line 1: unclosed token
Fontconfig error: "/etc/fonts/local.conf", line 1: unclosed token
Traceback (most recent call last):
  File "app.py", line 37, in <module>
    import wx
  File "/tmp/.mount_InVesaW3QgUO/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/__init__.py", line 49, in <module>
    from wx._core import *
  File "/tmp/.mount_InVesaW3QgUO/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/_core.py", line 4, in <module>
    import _core_
ImportError: /usr/lib64/libfontconfig.so.1: undefined symbol: FT_Done_MM_Var
bash-4.4$ grep FT_Done_MM_Var /usr/lib64/libfontconfig.so.1
Binary file /usr/lib64/libfontconfig.so.1 matches
Thanks, but it seems like I'm not there yet

@trite:
Code:
bash-4.4$ LD_PRELOAD=/usr/lib64/libfreetype.so ./InVesalius-3.1.1-.glibc2.15-x86_64.AppImage
Fontconfig error: "/etc/fonts/local.conf", line 1: unclosed token
Fontconfig error: "/etc/fonts/local.conf", line 1: unclosed token
Traceback (most recent call last):
  File "app.py", line 37, in <module>
    import wx
  File "/tmp/.mount_InVesaZoJjWH/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/__init__.py", line 49, in <module>
    from wx._core import *
  File "/tmp/.mount_InVesaZoJjWH/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/_core.py", line 4, in <module>
    import _core_
ImportError: /usr/lib64/libpangoft2-1.0.so.0: undefined symbol: hb_font_set_variations
Thanks for the quick google. This gets me past the libfontconfig error, only to puke on libpangoft2-1.0.so.0. I also got the 2 dialog boxes I should get. I believe the font errors are due to my non-standard fonts, which is my error and mine alone. Have to vanish now but I will try preloading libpangoft2-1.0.so.0 also. There's an issue here that I have glibc-2.28, and the AppImage is glibc-2.15, so the less I stick in the better.
 
Old 02-27-2019, 09:59 AM   #5
trite
Member
 
Registered: Feb 2016
Location: Sweden
Distribution: Slackware64-15.0
Posts: 119

Rep: Reputation: 60
I agree with Dugan on this, the maintainer of the AppImage should include all the needed libraries in the AppImage.

If you will get ubuntu/debian packages I can recommend deb2tgz to convert and then install. It will probably put files in /usr/lib/x86_64-linux-gnu/ and you can get them from there.
 
Old 02-27-2019, 01:25 PM   #6
dugan
LQ Guru
 
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 11,223

Rep: Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320
Uh, that's not what I meant.
Code:
bash-4.4$ export LD_LIBRARY_PATH=/usr/lib64
bash-4.4$ export LIBRARY_PATH=/usr/lib64
These lines don't actually change anything.

What I meant was:

1. Get a copy of libfontconfig.so.1 from an Ubuntu package

2. Set LD_LIBRARY_PATH to where that file is, e.g.

Code:
LD_LIBRARY_PATH=/path/to/usr/lib/x86_64-linux-gnu/libfontconfig.so.1 ./InVesalius-3.1.1-.glibc2.15-x86_64.AppImage
 
Old 02-28-2019, 05:02 AM   #7
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 16,289

Original Poster
Rep: Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322
As you might have gathered, it's good to know that I screwed up following your instructions. This got me past that error
LD_PRELOAD=/usr/lib64/libfreetype.so ./AppImage

Now Mint and Slackware puke in the same spot, undefined symbol in libpangoft2. Any attempt to preload any pango lib throws a segfault, which is colourful and entertaining, but a definite 'hands off.' I have the use on Invesalius any time I care to reboot into Mint without the AppImage.

What makes this a mess is that it's a python app heavily dependent on wxWidgets-4.x and other modules; wxWidgets itself has multiple dependencies. The main apps are shells running processes, then suddenly something pukes on some pretext, and nobody has a breeze what it was or why, just where the error appeared. I can't relate libraries to python apps. And instead of executables calling libs, there's python modules calling libs. It's all text stuff that's falling over, and the first text wee see by a long chalk is the title in the Splash Screen. Further, 'Undefined Symbol' errors usually indicate a required library is too old; But mine are newer than the AppImage :-/.

GitHub Bug Thread The maintainer is trying a FlatPack Image. Good of him to try, but I've no confidence the flat will be much better. And trying a flatpack because your AppImage pukes……

To wander back on subject, it seems there's no handy way to debug this. The usual thing would be to compile --with-debug, run gdb, and send the resulting mess off to the developer who could narrow it down significantly. Nothing like that in Python?
 
Old 02-28-2019, 09:14 AM   #8
montagdude
Senior Member
 
Registered: Apr 2016
Distribution: Slackware
Posts: 2,011

Rep: Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619
The libpangoft2 error is actually because of harfbuzz. The harfbuzz package in Slackware-14.2 doesn't have the hb_font_set_variations method. I think this means they should have included libpangoft2 in the AppImage, or you can use dugan's trick for it, e.g.:

Code:
LD_LIBRARY_PATH=/path/to/usr/lib/x86_64-linux-gnu/libfontconfig.so.1:/path/to/usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0 ./InVesalius-3.1.1-.glibc2.15-x86_64.AppImage

Last edited by montagdude; 02-28-2019 at 09:26 AM.
 
Old 02-28-2019, 09:20 AM   #9
trite
Member
 
Registered: Feb 2016
Location: Sweden
Distribution: Slackware64-15.0
Posts: 119

Rep: Reputation: 60
Just FYI when I check with strings it seems that this symbol is present?

Code:
Bash$ strings /usr/lib64/libpangoft2-1.0.so.0.4200.4 | grep -i hb_font_set_variations
hb_font_set_variations
These are the packages that I have that contains this symbol.

Code:
Bash$ slackpkg file-search libpangoft2-1.0.so*


NOTICE: pkglist is older than 24h; you are encouraged to re-run 'slackpkg update'

Looking for libpangoft2-1\.0\.so* in package list. Please wait... DONE

The list below shows the packages that contains "libpangoft2-1\.0\.so*" file.

[ Status           ] [ Repository               ] [ Package                                  ]
   installed               multilib                     pango-compat32-1.42.4-x86_64-1compat32    
   installed               slackware64                  pango-1.42.4-x86_64-1                     

You can search specific packages using "slackpkg search package".
What version do you have? Maybe its in the appimage that the pango is too old or something.

Bleh nvm I just read your post more carefully and you said it segfaults when preloading this lib so... doh d:

Last edited by trite; 02-28-2019 at 09:27 AM.
 
Old 02-28-2019, 09:33 AM   #10
montagdude
Senior Member
 
Registered: Apr 2016
Distribution: Slackware
Posts: 2,011

Rep: Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619
-current's pango has that symbol, but 14.2's doesn't. (At least, I believe that is the case. I can't be certain because my machine is a bit of a mashup at the moment, and I have updated harfbuzz and pango. But hb_font_set_variations is not in the harfbuzz source for the version included in 14.2.)
 
Old 02-28-2019, 11:02 AM   #11
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 16,289

Original Poster
Rep: Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322
MY system has the libpango symbol. I have Current of December 2018. It proved to be a well behaved setup, so I kept the iso, as current al;ways changes. Preloading anything pango-related for the AppImage threw a segfault.

The maintainer is an AppImage newbie, using a RH system AFAICT. Maybe he has a couple of distros, but they don't include Slackware. He is vaguely promising to sort this, but I'm not holding my breath.

He has set up a flatpak repository, and Flatpak also has git repositories (one per utility). Documentation for all 3 occupies less space than the back of 1 bus ticket :-/. I offered to test a binary, if he comes up with one.

Installing xdialog got me some startup questions, after the AppImage had mounted itself. I started it again, didn't answer the questions, and hopped to a root terminal to try and mount the thing. The result was nothing short of WEIRD - like Twilight Zone weird, or Bermuda Triangle Weird.
Code:
bash-4.4$ ls -l  /tmp/.mount*
total 20
-rwxrwxr-x  1 root root  8840 Aug 10  2017 AppRun
drwxr-xr-x 10 root root     0 Jan 22  2016 etc
-rw-r--r--  1 root root   354 Aug 10  2017 invesalius-3.1.1.desktop
-rw-r--r--  1 root root 11290 Aug 10  2017 invesalius.xpm
drwxr-xr-x  3 root root     0 Sep 13  2015 lib
drwxr-xr-x  2 root root     0 Oct 23  2015 sbin
drwxr-xr-x  6 root root     0 Aug 10  2017 usr
bash-4.4$ sudo cp -av /tmp/.mount*/* .
cp: cannot stat '/tmp/.mount_InVesaoDXelR/AppRun': Permission denied
cp: cannot stat '/tmp/.mount_InVesaoDXelR/etc': Permission denied
cp: cannot stat '/tmp/.mount_InVesaoDXelR/invesalius-3.1.1.desktop': Permission denied
cp: cannot stat '/tmp/.mount_InVesaoDXelR/invesalius.xpm': Permission denied
cp: cannot stat '/tmp/.mount_InVesaoDXelR/lib': Permission denied
cp: cannot stat '/tmp/.mount_InVesaoDXelR/sbin': Permission denied
cp: cannot stat '/tmp/.mount_InVesaoDXelR/usr': Permission denied
bash-4.4$ ls -al /tmp
……
drwxr-xr-x  6 root root         0 Aug 10  2017 .mount_InVesaoDXelR
But in a runlevel 3 root console with root logged in, I get
Code:
d?????????  ?   ?    ?      ?    ?            ? .mount_InVesaoDXelR
All file operations are prohibited. The directory entry is invisible if I open it in vim, but the luser in X can run things out of it. Directories with a size of 0 bytes (in /tmp/mount_InVesaoDXelR) are also weird

EDIT: I got educated by Jesuits, and thus acquired an ability to be unbelievably labyrinthine in my thinking and sneaky to boot. I mounted a vfat usb key on /tmp, started the Appimage, and pulled it when the Appimage asked a question. I got myself permissions that way, but the directory was empty; evidently, there's links created to the AppImage. There was even an entry in /etc/mtab
Code:
InVesalius-3.1.1-.glibc2.15-x86_64.AppImage /tmp/.mount_InVesapvMqPB fuse.InVesalius-3.1.1-.glibc2.15-x86_64.AppImage ro,nosuid,nodev,relatime,user_id=1000,group_id=100 0 0
All weird and wonderful stuff.

Last edited by business_kid; 02-28-2019 at 01:46 PM.
 
Old 02-28-2019, 03:06 PM   #12
montagdude
Senior Member
 
Registered: Apr 2016
Distribution: Slackware
Posts: 2,011

Rep: Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619Reputation: 1619
Quote:
Originally Posted by business_kid View Post
MY system has the libpango symbol. I have Current of December 2018. It proved to be a well behaved setup, so I kept the iso, as current al;ways changes. Preloading anything pango-related for the AppImage threw a segfault.
In that case, I'm stumped. I read some of your issue on GitHub, and I noticed this statement:

Quote:
This means I have to Install geoclue2, woff2, hyphen, libwebp (and THEIR dependencies, and 2nd generation dependencies, etc).
Then install webkit2gtk.
Any reason you can't get those things from SBo? It should be a fairly simple matter using one of the tools like sbopkg, sbotools, sboui, slackrepo, etc.
 
Old 03-01-2019, 04:29 AM   #13
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 16,289

Original Poster
Rep: Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322Reputation: 2322
Nothing is insuperable if you are determined enough, it's true.

Typically, these dependencies poorly supported archives with out of date slackbuilds which are dodgy compiles. Wxwidgets was 2.5G building when it crapped out.

So I had to install those (4 apps) and their dependencies and possibly dependencies of dependencies - say 10 apps total, to get webkit2gtk, which is simply one dependency of wxwidgets. This is an aspect of slackware I absolutely hate. There was a much easier way for me: REBOOT. That will bring me up in Mint, where apt will look after all that crap. That's what I keep Mint for.

As for you being stumped, Thanks for applying your considerable intelligence and experience to this all this. I imagine, like the libfontconfig error was overcome by preloading libfreetype, there is some other lib that needs to be preloaded. If I could get a list of libs used, that might allow a wild guess, but I can't get such a list, and I don't need to. The maintainer is having another go at the appimage. He apparently also built a flatpak and tried to upload it, but wherever he was trying it wouldn't take 250MB.

As for the Python apps, I decided I needed Freecad once, and faced the same thing. Dodgy slackbuilds failing to compile for the lack of something else. In Mint, I typed 'sudo apt-get install freecad.' Freecad, and 25 dependencies were installed painlessly. That's the way to go.

On Slackware, half the stuff in Alien Bob's repo(e.g wine, libreoffice) should be on the dvd, the other half (which is unmaintained) should be deleted, along with the crap on the dvd (19 crappy console text editors, 13 console irc clients, 10,000 fixed width X fonts, gopher and finger servers, etc.). Once the manpower is there, they'll have to do mk2 on the package manager.
 
Old 03-01-2019, 07:07 AM   #14
Didier Spaier
LQ Addict
 
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,057

Rep: Reputation: Disabled
Quote:
Originally Posted by montagdude View Post
Any reason you can't get those things from SBo?
The reason is that the OP is runnning -current, not supported by SBo.

Which he didn't realize, so he just keeps complaining about Slackware and SBo without any rationale.

@business_kid: the dependencies listed in the <package.info> files @ SBo are checked only for Slackware version 14.2, so complaining about them when running -current is very unfair.

Last edited by Didier Spaier; 03-01-2019 at 07:13 AM.
 
Old 03-01-2019, 07:10 AM   #15
Didier Spaier
LQ Addict
 
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,057

Rep: Reputation: Disabled
Quote:
Originally Posted by business_kid View Post
On Slackware, half the stuff in Alien Bob's repo(e.g wine, libreoffice) should be on the dvd, the other half (which is unmaintained) should be deleted, along with the crap on the dvd (19 crappy console text editors, 13 console irc clients, 10,000 fixed width X fonts, gopher and finger servers, etc.). Once the manpower is there, they'll have to do mk2 on the package manager.
Please spare us these pointless rants, which do not help anybody, not even yourself.

Last edited by Didier Spaier; 03-01-2019 at 07:13 AM.
 
1 members found this post helpful.
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Do you use Appimage, Flatpak, and/or Snaps? jeremy Linux - General 86 02-16-2021 12:01 PM
[SOLVED] How to get an AppImage program's settings to stay? Crotalid Linux - Software 1 10-20-2017 05:48 PM
LXer: Everything You SHould Know About Using AppImage to Install Software in Linux LXer Syndicated Linux News 0 08-03-2017 06:50 PM
LXer: digiKam Recipes 5.0.1 Released and digiKam AppImage Package Coming LXer Syndicated Linux News 0 10-26-2016 04:30 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 07:56 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration