Hi. It seams like gpick 0.3, that is what gpick-git is pulling now, needs a lua compiled with c++ support. There is no such a packet right now, we can just hope for a lua-c++
Any how, while waiting and hoping.. omegatron on #archlinux made an tutorial for me on how he installed lua with the cc=g++ flag enabled.
But he also Said: it installs now and runs, but immediately crashes with : gpick: cairo-surface.c:1733: cairo_surface_mark_dirty_rectangle: Assertion `! _cairo_surface_has_snapshots (surface)' failed.
I have reported this to thezbyg at https://github.com/thezbyg/gpick/issues/204 so maybe he get to looking at it.. whom knows.
Omegatron:
# keep in mind, whenever it's necessary, a command might be run as root
# also, I normally do a DESTDIR installation with '/tmp/destroot' as
# target directory
# lua 5.4.4
# this section is almost the same as Arch's for 'plain' lua-5.4.4
# I just add 'CC=g++' to two commands ;
# and of course need to patch and rename the *.pc (pkgconfig) files
patch -p1 -i ../06-Patches/liblua.so.patch
sed "s/%VER%/5.4/g;s/%REL%/5.4.4/g" ../06-Patches/lua.pc > lua.pc
make MYCFLAGS="${CFLAGS}" MYLDFLAGS="${LDFLAGS}" CC=g++ linux-readline
make \
TO_LIB="liblua.a liblua.so liblua.so.5.4 liblua.so.5.4.4" \
INSTALL_DATA='cp -d' \
INSTALL_TOP=/tmp/destroot/opt/lua/5.4.4 \
INSTALL_MAN=/tmp/destroot/opt/lua/5.4.4/share/man/man1 \
CC=g++ \
install
ln -sv /opt/lua/5.4.4/bin/lua
/tmp/destroot/opt/lua/5.4.4/bin/lua5.4 ;
ln -sv /opt/lua/5.4.4/bin/luac
/tmp/destroot/opt/lua/5.4.4/bin/luac5.4 ;
ln -sv /opt/lua/5.4.4/lib/liblua.so.5.4.4
/tmp/destroot/opt/lua/5.4.4/lib/liblua5.4.so ;
install -Dvm644 lua.pc /tmp/destroot/opt/lua/5.4.4/lib/pkgconfig/lua54-
c++.pc
ln -sv lua54-c++.pc /tmp/destroot/opt/lua/5.4.4/lib/pkgconfig/lua-c++.pc ;
ln -sv lua54-c++.pc /tmp/destroot/opt/lua/5.4.4/lib/pkgconfig/lua5.4-c++.pc ;
ln -sv lua54-c++.pc /tmp/destroot/opt/lua/5.4.4/lib/pkgconfig/lua-5.4-c++.pc ;
mkdir -pv /tmp/destroot/opt/lua/5.4.4/share/doc/lua-5.4.4
install -vm644 doc/*.{gif,png,css,html}
/tmp/destroot/opt/lua/5.4.4/share/doc/lua-5.4.4
sed -e 's|-lm|-lm -lstdc++|' \
-i /tmp/destroot/opt/lua/5.4.4/lib/pkgconfig/lua54-c++.pc
# the following is important, so that 'ld' might find this lua
mkdir -pv /tmp/destroot/etc/ld.so.conf.d
echo /opt/lua/5.4.4/lib > /tmp/destroot/etc/ld.so.conf.d/lua-5.4-c++.conf
# run 'ldconfig' as root
# gpick :
# this one is somewhat picky and 0.3, after being installed, aborts when run immediately ;
# might want to try this with a more recent checkout ...
git clone https://github.com/thezbyg/gpick
git checkout v0.3
mkdir -pv build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
# the final link commands would fail, without this patching (i'm no cmake expert ..)
sed -e 's|lexpat|lexpat /opt/lua/5.4.4/lib/liblua5.4.so|' \
CMakeFiles/gpick.dir/link.txt \
> CMakeFiles/gpick.dir/link.txt.new
touch -r CMakeFiles/gpick.dir/link.txt{,.new}
mv -v CMakeFiles/gpick.dir/link.txt{.new,}
sed -e 's|lexpat|lexpat /opt/lua/5.4.4/lib/liblua5.4.so|' \
CMakeFiles/tests.dir/link.txt \
> CMakeFiles/tests.dir/link.txt.new
touch -r CMakeFiles/tests.dir/link.txt{,.new}
mv -v CMakeFiles/tests.dir/link.txt{.new,}
# now compile as usual
make -w -j 16 VERBOSE=1
make -w -j 1 DESTDIR=/tmp/destroot install
Pinned Comments
jirido commented on 2022-06-09 02:00 (UTC) (edited on 2022-06-09 02:23 (UTC) by jirido)
Hi. It seams like gpick 0.3, that is what gpick-git is pulling now, needs a lua compiled with c++ support. There is no such a packet right now, we can just hope for a lua-c++
Any how, while waiting and hoping.. omegatron on #archlinux made an tutorial for me on how he installed lua with the cc=g++ flag enabled.
But he also Said: it installs now and runs, but immediately crashes with : gpick: cairo-surface.c:1733: cairo_surface_mark_dirty_rectangle: Assertion `! _cairo_surface_has_snapshots (surface)' failed.
I have reported this to thezbyg at https://github.com/thezbyg/gpick/issues/204 so maybe he get to looking at it.. whom knows.
Omegatron: