serenity: Ports: Too many are broken!

Out of 285 ports, 9+0 are broken. Let’s get these working again πŸ˜„

I’ll use this table to keep track of how far we’ve come. Table last updated: 2023-08-15

Port Status
freedink πŸ’₯ BROKEN: compilation error: invalid conversion from β€˜const char*’ to β€˜char*’
frotz πŸ’₯ BROKEN: bad sha256, ping @EWouters, handled in #18339
gnuapl πŸ’₯ BROKEN: Clash of definitions, redefines sysbeep: /home/user/serenity/Build/x86_64/Root/usr/include/unistd.h:38:13: error: cast from 'TERMTYPE*' {aka 'termtype*'} to 'int' loses precision [-fpermissive]
guile #19855 πŸ’₯ BROKEN: requires local installation of exact same version, and then fails to compile due to missing β€œcsqrt”
nesalizer πŸ‘‚ ⚠️ choppy audio, partially fixed by #20391 πŸ’₯ BROKEN: Can’t find SDL2/_real_SDL_config.h
OpenJDK πŸ’₯ BROKEN: See #18113
p7zip πŸ’₯ BROKEN: bad sha256, ping @timschumi and @cooljohnny3
qt6-serenity BROKEN: compilation error due to GUI::Application: error: 'construct' is not a member of 'GUI::Application' (See also #18241)
vlang πŸ’₯ BROKEN: compilation error in the v language itself?!
------ --------
freeciv 🩹 Fixed by #20309 πŸ’₯ BROKEN: bad sha256
opentyrian-data πŸͺ¦ REMOVED in #20048 πŸ€” TOOHARD (needs a copy of the game, which I don’t have, and begins with a rm -v, which fails)
alpine 🩹 Fixed by #19904 πŸ’₯ BROKEN: libtool version mismatch
llvm 🩹 Fixed by something, probably #18522 πŸ’₯ BROKEN: β€œUnable to determine platform”?
boost 🩹 Fixed by #19813 πŸ€” TOOHARD (needs a special python version; compilation error with python3.11-dev)
imagemagick 🩹 Fixed by #19822 πŸ’₯ BROKEN: Tries to access files in the wrong directory
ffmpeg 🩹 Fixed by #19700 πŸ’₯ BROKEN: β€œrelocation R_X86_64_PC32 against symbol ff_pw_5 can not be used when making a shared object; recompile with -fPIC”
nethack 🩹 Fixed by #18779 πŸ’₯ BROKEN: compilation error in /usr/include/x86_64-linux-gnu/sys/cdefs.h:405:73: error: macro β€œ__has_attribute” requires an identifier (code is __glibc_has_attribute (__warn_unused_result__)) handled in #18779
(Old fixes moved into the collapsible list below)
------ --------
file βœ… WORKS (needs the EXACT SAME version installed)
mold βœ… WORKS (needs some extra dependencies, and OOMs way too easily)
zig βœ… WORKS (needs some extra dependencies, and OOMs way too easily)
Ports that work perfectly fine
Port Status
SDL_sound 🩹 Fixed by … doing nothing? I don’t understand. πŸ’₯ BROKEN: compilation error: unknown type name '__EXPORT__'
SDL_sound 🩹 Fixed by … doing nothing? I don’t understand. πŸ’₯ BROKEN: only when compiling for gltron, it doesn’t find libc.so, then link error undef ref to pow and floor o.O
gltron 🩹 Fixed by … doing nothing? I don’t understand. 😭 BROKEN DEP (requires SDL_sound which is broken)
gnuplot 🩹 Fixed by … doing nothing? I don’t understand. πŸ’₯ BROKEN: link error: undef ref to png_create_write_struct, FT_Init_FreeType, libiconv_open, and more
taskwarrior 🩹 Fixed by … doing nothing? I don’t understand. See also #18515 πŸ’₯ BROKEN: link error: undef ref to libintl_gettext
lrzip 🩹 Fixed by #18268 πŸ’₯ BROKEN: system serenity not recognized
openrct2 🩹 Fixed by #18377 πŸ’₯ BROKEN: link error: undef ref to fnmatch, and nothing else
fheroes2 πŸͺ¦ REMOVED in #18254 πŸ’₯ BROKEN: in fheroes2-0.9.13/src/engine/serialize.h:329:24: β€œUnknown byte order”
gnupg 🩹 Fixed by https://github.com/SerenityOS/serenity/pull/18253 😭 BROKEN DEP (requires libksba which is broken)
libassuan 🩹 Fixed by https://github.com/SerenityOS/serenity/pull/18253 πŸ’₯ BROKEN: link error: undef ref to __environ_is_malloced, s_global_initializers_ran, _ctype_, __begin_atexit_locking, and more
libksba 🩹 Fixed by https://github.com/SerenityOS/serenity/pull/18253 πŸ’₯ BROKEN: link error: undef ref to __environ_is_malloced, s_global_initializers_ran, _ctype_, __begin_atexit_locking, and more
ntbtls 🩹 Fixed by https://github.com/SerenityOS/serenity/pull/18253 😭 BROKEN DEP (requires libksba which is broken)
qt6-qt5compat 🩹 Fixed by #18241 😭 BROKEN DEP (requires qt6-qtbase which is broken)
qt6-qtbase 🩹 Fixed by #18241 πŸ’₯ BROKEN: doesn’t find sys/ioctl_numbers.h, which seems to have moved to Kernel/API/Ioctl.h
SDL2_sound 🩹 Fixed by https://github.com/SerenityOS/serenity/pull/18246 πŸ’₯ BROKEN: patch does not apply, ping @Danik2343
stpuzzles 🩹 Fixed by https://github.com/SerenityPorts/stpuzzles/pull/7 πŸ’₯ BROKEN: compilation error around Ports/stpuzzles/stpuzzles-main/serenity.cpp:500
------ --------
bass βœ… WORKS (needs some extra dependencies)
bdwgc βœ… WORKS (needs some extra dependencies)
composer βœ… WORKS (needs some extra dependencies)
dos2unix βœ… WORKS (needs some extra dependencies)
dosbox-staging βœ… WORKS (needs some extra dependencies)
drascula βœ… WORKS (needs some extra dependencies)
dreamweb βœ… WORKS (needs some extra dependencies)
dungeonrush βœ… WORKS (needs some extra dependencies)
ed βœ… WORKS (needs some extra dependencies)
fontconfig βœ… WORKS (needs some extra dependencies)
fotaq βœ… WORKS (needs some extra dependencies)
gemrb βœ… WORKS (needs some extra dependencies)
git βœ… WORKS (needs some extra dependencies)
glib βœ… WORKS (needs some extra dependencies)
gnucobol βœ… WORKS (needs some extra dependencies)
griffon βœ… WORKS (needs some extra dependencies)
halflife βœ… WORKS (needs some extra dependencies)
jq βœ… WORKS (needs some extra dependencies)
lite-xl βœ… WORKS (needs some extra dependencies)
luarocks βœ… WORKS (needs some extra dependencies)
lure βœ… WORKS (needs some extra dependencies)
mc βœ… WORKS (needs some extra dependencies)
mruby βœ… WORKS (needs some extra dependencies)
mysthous βœ… WORKS (needs some extra dependencies)
neofetch βœ… WORKS (needs some extra dependencies)
ninja βœ… WORKS (needs some extra dependencies)
nippon βœ… WORKS (needs some extra dependencies)
OpenJDK βœ… WORKS (needs some extra dependencies)
opfor βœ… WORKS (needs some extra dependencies)
pacman βœ… WORKS (needs some extra dependencies)
php βœ… WORKS (needs some extra dependencies)
powdertoy βœ… WORKS (needs some extra dependencies)
prboom-plus βœ… WORKS (needs some extra dependencies)
python3 βœ… WORKS (needs some extra dependencies)
qemu βœ… WORKS (needs some extra dependencies)
quake3 βœ… WORKS (needs some extra dependencies)
quake βœ… WORKS (needs some extra dependencies)
RetroArch βœ… WORKS (needs some extra dependencies)
scummvm βœ… WORKS (needs some extra dependencies)
sfinx βœ… WORKS (needs some extra dependencies)
soltys βœ… WORKS (needs some extra dependencies)
VVVVVV βœ… WORKS (needs some extra dependencies)
wayland βœ… WORKS (needs some extra dependencies)
x264 βœ… WORKS (needs some extra dependencies)
xash3d-fwgs βœ… WORKS (needs some extra dependencies)
------ --------
aclock βœ… WORKS (without special dependencies)
acpica-tools βœ… WORKS (without special dependencies)
angband βœ… WORKS (without special dependencies)
Another-World βœ… WORKS (without special dependencies)
aria2 βœ… WORKS (without special dependencies)
awk βœ… WORKS (without special dependencies)
backward-cpp βœ… WORKS (without special dependencies)
bash βœ… WORKS (without special dependencies)
bc βœ… WORKS (without special dependencies)
binutils βœ… WORKS (without special dependencies)
bison βœ… WORKS (without special dependencies)
bochs βœ… WORKS (without special dependencies)
brogue βœ… WORKS (without special dependencies)
byacc βœ… WORKS (without special dependencies)
bzip2 βœ… WORKS (without special dependencies)
bzip3 βœ… WORKS (without special dependencies)
ca-certificates βœ… WORKS (without special dependencies)
carl βœ… WORKS (without special dependencies)
ccache βœ… WORKS (without special dependencies)
cfunge βœ… WORKS (without special dependencies)
chester βœ… WORKS (without special dependencies)
citron βœ… WORKS (without special dependencies)
ClassiCube βœ… WORKS (without special dependencies)
cmake βœ… WORKS (without special dependencies)
cmatrix βœ… WORKS (without special dependencies)
coreutils βœ… WORKS (without special dependencies)
cpio βœ… WORKS (without special dependencies)
c-ray βœ… WORKS (without special dependencies)
curl βœ… WORKS (without special dependencies)
dash βœ… WORKS (without special dependencies)
dialog βœ… WORKS (without special dependencies)
diffutils βœ… WORKS (without special dependencies)
dmidecode βœ… WORKS (without special dependencies)
doom βœ… WORKS (without special dependencies)
dosfstools βœ… WORKS (without special dependencies)
double-conversion βœ… WORKS (without special dependencies)
dropbear βœ… WORKS (without special dependencies)
dtc βœ… WORKS (without special dependencies)
e2fsprogs βœ… WORKS (without special dependencies)
edid-decode βœ… WORKS (without special dependencies)
emu2 βœ… WORKS (without special dependencies)
expat βœ… WORKS (without special dependencies)
figlet βœ… WORKS (without special dependencies)
findutils βœ… WORKS (without special dependencies)
fio βœ… WORKS (without special dependencies)
flac βœ… WORKS (without special dependencies)
flatbuffers βœ… WORKS (without special dependencies)
flex βœ… WORKS (without special dependencies)
freetype βœ… WORKS (without special dependencies)
gawk βœ… WORKS (without special dependencies)
gcc βœ… WORKS (without special dependencies)
gdb βœ… WORKS (without special dependencies)
genemu βœ… WORKS (without special dependencies)
genext2fs βœ… WORKS (without special dependencies)
gettext βœ… WORKS (without special dependencies)
glm βœ… WORKS (without special dependencies)
glu βœ… WORKS (without special dependencies)
gmp βœ… WORKS (without special dependencies)
gperf βœ… WORKS (without special dependencies)
grepcidr βœ… WORKS (without special dependencies)
grep βœ… WORKS (without special dependencies)
gsl βœ… WORKS (without special dependencies)
gzip βœ… WORKS (without special dependencies)
harfbuzz βœ… WORKS (without special dependencies)
hatari βœ… WORKS (without special dependencies)
hexedit βœ… WORKS (without special dependencies)
imgcat βœ… WORKS (without special dependencies)
indent βœ… WORKS (without special dependencies)
isl βœ… WORKS (without special dependencies)
ja2 βœ… WORKS (without special dependencies)
joe βœ… WORKS (without special dependencies)
jot βœ… WORKS (without special dependencies)
kakoune βœ… WORKS (without special dependencies)
klong βœ… WORKS (without special dependencies)
less βœ… WORKS (without special dependencies)
libarchive βœ… WORKS (without special dependencies)
libatomic_ops βœ… WORKS (without special dependencies)
libexpat βœ… WORKS (without special dependencies)
libffi βœ… WORKS (without special dependencies)
libfftw3f βœ… WORKS (without special dependencies)
libgcrypt βœ… WORKS (without special dependencies)
libgd βœ… WORKS (without special dependencies)
libgpg-error βœ… WORKS (without special dependencies)
libiconv βœ… WORKS (without special dependencies)
libicu βœ… WORKS (without special dependencies)
libjpeg βœ… WORKS (without special dependencies)
libmad βœ… WORKS (without special dependencies)
libmikmod βœ… WORKS (without special dependencies)
libmodplug βœ… WORKS (without special dependencies)
libmpeg2 βœ… WORKS (without special dependencies)
libmpg123 βœ… WORKS (without special dependencies)
libogg βœ… WORKS (without special dependencies)
liboggz βœ… WORKS (without special dependencies)
libopenal βœ… WORKS (without special dependencies)
libphysfs βœ… WORKS (without special dependencies)
libpng βœ… WORKS (without special dependencies)
libpuffy βœ… WORKS (without special dependencies)
libsixel βœ… WORKS (without special dependencies)
libsodium βœ… WORKS (without special dependencies)
libssh2 βœ… WORKS (without special dependencies)
libtheora βœ… WORKS (without special dependencies)
libtiff βœ… WORKS (without special dependencies)
libtool βœ… WORKS (without special dependencies)
libunistring βœ… WORKS (without special dependencies)
libuuid βœ… WORKS (without special dependencies)
libuv βœ… WORKS (without special dependencies)
libvorbis βœ… WORKS (without special dependencies)
libxml2 βœ… WORKS (without special dependencies)
libyaml βœ… WORKS (without special dependencies)
libzip βœ… WORKS (without special dependencies)
links βœ… WORKS (without special dependencies)
luajit βœ… WORKS (without special dependencies)
lua βœ… WORKS (without special dependencies)
lz4 βœ… WORKS (without special dependencies)
lzop βœ… WORKS (without special dependencies)
lzo βœ… WORKS (without special dependencies)
m4 βœ… WORKS (without special dependencies)
make βœ… WORKS (without special dependencies)
mandoc βœ… WORKS (without special dependencies)
mawk βœ… WORKS (without special dependencies)
mbedtls βœ… WORKS (without special dependencies)
md4c βœ… WORKS (without special dependencies)
mednafen βœ… WORKS (without special dependencies)
mgba βœ… WORKS (without special dependencies)
milkytracker βœ… WORKS (without special dependencies)
mpc βœ… WORKS (without special dependencies)
mpfr βœ… WORKS (without special dependencies)
mrsh βœ… WORKS (without special dependencies)
nano βœ… WORKS (without special dependencies)
nasm βœ… WORKS (without special dependencies)
ncdu βœ… WORKS (without special dependencies)
ncurses βœ… WORKS (without special dependencies)
nlohmann-json βœ… WORKS (without special dependencies)
npiet βœ… WORKS (without special dependencies)
npth βœ… WORKS (without special dependencies)
nyancat βœ… WORKS (without special dependencies)
oksh βœ… WORKS (without special dependencies)
openssh βœ… WORKS (without special dependencies)
openssl βœ… WORKS (without special dependencies)
openttd-opengfx βœ… WORKS (without special dependencies)
openttd-opensfx βœ… WORKS (without special dependencies)
openttd βœ… WORKS (without special dependencies)
opentyrian βœ… WORKS (without special dependencies)
optipng βœ… WORKS (without special dependencies)
patch βœ… WORKS (without special dependencies)
pcre2 βœ… WORKS (without special dependencies)
pcre βœ… WORKS (without special dependencies)
pfetch βœ… WORKS (without special dependencies)
pixman βœ… WORKS (without special dependencies)
pkgconf βœ… WORKS (without special dependencies)
potrace βœ… WORKS (without special dependencies)
printf βœ… WORKS (without special dependencies)
pt2-clone βœ… WORKS (without special dependencies)
pv βœ… WORKS (without special dependencies)
qoi βœ… WORKS (without special dependencies)
quake2 βœ… WORKS (without special dependencies)
r0 βœ… WORKS (without special dependencies)
radare2 βœ… WORKS (without special dependencies)
readline βœ… WORKS (without special dependencies)
RISCVEmu βœ… WORKS (without special dependencies)
rsync βœ… WORKS (without special dependencies)
sam βœ… WORKS (without special dependencies)
sdl12-compat βœ… WORKS (without special dependencies)
SDL2_gfx βœ… WORKS (without special dependencies)
SDL2-GNUBoy βœ… WORKS (without special dependencies)
SDL2_image βœ… WORKS (without special dependencies)
SDL2_mixer βœ… WORKS (without special dependencies)
SDL2_net βœ… WORKS (without special dependencies)
SDL2_ttf βœ… WORKS (without special dependencies)
SDL2 βœ… WORKS (without special dependencies)
SDL_mixer βœ… WORKS (without special dependencies)
SDLPoP βœ… WORKS (without special dependencies)
sed βœ… WORKS (without special dependencies)
serenity-theming βœ… WORKS (without special dependencies)
sl βœ… WORKS (without special dependencies)
sparsehash βœ… WORKS (without special dependencies)
speexdsp βœ… WORKS (without special dependencies)
sqlite βœ… WORKS (without special dependencies)
stb βœ… WORKS (without special dependencies)
stockfish βœ… WORKS
stress-ng βœ… WORKS (without special dependencies)
Super-Mario βœ… WORKS (without special dependencies)
tar βœ… WORKS (without special dependencies)
tcl βœ… WORKS (without special dependencies)
termcap βœ… WORKS (without special dependencies)
thesilversearcher βœ… WORKS (without special dependencies)
tig βœ… WORKS (without special dependencies)
timidity βœ… WORKS (without special dependencies)
tinycc βœ… WORKS (without special dependencies)
tinyscheme βœ… WORKS (without special dependencies)
tree βœ… WORKS (without special dependencies)
tr βœ… WORKS (without special dependencies)
tuxracer βœ… WORKS (without special dependencies)
vim βœ… WORKS (without special dependencies)
vitetris βœ… WORKS (without special dependencies)
vttest βœ… WORKS (without special dependencies)
wget βœ… WORKS (without special dependencies)
which βœ… WORKS (without special dependencies)
wireguard-tools βœ… WORKS (without special dependencies)
x265 βœ… WORKS (without special dependencies)
xz βœ… WORKS (without special dependencies)
yasm βœ… WORKS (without special dependencies)
zlib βœ… WORKS (without special dependencies)
zsh βœ… WORKS (without special dependencies)
zstd βœ… WORKS (without special dependencies)

About this issue

  • Original URL
  • State: open
  • Created a year ago
  • Reactions: 3
  • Comments: 26 (18 by maintainers)

Most upvoted comments

@BenWiederhake

Port Status
alpine BROKEN: libtool version mismatch???

Any details on the alpine libtool error you encountered? I successfully built alpine on c4656a70c10d40f238c78d6af5e052a4bf38147d today (Ubuntu 22.04 host).

image

nethack and boost should work right now.

That is very much possible! I would like to keep this issue high-level, feel free to create a new issue about backward-cpp in particular, or even better: Fix it πŸ˜„

I got a different build error for OpenRTC2, but the latest release does build for me on macOS (aarch64). Please check if you still get the same error with https://github.com/SerenityOS/serenity/pull/18377.

I don’t have anything on the actual topic of the issue yet, but could we move the working ports into a <details> section? That way one doesn’t have to scroll that far to reach the comments. :^)