AppImageCrafters / AppRun

AppDir runtime components
MIT License
26 stars 10 forks source link

APPRUN ERROR: Missing SYSTEM_INTERP environment #17

Closed srevinsaju closed 3 years ago

srevinsaju commented 3 years ago

I have been running into this issue, and I do not know why its happening

This is my directory structure.

These are two appimages compiled on two different systems. The root one is built on an older GLIBC and the scrcpy folder i built on GLIBC 2.32/

I try to spawn scrcpy/AppRun from AppRun, and it causes this error. When I package them as separate apps, they work satisfactorily, but not when they are merged together

This is my .env file

APPIMAGE_UUID=a369f900-1b93-4164-9285-f26fdad1dfba

SYSTEM_INTERP=/lib64/ld-linux-x86-64.so.2
APPDIR_INTERP=${APPDIR}/usr/lib/ld-linux-x86-64.so.2
RUNTIME_INTERP=/tmp/appimage-a369f900-1b93-4164-9285-f26fdad1dfba-ld-linux.so.2

SCRCPY_SERVER_PATH=${APPDIR}/usr/local/share/scrcpy/scrcpy-server
ADB=${APPDIR}/usr/bin/adb

EXEC_PATH=${APPDIR}/usr/bin/scrcpy
EXEC_ARGS=$@

APPDIR_LIBRARY_PATH=$APPDIR/usr/lib
LIBC_LIBRARY_PATH=$APPDIR/usr/lib
APPDIR_LIBC_VERSION=2.32
LD_PRELOAD=$APPDIR/libapprun_hooks.so

This is my squashfs-root structure

squashfs-root
├── AppRun
├── .DirIcon -> guiscrcpy.png
├── guiscrcpy
│   ├── _asyncio.cpython-38-x86_64-linux-gnu.so
│   ├── base_library.zip
│   ├── _bz2.cpython-38-x86_64-linux-gnu.so
│   ├── cairocffi
│   │   └── VERSION
│   ├── _cffi_backend.cpython-38-x86_64-linux-gnu.so
│   ├── _codecs_cn.cpython-38-x86_64-linux-gnu.so
│   ├── _codecs_hk.cpython-38-x86_64-linux-gnu.so
│   ├── _codecs_iso2022.cpython-38-x86_64-linux-gnu.so
│   ├── _codecs_jp.cpython-38-x86_64-linux-gnu.so
│   ├── _codecs_kr.cpython-38-x86_64-linux-gnu.so
│   ├── _codecs_tw.cpython-38-x86_64-linux-gnu.so
│   ├── _contextvars.cpython-38-x86_64-linux-gnu.so
│   ├── cssselect2
│   │   └── VERSION
│   ├── _ctypes.cpython-38-x86_64-linux-gnu.so
│   ├── _curses.cpython-38-x86_64-linux-gnu.so
│   ├── _decimal.cpython-38-x86_64-linux-gnu.so
│   ├── guiscrcpy
│   ├── _hashlib.cpython-38-x86_64-linux-gnu.so
│   ├── include
│   │   └── python3.8
│   │       └── pyconfig.h
│   ├── _json.cpython-38-x86_64-linux-gnu.so
│   ├── lib
│   │   └── python3.8
│   │       └── config-3.8-x86_64-linux-gnu
│   │           └── Makefile
│   ├── lib2to3
│   │   ├── Grammar.txt
│   │   └── PatternGrammar.txt
│   ├── libblkid.so.1
│   ├── libbsd.so.0
│   ├── libbz2.so.1.0
│   ├── libcairo-gobject.so.2
│   ├── libcairo.so.2
│   ├── libcom_err.so.2
│   ├── libcrypto.so.1.1
│   ├── libdbus-1.so.3
│   ├── libexpat.so.1
│   ├── libffi-806b1a9d.so.6.0.4
│   ├── libffi.so.6
│   ├── libgcc_s.so.1
│   ├── libgcrypt.so.20
│   ├── libgio-2.0.so.0
│   ├── libglib-2.0.so.0
│   ├── libgmodule-2.0.so.0
│   ├── libgobject-2.0.so.0
│   ├── libgpg-error.so.0
│   ├── libgssapi_krb5.so.2
│   ├── libgthread-2.0.so.0
│   ├── libicudata.so.56
│   ├── libicui18n.so.56
│   ├── libicuuc.so.56
│   ├── libjpeg-ba7bf5af.so.9.4.0
│   ├── libk5crypto.so.3
│   ├── libkeyutils.so.1
│   ├── libkrb5.so.3
│   ├── libkrb5support.so.0
│   ├── liblz4.so.1
│   ├── liblzma-99449165.so.5.2.5
│   ├── liblzma.so.5
│   ├── libmount.so.1
│   ├── libmpdec.so.2
│   ├── libncursesw.so.5
│   ├── libopenjp2-b3d7668a.so.2.3.1
│   ├── libpcre.so.3
│   ├── libpixman-1.so.0
│   ├── libpng16.so.16
│   ├── libpyside2.abi3.so.5.15
│   ├── libpython3.8.so.1.0
│   ├── libQt5Core.so.5
│   ├── libQt5DBus.so.5
│   ├── libQt5Gui.so.5
│   ├── libQt5Network.so.5
│   ├── libQt5Nfc.so.5
│   ├── libQt5QmlModels.so.5
│   ├── libQt5Qml.so.5
│   ├── libQt5QmlWorkerScript.so.5
│   ├── libQt5Scxml.so.5
│   ├── libQt5Svg.so.5
│   ├── libQt5WaylandCompositor.so.5
│   ├── libQt5Widgets.so.5
│   ├── libQt5XcbQpa.so.5
│   ├── libreadline.so.7
│   ├── libselinux.so.1
│   ├── libshiboken2.abi3.so.5.15
│   ├── libssl.so.1.1
│   ├── libsystemd.so.0
│   ├── libtiff-41910f6d.so.5.5.0
│   ├── libtinfo.so.5
│   ├── libuuid.so.1
│   ├── libwebp-122bd20b.so.7.1.0
│   ├── libwebpdemux-2db559e5.so.2.0.6
│   ├── libwebpmux-ec1d5c76.so.3.0.5
│   ├── libX11.so.6
│   ├── libXau-312dbc56.so.6.0.0
│   ├── libXau.so.6
│   ├── libxcb-2dfad6c3.so.1.1.0
│   ├── libxcb-render.so.0
│   ├── libxcb-shm.so.0
│   ├── libXdmcp-e15573e7.so.6.0.0
│   ├── libXdmcp.so.6
│   ├── libXext.so.6
│   ├── libXrender.so.1
│   ├── libz-a147dcb0.so.1.2.3
│   ├── _lzma.cpython-38-x86_64-linux-gnu.so
│   ├── mmap.cpython-38-x86_64-linux-gnu.so
│   ├── _multibytecodec.cpython-38-x86_64-linux-gnu.so
│   ├── _multiprocessing.cpython-38-x86_64-linux-gnu.so
│   ├── _opcode.cpython-38-x86_64-linux-gnu.so
│   ├── PIL
│   │   ├── _imaging.cpython-38-x86_64-linux-gnu.so
│   │   ├── _imagingtk.cpython-38-x86_64-linux-gnu.so
│   │   └── _webp.cpython-38-x86_64-linux-gnu.so
│   ├── _posixshmem.cpython-38-x86_64-linux-gnu.so
│   ├── psutil
│   │   ├── _psutil_linux.cpython-38-x86_64-linux-gnu.so
│   │   └── _psutil_posix.cpython-38-x86_64-linux-gnu.so
│   ├── PySide2
│   │   ├── plugins
│   │   │   ├── bearer
│   │   │   │   ├── libqconnmanbearer.so
│   │   │   │   ├── libqgenericbearer.so
│   │   │   │   └── libqnmbearer.so
│   │   │   ├── iconengines
│   │   │   │   └── libqsvgicon.so
│   │   │   ├── imageformats
│   │   │   │   ├── libqgif.so
│   │   │   │   ├── libqicns.so
│   │   │   │   ├── libqico.so
│   │   │   │   ├── libqjpeg.so
│   │   │   │   ├── libqpdf.so
│   │   │   │   ├── libqsvg.so
│   │   │   │   ├── libqtga.so
│   │   │   │   ├── libqtiff.so
│   │   │   │   ├── libqwbmp.so
│   │   │   │   └── libqwebp.so
│   │   │   ├── platforminputcontexts
│   │   │   │   ├── libcomposeplatforminputcontextplugin.so
│   │   │   │   ├── libibusplatforminputcontextplugin.so
│   │   │   │   └── libqtvirtualkeyboardplugin.so
│   │   │   ├── platforms
│   │   │   │   ├── libqeglfs.so
│   │   │   │   ├── libqlinuxfb.so
│   │   │   │   ├── libqminimalegl.so
│   │   │   │   ├── libqminimal.so
│   │   │   │   ├── libqoffscreen.so
│   │   │   │   ├── libqvnc.so
│   │   │   │   ├── libqwebgl.so
│   │   │   │   └── libqxcb.so
│   │   │   └── platformthemes
│   │   │       ├── libqgtk3.so
│   │   │       └── libqxdgdesktopportal.so
│   │   ├── Qt
│   │   │   ├── libexec
│   │   │   │   └── qt.conf
│   │   │   └── translations
│   │   │       ├── qtbase_ar.qm
│   │   │       ├── qtbase_bg.qm
│   │   │       ├── qtbase_ca.qm
│   │   │       ├── qtbase_cs.qm
│   │   │       ├── qtbase_da.qm
│   │   │       ├── qtbase_de.qm
│   │   │       ├── qtbase_en.qm
│   │   │       ├── qtbase_es.qm
│   │   │       ├── qtbase_fi.qm
│   │   │       ├── qtbase_fr.qm
│   │   │       ├── qtbase_gd.qm
│   │   │       ├── qtbase_he.qm
│   │   │       ├── qtbase_hu.qm
│   │   │       ├── qtbase_it.qm
│   │   │       ├── qtbase_ja.qm
│   │   │       ├── qtbase_ko.qm
│   │   │       ├── qtbase_lv.qm
│   │   │       ├── qtbase_pl.qm
│   │   │       ├── qtbase_ru.qm
│   │   │       ├── qtbase_sk.qm
│   │   │       ├── qtbase_tr.qm
│   │   │       ├── qtbase_uk.qm
│   │   │       ├── qtbase_zh_TW.qm
│   │   │       ├── qtdeclarative_bg.qm
│   │   │       ├── qtdeclarative_da.qm
│   │   │       ├── qtdeclarative_de.qm
│   │   │       ├── qtdeclarative_en.qm
│   │   │       ├── qtdeclarative_es.qm
│   │   │       ├── qtdeclarative_fi.qm
│   │   │       ├── qtdeclarative_fr.qm
│   │   │       ├── qtdeclarative_hu.qm
│   │   │       ├── qtdeclarative_ja.qm
│   │   │       ├── qtdeclarative_ko.qm
│   │   │       ├── qtdeclarative_lv.qm
│   │   │       ├── qtdeclarative_pl.qm
│   │   │       ├── qtdeclarative_ru.qm
│   │   │       ├── qtdeclarative_sk.qm
│   │   │       ├── qtdeclarative_tr.qm
│   │   │       └── qtdeclarative_uk.qm
│   │   ├── QtCore.abi3.so
│   │   ├── QtGui.abi3.so
│   │   └── QtWidgets.abi3.so
│   ├── _queue.cpython-38-x86_64-linux-gnu.so
│   ├── readline.cpython-38-x86_64-linux-gnu.so
│   ├── resource.cpython-38-x86_64-linux-gnu.so
│   ├── shiboken2
│   │   └── shiboken2.abi3.so
│   ├── _ssl.cpython-38-x86_64-linux-gnu.so
│   ├── termios.cpython-38-x86_64-linux-gnu.so
│   ├── _testcapi.cpython-38-x86_64-linux-gnu.so
│   ├── tinycss2
│   │   ├── css-parsing-tests
│   │   │   ├── An+B.json
│   │   │   ├── color3_hsl.json
│   │   │   ├── color3.json
│   │   │   ├── color3_keywords.json
│   │   │   ├── component_value_list.json
│   │   │   ├── declaration_list.json
│   │   │   ├── LICENSE
│   │   │   ├── one_component_value.json
│   │   │   ├── one_declaration.json
│   │   │   ├── one_rule.json
│   │   │   ├── README.rst
│   │   │   ├── rule_list.json
│   │   │   ├── stylesheet_bytes.json
│   │   │   └── stylesheet.json
│   │   └── VERSION
│   └── VERSION
├── guiscrcpy.desktop
├── guiscrcpy.png
├── scrcpy
│   ├── AppRun
│   ├── .DirIcon
│   ├── .env
│   ├── libapprun_hooks.so
│   ├── LICENSE
│   ├── scrcpy.desktop -> usr/share/applications/scrcpy.desktop
│   ├── scrcpy.png -> usr/share/icons/hicolor/512x512/apps/scrcpy.png
│   ├── usr
│   │   ├── bin
│   │   │   ├── adb
│   │   │   └── scrcpy
│   │   ├── lib
│   │   │   ├── ld-linux-x86-64.so.2
│   │   │   ├── libaom.so.2
│   │   │   ├── libavcodec.so.58
│   │   │   ├── libavformat.so.58
│   │   │   ├── libavutil.so.56
│   │   │   ├── libbluray.so.2
│   │   │   ├── libbz2.so.1.0
│   │   │   ├── libcrypto.so.1.1
│   │   │   ├── libc.so.6
│   │   │   ├── libdav1d.so.4
│   │   │   ├── libgnutls.so.30
│   │   │   ├── libgsm.so.1
│   │   │   ├── libhogweed.so.6
│   │   │   ├── libicuuc.so.67
│   │   │   ├── libidn2.so.0
│   │   │   ├── liblzma.so.5
│   │   │   ├── libmfx.so.1
│   │   │   ├── libmodplug.so.1
│   │   │   ├── libmp3lame.so.0
│   │   │   ├── libnettle.so.8
│   │   │   ├── libogg.so.0
│   │   │   ├── libopencore-amrnb.so.0
│   │   │   ├── libopencore-amrwb.so.0
│   │   │   ├── libopenjp2.so.7
│   │   │   ├── libopus.so.0
│   │   │   ├── librav1e.so.0
│   │   │   ├── libSDL2-2.0.so.0
│   │   │   ├── libsoxr.so.0
│   │   │   ├── libspeex.so.1
│   │   │   ├── libsrt.so.1
│   │   │   ├── libssh.so.4
│   │   │   ├── libswresample.so.3
│   │   │   ├── libtasn1.so.6
│   │   │   ├── libtheoradec.so.1
│   │   │   ├── libtheoraenc.so.1
│   │   │   ├── libunistring.so.2
│   │   │   ├── libva-drm.so.2
│   │   │   ├── libva.so.2
│   │   │   ├── libva-x11.so.2
│   │   │   ├── libvdpau.so.1
│   │   │   ├── libvorbisenc.so.2
│   │   │   ├── libvorbis.so.0
│   │   │   ├── libvpx.so.6
│   │   │   ├── libwebpmux.so.3
│   │   │   ├── libwebp.so.7
│   │   │   ├── libx264.so.160
│   │   │   ├── libx265.so.192
│   │   │   ├── libXext.so.6
│   │   │   ├── libxml2.so.2
│   │   │   └── libxvidcore.so.4
│   │   ├── local
│   │   │   └── share
│   │   │       └── scrcpy
│   │   │           └── scrcpy-server
│   │   └── share
│   │       ├── applications
│   │       │   └── scrcpy.desktop
│   │       └── icons
│   │           └── hicolor
│   │               ├── 128x128
│   │               │   └── apps
│   │               ├── 16x16
│   │               │   └── apps
│   │               ├── 256x256
│   │               │   └── apps
│   │               ├── 32x32
│   │               │   └── apps
│   │               ├── 512x512
│   │               │   └── apps
│   │               │       └── scrcpy.png
│   │               ├── 64x64
│   │               │   └── apps
│   │               └── scalable
│   │                   └── apps
│   └── VERSION.txt
├── scrcpy-x86_64.AppImage
└── usr
    └── share
        └── guiscrcpy.appdata.xml
srevinsaju commented 3 years ago

Looks like AppRun looks for the .env file in ${APPDIR}/.env but I placed it in the same place as I kept the AppRun. Anyway, I fixed the bug! and now it works!! :tada:

(Might be useful, if any one else is facing the same bug)