home.social
  1. Today's `nix` bug is github.com/NixOS/nix/issues/15.

    There `nix` fails to build a derivation that creates files with and without `.tmp` extension:

    ```
    __contentAddressed = true;
    postBuild = ''
    touch $out.tmp
    touch $out
    '';
    ```

  2. Today's bug is a `systemd` build failure on `gcc-17`.

    In github.com/systemd/systemd/pul `gcc` started enforcing the type of `__stack_chk_guard` global variable to be an `uintptr_t`. `systemd` happened to define it as `intptr_t` for `EFI` boot loader.

    Proposed the fix as github.com/systemd/systemd/pul

  3. Today's bug is a minor `valgrind` build system bug: bugs.kde.org/show_bug.cgi?id=5

    There `valgrind` probed at `./configure` time presence of `-W${flag}` support in `gcc` and used `-Wno-${flag}` to disable it. And it worked until gcc.gnu.org/git/?p=gcc.git;a=c

    `gcc-16` will not allow countering `-Walloc-size-larger-than=42` with `-Wno-alloc-size-larger-than=42` any more. It has to be spelled as `-Wno-alloc-size-larger-than`.

  4. Today's bug is in `elfutils`:
    sourceware.org/PR33103

    There `elfutils` build system did something like:

    $ cat stack.cc
    <stack>
    int main(){}

    $ gcc -I. stack.cc -o stack
    $ gcc -I. stack.cc -o stack

    It breaks as:

    $ gcc -I. stack.cc -o stack
    # ok
    $ gcc -I. stack.cc -o stack
    In file included from stack.cc:1:
    ./stack:1:1: error: stray '\177' in program
    1 | <U+007F>ELF<U+0002>...

    Included <stack> is an ELF file now.

  5. Today's bug is a `perf` hangup bug: lkml.org/lkml/2025/5/5/1089

    There a simple `perf record -a` / `perf report` hangs up if you happen to have a `/dev/dri/renderD128` file `mmap()`ed in any of the processes. Browsers and compositors usually do have them `mmap()`ed.

  6. All new files my old `btrfs` filesystem creates are above 32-bit inode space:

    $ touch a && stat '-c%i' a
    11833717710

    Very occasionally I build 32-bit `i686-linux` packages. Sometimes they fail to run against file with so large inodes.

    Two casualties today:
    - `doxygen`: github.com/doxygen/doxygen/pul
    - `graphviz`: gitlab.com/graphviz/graphviz/-

  7. Today's bug is a `libtool` bug: savannah.gnu.org/support/index

    There `libtool` fails to supply enough compiler runtime libraries for `clang`+`compiler-rt` build toolchain.

  8. Today's bug is an `mbedtls` bug: github.com/Mbed-TLS/mbedtls/is

    There `mbedtls` used uninitialized data in `HMAC` code. The bug is exposed by `gcc-15` optimization to initialize less when handling unions in code like:

    union {
    int dummy;
    struct { int fs[4]; } s;
    } v = { 0 };
    return v.s.fs[3];

    `gcc-14` used to always return `0` here. `gcc-15` returns garbage.

    I wrote a few extra words at trofi.github.io/posts/328-c-un to look at the breakage mechanics.

  9. Today's bug is an `autoconf-2.72` bug: savannah.gnu.org/support/index

    There `autoconf` generates invalid shell code for the following:

    AS_IF([test "x$enable_termcap" = "xyes"],
    AC_CHECK_LIB(terminfo, tgetent, , [
    AC_CHECK_LIB(termcap, tgetent, , [
    ...

    and complains as:

    ./configure: line 3476: syntax error near unexpected token `;;'
    ./configure: line 3476: ` ;;'

    At least that happens on `editline-1.17.1`. I'm not sure if it's a valid `configure.ac` syntax.

  10. Needed a simple way to tunnel SSH connection over HTTPS recently.

    It should be trivial, but internets somehow mostly care about sharing SSH and HTTPS on the same port. Or do $ANY over SSH.

    I wanted to completely hide the fact that I use SSH protocol. AFAIU it's easy to detect by looking at the headers.

    Tunneling is supposed to be trivial but has a few caveats. Here is my attempt:

    trofi.github.io/posts/295-ssh-

  11. Today's bug was a simple `vifm` bug: if you build it in the environment without `vim` or `perl` available you get non-working `:help` command.

    `nixpkgs` was such an environment.

    Proposed `nixpkgs` fix as github.com/NixOS/nixpkgs/pull/ and asked if `vifm` could fail the build instead of generating unusable help in github.com/vifm/vifm/issues/873