Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

plans for an appimage build/release? #1

Open
nafergo opened this issue Dec 28, 2018 · 10 comments
Open

plans for an appimage build/release? #1

nafergo opened this issue Dec 28, 2018 · 10 comments
Assignees
Labels
enhancement New feature or request

Comments

@nafergo
Copy link

nafergo commented Dec 28, 2018

Any plans for an appimage release? :) I know it's probably too much to ask but I'm really curious about this and install qt creator on my laptop is not an option right now :(

@jgaa
Copy link
Owner

jgaa commented Dec 28, 2018

I have not thought about that.

I'll check it out and see how much work it would be to add that to my automated build.

@jgaa jgaa self-assigned this Dec 28, 2018
@jgaa jgaa added the enhancement New feature or request label Dec 28, 2018
@probonopd
Copy link

Tried building an AppImage but getting a compilation error.

/opt/qt59/include/QtSql/qsqldatabase.h:133:17: note:   no known conversion for argument 1 from ‘const std::initializer_list<const QString>’ to ‘const QString&’
src/database.cpp:21:43: error: no matching function for call to ‘QSqlDatabase::addDatabase(const std::initializer_list<const QString>&)’
     db_ = QSqlDatabase::addDatabase(DRIVER);
                                           ^
src/database.cpp:21:43: note: candidates are:
In file included from /opt/qt59/include/QtSql/QSqlDatabase:1:0,
                 from ./src/database.h:10,
                 from src/database.cpp:1:
/opt/qt59/include/QtSql/qsqldatabase.h:121:25: note: static QSqlDatabase QSqlDatabase::addDatabase(const QString&, const QString&)
     static QSqlDatabase addDatabase(const QString& type,
                         ^
/opt/qt59/include/QtSql/qsqldatabase.h:121:25: note:   no known conversion for argument 1 from ‘const std::initializer_list<const QString>’ to ‘const QString&’
/opt/qt59/include/QtSql/qsqldatabase.h:123:25: note: static QSqlDatabase QSqlDatabase::addDatabase(QSqlDriver*, const QString&)
     static QSqlDatabase addDatabase(QSqlDriver* driver,
                         ^
/opt/qt59/include/QtSql/qsqldatabase.h:123:25: note:   no known conversion for argument 1 from ‘const std::initializer_list<const QString>’ to ‘QSqlDriver*’
make: *** [database.o] Error 1
The command "make -j$(nproc)" exited with 2.

.travis.yml:
https://github.com/probonopd/f-crm/blob/patch-1/.travis.yml

build log:
https://travis-ci.com/probonopd/f-crm/builds/95932896#L600

@jgaa
Copy link
Owner

jgaa commented Jan 4, 2019

The last time I checked, travis used a c++ compiler from prehistoric time. At that time, my options were to use legacy C++, or to build the compilers and libraries from source before compiling my own code. So I gave up travis and deployed Jenkins on one of my own servers. I have docker nodes for various linux distributions, A Windows node and a macos node.

Jenkins is a beast, and it's always frustrating and time-consuming to change anything with a build. I'll see if I can get it to build an AppImage within a reasonable effort.

@probonopd
Copy link

Well, please be sure to build on Ubuntu 14.04 because this is the oldest currently still supported distribution. Please see https://github.com/AppImage/AppImageKit/wiki/Creating-AppImages#creating-appimages-that-are-compatible-with-many-systems and especially https://github.com/AppImage/AppImageKit/wiki/Creating-AppImages#libstdcso6 for more information. Thanks.

@jgaa
Copy link
Owner

jgaa commented Jan 12, 2019

I added a script to build and package the application as an AppImage.

I will keep this issue open until I have integrated that into the automated build pipeline. I will try to build the application with Ubuntu 14.04 and publish the AppImage from that build.

@probonopd
Copy link

It's probably easiest to start with copy-and-paste from https://github.com/probonopd/linuxdeployqt#using-linuxdeployqt-with-travis-ci

@jgaa
Copy link
Owner

jgaa commented Jan 22, 2019

I released the first Beta today, and provided an AppImage for the application.

The AppImage is built by Jenkins in a Ubuntu Trusty Docker container as part of the builds I do when I make changes to the code or prepare releases.

@jgaa jgaa closed this as completed Jan 22, 2019
@nafergo
Copy link
Author

nafergo commented Jan 22, 2019

Just tried and it seems perfect 👍
Ubuntu 18.04

@probonopd
Copy link

probonopd commented Jan 22, 2019

Thank you very much.

Unfortunately this does not yet pass our automated test on a stock Ubuntu 14.04 system:

AppRun: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /run/firejail/appimage/.appimage-10277/AppRun)
/run/firejail/appimage/.appimage-10277/AppRun: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /run/firejail/appimage/.appimage-10277/AppRun)
/run/firejail/appimage/.appimage-10277/AppRun: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /run/firejail/appimage/.appimage-10277/AppRun)

Please see https://github.com/AppImage/AppImageKit/wiki/Creating-AppImages#libstdcso6.

Doing something along the lines of

./linuxdeployqt-continuous-x86_64.AppImage appdir/usr/share/applications/*.desktop -bundle-non-qt-libs
mkdir -p appdir/usr/optional/ ; wget -c https://github.com/darealshinji/AppImageKit-checkrt/releases/download/continuous/exec-x86_64.so -O ./appdir/usr/optional/exec.so
mkdir -p appdir/usr/optional/libstdc++/ ; cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6 ./appdir/usr/optional/libstdc++/
( cd appdir ; rm AppRun ; wget -c https://github.com/darealshinji/AppImageKit-checkrt/releases/download/continuous/AppRun-patched-x86_64 -O AppRun ; chmod a+x AppRun)
./linuxdeployqt-continuous-x86_64.AppImage appdir/usr/share/applications/*.desktop -appimage

should resolve this.

Reference:
AppImage/appimage.github.io#1211

@jgaa
Copy link
Owner

jgaa commented Jan 26, 2019

I'll look into it

@jgaa jgaa reopened this Jan 26, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants