Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upPlease provide an AppImage for Linux on GitHub Releases #113
Comments
This comment has been minimized.
This comment has been minimized.
It could be interesting but it looks like a fairly large undertaking. This is not the priority for the moment. |
f4exb
added
the
help wanted
label
Dec 2, 2018
This comment has been minimized.
This comment has been minimized.
I am expecting contribution on this. I have many more important things that need attention so I will not spend time on this. |
This comment has been minimized.
This comment has been minimized.
Thanks for your response @f4exb, I read this as "if someone sends a PR that will produce an AppImage and upload it to GitHub Releases, it will be considered". I think I can give you a hand, but may need occasional help from you if I'll run into any issues building this, and when it comes to the "final polish" to make sure everything works as intended. |
This comment has been minimized.
This comment has been minimized.
Succeeded building an AppImage, it can by downloaded from https://github.com/probonopd/sdrangel/releases. Built using https://github.com/probonopd/sdrangel/blob/patch-1/.travis.yml. However, on Clear Linux OS I get
when trying to run it. What could be causing this?
|
This comment has been minimized.
This comment has been minimized.
Same on Xubuntu 18.04:
|
This comment has been minimized.
This comment has been minimized.
I need help on these errors @f4exb so that I can continue. |
This comment has been minimized.
This comment has been minimized.
Would it be possible for you to get a stack trace at the time of error so I can get an idea of the path taken? The strace is not really helping. |
This comment has been minimized.
This comment has been minimized.
How exactly would I do that? |
This comment has been minimized.
This comment has been minimized.
Just as usual: compile with debug symbols, open the core dump with gdb and use "bt" command. I don't know how this can apply with your appimage thing, this is your business. This is very easy when you compile from source. |
This comment has been minimized.
This comment has been minimized.
AppImage is just a self-mounting filesystem, it does not change what one puts inside (like a zip or ISO file). |
This comment has been minimized.
This comment has been minimized.
If it is just that then why would it fail like this in the first place? I never encountered such an issue. |
This comment has been minimized.
This comment has been minimized.
Think of an AppImage like a zip or iso file. It's just an archive that holds whatever you put inside. I don't think the issue here is AppImage specific. |
This comment has been minimized.
This comment has been minimized.
With the little information given by strace we know that this std::regex_error is thrown in libsdrbase.so. There are not many instances of std::regex there so it should be somewhere here: https://github.com/f4exb/sdrangel/blob/master/sdrbase/webapi/webapiadapterinterface.cpp#L38 Apart from the fact I see nothing wrong with these regex definitions this code is executed each time the program is run (this is static). There are no issues when compiling from source or with the code built in the .deb packages. How do you explain this? What do you "put inside" actually? Wouldn't it be an issue with the standard C++ library you put inside? |
This comment has been minimized.
This comment has been minimized.
Possibly, I don't know. If you'd like what is inside, then please download the AppImage from https://github.com/probonopd/sdrangel/releases and extract it like so:
You can then freely inspect its contents. If you would like to see how the AppImage was produced, this is how: |
This comment has been minimized.
This comment has been minimized.
OK, even without debug symbols the stack trace gives some information confirming that the system libstdc++ is used. So I still don't see why it would fail:
|
This comment has been minimized.
This comment has been minimized.
Let's cc some C++ wizards, @TheAssassin, @azubieta ;) |
This comment has been minimized.
This comment has been minimized.
There could be a library mismatch. I see "dist: trusty" in the yml file (i.e. Ubuntu 14.04). If this is actually the case then this is probably a very old version. Found something interesting here on the provided libsdrbase.so:
|
This comment has been minimized.
This comment has been minimized.
Another trail: if "trusty" is really used then GCC 4.8.2 is used according to Travis documentation and this gcc may not implement std::regex properly. |
This comment has been minimized.
This comment has been minimized.
TheAssassin
commented
Dec 18, 2018
GCC 4.8+ implemented C++11 completely, except for |
This comment has been minimized.
This comment has been minimized.
But then it won't run on all still-supported versions of Ubuntu. Which is why we recommend to build on trusty. If we absolutely must use a newer compiler and/or libstdc++ than what comes with trusty, then we need to bundle it and use https://github.com/darealshinji/AppImageKit-checkrt/. I will try that now. https://github.com/AppImage/AppImageKit/wiki/Creating-AppImages#libstdcso6 |
This comment has been minimized.
This comment has been minimized.
In fact this issue ahs been already encountered and the main cmake file was updated accordingly: So if you are using it you should not be able to complete the cmake step. |
This comment has been minimized.
This comment has been minimized.
Using gcc-8 from |
This comment has been minimized.
This comment has been minimized.
TheAssassin
commented
Dec 31, 2018
JFYI: Using any other compiler toolchain also means using a newer libstdc/libstdc++ which means you break compatibility with the system you're on. |
This comment has been minimized.
This comment has been minimized.
At least for libstdc++ I am taking care of... how do you do this for libstdc? |
This comment has been minimized.
This comment has been minimized.
TheAssassin
commented
Dec 31, 2018
How would you handle this from libstdc++? Bundle it? Just build it on xenial... trusty is going EOL in 4 months anyway, it's not worth the effort any more IMO. That was different half a year ago, but now... |
This comment has been minimized.
This comment has been minimized.
Do we need to do a similar thing for libstdc? |
probonopd commentedDec 27, 2017
Providing an AppImage would have, among others, these advantages:
appimaged
--appimage-extract
parameterHere is an overview of projects that are already distributing upstream-provided, official AppImages.
If you have questions, AppImage developers are on #AppImage on irc.freenode.net.