Added back in darealshinji's libstdc++ workaround

This commit is contained in:
Chris Esposito 2019-04-24 20:18:12 +10:00
parent 6223662616
commit 23c2fee6f9
2 changed files with 41 additions and 0 deletions

View File

@ -70,6 +70,8 @@ script:
unset QTDIR; unset QT_PLUGIN_PATH ; unset LD_LIBRARY_PATH
export VERSION=$(git rev-parse --short HEAD)
./linuxdeployqt-continuous-x86_64.AppImage appdir/usr/share/applications/*.desktop -bundle-non-qt-libs -verbose=2
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++/
./linuxdeployqt*.AppImage --appimage-extract
rm ./appdir/AppRun ; cp ./resources/AppRun appdir/ ; chmod a+x ./appdir/AppRun
PATH=./squashfs-root/usr/bin:$PATH ./squashfs-root/usr/bin/appimagetool -g ./appdir/

View File

@ -1,6 +1,45 @@
#!/bin/bash
HERE="$(dirname "$(readlink -f "${0}")")"
cd "$(dirname "$0")"
cxxpre=""
gccpre=""
execpre=""
libc6arch="libc6,x86-64"
exec="./bin/$(sed -n 's|^Exec=||p' $(ls -1 *.desktop))"
if [ -n "$APPIMAGE" ] && [ "$(file -b "$APPIMAGE" | cut -d, -f2)" != " x86-64" ]; then
libc6arch="libc6"
fi
cd "usr"
if [ -e "./optional/libstdc++/libstdc++.so.6" ]; then
lib="$(PATH="/sbin:$PATH" ldconfig -p | grep "libstdc++\.so\.6 ($libc6arch)" | awk 'NR==1{print $NF}')"
sym_sys=$(tr '\0' '\n' < "$lib" | grep -e '^GLIBCXX_3\.4' | tail -n1)
sym_app=$(tr '\0' '\n' < "./optional/libstdc++/libstdc++.so.6" | grep -e '^GLIBCXX_3\.4' | tail -n1)
if [ "$(printf "${sym_sys}\n${sym_app}"| sort -V | tail -1)" != "$sym_sys" ]; then
cxxpath="./optional/libstdc++:"
fi
fi
if [ -e "./optional/libgcc/libgcc_s.so.1" ]; then
lib="$(PATH="/sbin:$PATH" ldconfig -p | grep "libgcc_s\.so\.1 ($libc6arch)" | awk 'NR==1{print $NF}')"
sym_sys=$(tr '\0' '\n' < "$lib" | grep -e '^GCC_[0-9]\\.[0-9]' | tail -n1)
sym_app=$(tr '\0' '\n' < "./optional/libgcc/libgcc_s.so.1" | grep -e '^GCC_[0-9]\\.[0-9]' | tail -n1)
if [ "$(printf "${sym_sys}\n${sym_app}"| sort -V | tail -1)" != "$sym_sys" ]; then
gccpath="./optional/libgcc:"
fi
fi
if [ -n "$cxxpath" ] || [ -n "$gccpath" ]; then
if [ -e "./optional/exec.so" ]; then
execpre=""
export LD_PRELOAD="./optional/exec.so:${LD_PRELOAD}"
fi
export LD_LIBRARY_PATH="${cxxpath}${gccpath}${LD_LIBRARY_PATH}"
fi
cat > /tmp/roothelper <<\EOoF
#!/bin/bash