linuxdeployqt icon indicating copy to clipboard operation
linuxdeployqt copied to clipboard

AppImage file not generated?

Open gaojinhsu opened this issue 3 years ago • 6 comments

I created a simple demo project based on Qt6.3.1 on ubuntu20.04, and created a directory tree manually like this

    ├── bin
    │   └── untitled
    ├── lib
    └── share
        ├── applications
        │   └── untitled.desktop
        └── icons
            └── hicolor
                └── 256x256
                    └── apps 
                        └── logo.png 

my .desktop file was like

[Desktop Entry]
Type=Application
Name=Amazing Qt App
Comment=The best Qt Application Ever
Exec=../../bin/untitled
Icon=../icons/hicolor/256x256/apps/logo
Categories=Office;

after that , I used linuxdeployqt like this linuxdeployqt ./Untitled/usr/share/applications/untitled.desktop -verbose=2 As a result, some files was generated, and some Qt libs were copied into the usr/lib directory.

├──AppRun
├──untitled.desktop
└── usr
    ├── bin
    │   └── untitled
    │   └── qt.conf
    ├── lib
    │   └── libicudata.so.56
    │   └── libicui18n.so.56
    │   └── libicuuc.so.56
    │   └── libQt6Core.so.6f
    │   └── libQt6DBus.so.6
    │   └── libQt6Gui.so.6
    │   └── libQt6Widgets.so.6
    └── share
        ├── applications
        │   └── untitled.desktop
        └── icons
            └── hicolor
               └── 256x256
                   └── apps 
                        └── logo.png 

I could run AppRun in terminal(with a warning, libEGL warning: pci id for fd 26: 1ab8:0010, driver (null)

pci id for fd 27: 1ab8:0010, driver (null)), but nothing happened with double-clicking, Also I didn't see any files with suffix of .AppImage was generated. the whole bundle still looked like an ordinary directory but an executable one.

here is the log.

linuxdeployqt 8 (commit d6ac06c), build <local dev build> built on 2022-08-16 07:51:04 UTC
Desktop file as first argument: "./Untitled/usr/share/applications/untitled.desktop"
desktopExecEntry: "untitled"
desktopIconEntry: "../icons/hicolor/256x256/apps/logo"
Found binary from desktop file: "/home/parallels/Desktop/build-untitled-Desktop_Qt_6_3_1_GCC_64bit-Release/Untitled/usr/bin/untitled"
FHS-like mode with PREFIX, fhsPrefix: "/home/parallels/Desktop/build-untitled-Desktop_Qt_6_3_1_GCC_64bit-Release/Untitled/usr"
app-binary: "/home/parallels/Desktop/build-untitled-Desktop_Qt_6_3_1_GCC_64bit-Release/Untitled/usr/bin/untitled"
appDirPath: "/home/parallels/Desktop/build-untitled-Desktop_Qt_6_3_1_GCC_64bit-Release/Untitled"
relativeBinPath: "usr/bin/untitled"
Keeping existing AppRun
Found icons from desktop file: ()
Log: Deploying the following libraries: ("/home/parallels/Desktop/build-untitled-Desktop_Qt_6_3_1_GCC_64bit-Release/Untitled/usr/bin/untitled")
Log:  copied: "/home/parallels/Qt/6.3.1/gcc_64/lib/libQt6Widgets.so.6"
Log:  to "/home/parallels/Desktop/build-untitled-Desktop_Qt_6_3_1_GCC_64bit-Release/Untitled/usr/lib///libQt6Widgets.so.6"
Log: Checking rpath in "/home/parallels/Desktop/build-untitled-Desktop_Qt_6_3_1_GCC_64bit-Release/Untitled/usr/lib/libQt6Widgets.so.6"
Log: Changing rpath in "/home/parallels/Desktop/build-untitled-Desktop_Qt_6_3_1_GCC_64bit-Release/Untitled/usr/lib/libQt6Widgets.so.6" to "$ORIGIN"
Log: Setting deploymentInfo.qtPath to: "/home/parallels/Qt/6.3.1/gcc_64/lib/"
Log:  copied: "/home/parallels/Qt/6.3.1/gcc_64/lib/libQt6Core.so.6"
Log:  to "/home/parallels/Desktop/build-untitled-Desktop_Qt_6_3_1_GCC_64bit-Release/Untitled/usr/lib///libQt6Core.so.6"
Log: Checking rpath in "/home/parallels/Desktop/build-untitled-Desktop_Qt_6_3_1_GCC_64bit-Release/Untitled/usr/lib/libQt6Core.so.6"
Log: Changing rpath in "/home/parallels/Desktop/build-untitled-Desktop_Qt_6_3_1_GCC_64bit-Release/Untitled/usr/lib/libQt6Core.so.6" to "$ORIGIN"
Log:  copied: "/home/parallels/Qt/6.3.1/gcc_64/lib/libQt6Gui.so.6"
Log:  to "/home/parallels/Desktop/build-untitled-Desktop_Qt_6_3_1_GCC_64bit-Release/Untitled/usr/lib///libQt6Gui.so.6"
Log: Checking rpath in "/home/parallels/Desktop/build-untitled-Desktop_Qt_6_3_1_GCC_64bit-Release/Untitled/usr/lib/libQt6Gui.so.6"
Log: Changing rpath in "/home/parallels/Desktop/build-untitled-Desktop_Qt_6_3_1_GCC_64bit-Release/Untitled/usr/lib/libQt6Gui.so.6" to "$ORIGIN"
Log:  copied: "/home/parallels/Qt/6.3.1/gcc_64/lib/libicui18n.so.56"
Log:  to "/home/parallels/Desktop/build-untitled-Desktop_Qt_6_3_1_GCC_64bit-Release/Untitled/usr/lib///libicui18n.so.56"
Log: Checking rpath in "/home/parallels/Desktop/build-untitled-Desktop_Qt_6_3_1_GCC_64bit-Release/Untitled/usr/lib/libicui18n.so.56"
Log: Removing absolute rpath of  "/home/qt/icu_install/lib"  in  "/home/parallels/Desktop/build-untitled-Desktop_Qt_6_3_1_GCC_64bit-Release/Untitled/usr/lib/libicui18n.so.56"
Log: Changing rpath in "/home/parallels/Desktop/build-untitled-Desktop_Qt_6_3_1_GCC_64bit-Release/Untitled/usr/lib/libicui18n.so.56" to "$ORIGIN"
Log:  copied: "/home/parallels/Qt/6.3.1/gcc_64/lib/libicuuc.so.56"
Log:  to "/home/parallels/Desktop/build-untitled-Desktop_Qt_6_3_1_GCC_64bit-Release/Untitled/usr/lib///libicuuc.so.56"
Log: Checking rpath in "/home/parallels/Desktop/build-untitled-Desktop_Qt_6_3_1_GCC_64bit-Release/Untitled/usr/lib/libicuuc.so.56"
Log: Removing absolute rpath of  "/home/qt/icu_install/lib"  in  "/home/parallels/Desktop/build-untitled-Desktop_Qt_6_3_1_GCC_64bit-Release/Untitled/usr/lib/libicuuc.so.56"
Log: Changing rpath in "/home/parallels/Desktop/build-untitled-Desktop_Qt_6_3_1_GCC_64bit-Release/Untitled/usr/lib/libicuuc.so.56" to "$ORIGIN"
Log:  copied: "/home/parallels/Qt/6.3.1/gcc_64/lib/libicudata.so.56"
Log:  to "/home/parallels/Desktop/build-untitled-Desktop_Qt_6_3_1_GCC_64bit-Release/Untitled/usr/lib///libicudata.so.56"
Log: Checking rpath in "/home/parallels/Desktop/build-untitled-Desktop_Qt_6_3_1_GCC_64bit-Release/Untitled/usr/lib/libicudata.so.56"
Log: Removing absolute rpath of  "/home/qt/icu_install/lib"  in  "/home/parallels/Desktop/build-untitled-Desktop_Qt_6_3_1_GCC_64bit-Release/Untitled/usr/lib/libicudata.so.56"
Log: Changing rpath in "/home/parallels/Desktop/build-untitled-Desktop_Qt_6_3_1_GCC_64bit-Release/Untitled/usr/lib/libicudata.so.56" to "$ORIGIN"
Log:  copied: "/home/parallels/Qt/6.3.1/gcc_64/lib/libQt6DBus.so.6"
Log:  to "/home/parallels/Desktop/build-untitled-Desktop_Qt_6_3_1_GCC_64bit-Release/Untitled/usr/lib///libQt6DBus.so.6"
Log: Checking rpath in "/home/parallels/Desktop/build-untitled-Desktop_Qt_6_3_1_GCC_64bit-Release/Untitled/usr/lib/libQt6DBus.so.6"
Log: Changing rpath in "/home/parallels/Desktop/build-untitled-Desktop_Qt_6_3_1_GCC_64bit-Release/Untitled/usr/lib/libQt6DBus.so.6" to "$ORIGIN"
Log: Checking rpath in "/home/parallels/Desktop/build-untitled-Desktop_Qt_6_3_1_GCC_64bit-Release/Untitled/usr/bin/untitled"
Log: Changing rpath in "/home/parallels/Desktop/build-untitled-Desktop_Qt_6_3_1_GCC_64bit-Release/Untitled/usr/bin/untitled" to "$ORIGIN/../lib:$ORIGIN/lib"
Log: Deploying plugins from "/home/parallels/Qt/6.3.1/gcc_64/plugins"
Log: pluginList after having detected hopefully all required plugins: ()
Log: Created configuration file: "/home/parallels/Desktop/build-untitled-Desktop_Qt_6_3_1_GCC_64bit-Release/Untitled/usr/bin/qt.conf"

gaojinhsu avatar Aug 17 '22 03:08 gaojinhsu

So far I have never touched Qt 6 yet. linuxdeployqt most likely can't handle it properly?

probonopd avatar Aug 21 '22 11:08 probonopd

No,it can’t. I have tried it on Ubuntu 18.04 with Qt5.9(why 5.9? here is the reason), it works well. I really hope it can support Qt6. because some critical bugs have been fixed in the latest version. Besides, a lot of new APIs have been included, especially in QtWebEngihe module.

gaojinhsu avatar Aug 21 '22 12:08 gaojinhsu

Qt 6 support is on its way to be merged, see #495 and #541

a12e avatar Aug 23 '22 10:08 a12e

I've faced the same issue (with qt5). From strace, the last linuxdeployqt action was a access to AppDir/usr/share/doc/libc6/copyright

...
stat("/home/****/*****/AppDir/usr/share/doc/libc6/copyright", 0x7ffd0e0c9be0) = -1 ENOENT (Aucun fichier ou dossier de ce type)
exit_group(1)
mkdir -p AppDir/usr/share/doc/libc6
touch AppDir/usr/share/doc/libc6/copyright

solves the problem

mgautierfr avatar Aug 31 '22 13:08 mgautierfr

The question is, why doesn't linuxdeployqt deploy that file automatically...

probonopd avatar Sep 03 '22 11:09 probonopd

Same issue with linuxdeployqt (commit e83eeb7), build 53 built on 2023-08-28 23:47:07 UTC

Workaround is touch AppDir/usr/share/doc/libc6/copyright

yh-sb avatar Sep 07 '23 18:09 yh-sb