Skip to content

Instantly share code, notes, and snippets.

@olebowle
Last active December 21, 2021 15:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save olebowle/cb0748cfdcbfc5d09c90f3f1d54fa76a to your computer and use it in GitHub Desktop.
Save olebowle/cb0748cfdcbfc5d09c90f3f1d54fa76a to your computer and use it in GitHub Desktop.
$ gdb idesk
GNU gdb (GDB) 11.1
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from idesk...
(gdb) run
Starting program: /usr/bin/idesk
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Idesk starting in :0.0
/usr/include/c++/11.1.0/bits/stl_vector.h:1045: std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) [with _Tp = AbstractIconConfig*; _Alloc = std::allocator<AbstractIconConfig*>; std::vector<_Tp, _Alloc>::reference = AbstractIconConfig*&; std::vector<_Tp, _Alloc>::size_type = long unsigned int]: Assertion '__n < this->size()' failed.
Program received signal SIGABRT, Aborted.
0x00007ffff79fdd22 in raise () from /usr/lib/libc.so.6
(gdb) where
#0 0x00007ffff79fdd22 in raise () from /usr/lib/libc.so.6
#1 0x00007ffff79e7862 in abort () from /usr/lib/libc.so.6
#2 0x000055555555ffed in std::__replacement_assert (__file=0x55555558f518 "/usr/include/c++/11.1.0/bits/stl_vector.h", __line=1045,
__function=0x55555558f3e0 "std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) [with _Tp = AbstractIconConfig*; _Alloc = std::allocator<AbstractIconConfig*>; std::vector"..., __condition=0x55555558f3c8 "__n < this->size()") at /usr/include/c++/11.1.0/x86_64-pc-linux-gnu/bits/c++config.h:504
#3 0x0000555555574f2c in std::vector<AbstractIconConfig*, std::allocator<AbstractIconConfig*> >::operator[] (this=0x5555555cacb8, __n=12) at /usr/include/c++/11.1.0/bits/stl_vector.h:1045
#4 0x000055555557468f in AbstractConfig::nextIcon (this=0x5555555cacb0) at /tmp/idesk/src/idesk-0.7.5/src/AbstractClasses.h:287
#5 0x000055555555de8f in XDesktopContainer::loadIcons (this=0x5555555bb8e0) at XDesktopContainer.cpp:177
#6 0x000055555555d243 in XDesktopContainer::run (this=0x5555555bb8e0) at XDesktopContainer.cpp:51
#7 0x0000555555589ff7 in Application::startIdesk (this=0x5555555bb8b0) at App.cpp:89
#8 0x0000555555589b85 in Application::Application (this=0x5555555bb8b0, arg=1, args=0x7fffffffe558) at App.cpp:35
#9 0x000055555558d65a in main (argc=1, argv=0x7fffffffe558) at Main.cpp:29
# Maintainer: Brian Bidulock <bidulock@openss7.org>
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Claudio Sabattoli <gasherbrum3@alice.it>
# Contributor: Ole Ernst <olebowle@gmx.com>
pkgname=idesk
pkgver=0.7.5
pkgrel=10
pkgdesc="gives users of minimal wm's (fluxbox, blackbox, openbox, windowmaker...) icons on their desktop"
arch=('x86_64' 'i686')
url="https://sourceforge.net/projects/idesk/"
license=('GPL')
depends=('pkgconfig' 'imlib2' 'libpng' 'libxpm' 'libxft' 'gcc-libs')
source=("http://downloads.sourceforge.net/sourceforge/idesk/$pkgname-$pkgver.tar.bz2"
imlib2-config.patch)
sha256sums=('d4b7ea5dcf6d49d83e2df9512d4c6388f11632a702b14f42a1bc6bffb617b3d3'
'a610f7be40e4540f8f557f739f44664cd773b060282d8c7051efde457a979e92')
prepare() {
cd $pkgname-$pkgver
sed -i \
-e '1,1i#include <unistd.h>' \
-e '1,1i#include <sys/stat.h>' \
-e '1,1i#include <sys/types.h>' \
src/DesktopConfig.cpp
sed -i 's/return iconConfigList\[++iterCtr\];/return ++iterCtr < iconConfigList.size() ? iconConfigList\[iterCtr\] : NULL;/' src/AbstractClasses.h
sed -i 's#usr/local#usr#' examples/default.lnk
patch -Np2 -b -z .orig <../imlib2-config.patch
autoreconf -fiv
sed -i \
-e 's#IMLIB2_LIBS=.*#IMLIB2_LIBS=-lImlib2#g' \
-e 's#IMLIB_LIBS=.*#IMLIB_LIBS="-L/usr/lib -Wl,-O1,--sort-common,--as-needed,-z,relro -ljpeg -ltiff -lgif -lpng -lz -lm -lXext -lXext -lX11 -lImlib2"#g' \
configure
}
build() {
cd $pkgname-$pkgver
./configure --prefix=/usr
make
}
package() {
cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment