Znc /

Debugging ZNC

On OpenBSD 6.9:

Running znc in debug mode

$ cd ~
$ ftp https://znc.in/releases/znc-1.8.2.tar.gz
$ ftp https://znc.in/releases/znc-1.8.2.tar.gz.sig
$ tar xvzf znc-1.8.2.tar.gz
$ cd znc-1.8.2
$ mkdir build
$ cd build
$ ../configure --enable-debug CXX=c++
$ gmake
$ doas make install
mkdir -p /home/znc/usr/lib/
mkdir -p /home/znc/usr/local/lib/pkgconfig
mkdir -p /home/znc/usr/local/bin/
mkdir -p /home/znc/usr/local/share/
mkdir -p /home/znc/usr/local/man/man1/
mkdir -p /home/znc/usr/libexec/
mkdir -p /home/znc/etc/ssl
mkdir -p /home/znc/dev/
mkdir -p /home/znc/var/run/
mkdir -p /home/znc/home/znc/
mknod -m 644 /home/znc/dev/random c 45 0
mknod -m 644 /home/znc/dev/urandom c 45 2
mknod -m 666 /home/znc/dev/null c 2 2
cp /usr/lib/libc++.so.7.0      /home/znc/usr/lib/libc++.so.7.0  
cp /usr/lib/libc++abi.so.5.0   /home/znc/usr/lib/libc++abi.so.5.0
cp /usr/lib/libc.so.96.0       /home/znc/usr/lib/libc.so.96.0
cp /usr/lib/libcrypto.so.46.2  /home/znc/usr/lib/libcrypto.so.46.2
cp /usr/lib/libm.so.10.1       /home/znc/usr/lib/libm.so.10.1
cp /usr/lib/libpthread.so.26.1 /home/znc/usr/lib/libpthread.so.26.1
cp /usr/lib/libssl.so.48.2     /home/znc/usr/lib/libssl.so.48.2
cp /usr/lib/libz.so.5.0        /home/znc/usr/lib/libz.so.5.0
cp /usr/libexec/ld.so          /home/znc/usr/libexec/ld.so
cp /etc/resolv.conf            /home/znc/etc/resolv.conf
cp /etc/ssl/cert.pem           /home/znc/etc/ssl/cert.pem
cp /var/run/ld.so.hints        /home/znc/var/run/ld.so.hints
cp /usr/local/bin/znc          /home/znc/usr/local/bin/znc
cp /usr/local/man/man1/znc.1          /home/znc/usr/local/man/man1/znc.1
cp /usr/local/man/man1/znc-buildmod.1 /home/znc/usr/local/man/man1/znc-buildmod.1
cp /usr/local/bin/znc-buildmod        /home/znc/usr/local/bin/znc-buildmod
cp /usr/local/lib/pkgconfig/znc.pc    /home/znc/usr/local/lib/pkgconfig/znc.pc
cp /usr/local/lib/libicuuc.so.19.2    /home/znc/usr/local/lib/
cp /usr/local/lib/libicudata.so.19.2    /home/znc/usr/local/lib/
cp /usr/local/lib/libboost_locale-mt.so.13.0    /home/znc/usr/local/lib/
cp /usr/local/lib/libboost_system-mt.so.13.0    /home/znc/usr/local/lib/
cp /usr/local/lib/libboost_thread-mt.so.13.0    /home/znc/usr/local/lib/
cp /usr/local/lib/libboost_chrono-mt.so.13.0    /home/znc/usr/local/lib/
cp /usr/local/lib/libicui18n.so.19.2            /home/znc/usr/local/lib/
cp -R /usr/local/share/znc               /home/znc/usr/local/share/
cp -R /usr/local/lib/znc                 /home/znc/usr/local/lib/
cp -R /usr/local/include/znc             /home/znc/usr/local/include/
chown -R znc:znc /home/znc/
chown -R root:wheel /home/znc/dev /home/znc/etc /home/znc/usr /home/znc/var
chmod -R o-rx /home/znc/home/znc/.znc/
usermod -G znc _identd

$ doas gdb chroot