Jump to content

Error after installing 0AD 26 on Debian 11


Recommended Posts

Hello to all ! :)

I have a computer with Debian
11 (bullseye) on it.

I tried to installed 0ad (0.0.26-2) this way :

sudo apt update
sudo apt install -t bookworm 0ad

For information "/etc/apt/sources.list.d/testing.list" contains a reference to "bookworm main contrib non-free" (that have 0AD 0.0.26-2 : https://packages.debian.org/bookworm/0ad )

The installation finishes without any problem.

installed packages : 
  0ad-data 0ad-data-common libenet7 libffi8 libffi8:i386 libfmt9 libgloox18
  libgmp10 libgnutls-dane0 libgnutls-openssl27 libgnutls30 libicu71 libidn12
  libpcre2-32-0 libwayland-client0 libwayland-client0:i386 libwxbase3.2-0
suggested package :
NEW packages installed :
  0ad 0ad-data 0ad-data-common libenet7 libffi8 libffi8:i386 libfmt9
  libgloox18 libicu71 libidn12 libpcre2-32-0 libwxbase3.2-0 libwxgtk3.2-0
updated packages :
  libgmp10 libgnutls-dane0 libgnutls-openssl27 libgnutls30 libwayland-client0

When I try to launch 0ad using command line, it prints me :

TIMER| InitVfs: 44.7625 ms
FILES| Main log written to '~/.config/0ad/logs/mainlog.html'
FILES| Interesting log written to '~/.config/0ad/logs/interestinglog.html'
TIMER| CONFIG_Init: 30.4876 ms
Sound: AlcInit success, using OpenAL Soft
ERROR: Failed to query SDL WM info: Application not compiled with SDL 2.0
ERROR: Unable to create device for GL backend, switching to ARB.
ERROR: Failed to query SDL WM info: Application not compiled with SDL 2.0
ERROR: SetVideoMode failed in backend device creation: 1920x1200:24 1
Segmentation fault

I guess I have not a good version of a library ( libsdl2-2.0-0 ?).

Can anyone help me to fix it please ? Thanks ! :)

PS : In the past, I have already installed older versions of the game in the same way without any problem.

Link to comment
Share on other sites

In order to install 0ad from testing (bookworm) on a stable (bullseye) system, you must have also installed libc from testing, as well. That's not designed to work correctly. In fact, you no longer have a truly stable (bullseye) system at that point, and you're not getting security updates for any packages you've installed that way. Using libc from testing will likely cause other packages to malfunction n your system.

I recommend that you downgrade libc to the version provided by bullsye, and uninstall any packages that depend on the bookworm versions of libc and related packages. Alternatively, you could backup and then reinstall Debian stable (bullseye) from scratch. Here's what you need to do in order to return to Debian bullseye. Obviously these aren't commands to type into a terminal. Instead it's an outline of the actions that you should carry out.

temporarily remove the testing (bookworm) apt package source

undo installations of any packages from testing. Check /var/log/apt/history.log* to see all apt installation actions.

alternatively ...

remove gcc-12-base

downgrade libc-bin libc-dev-bin libc-l10n libc6 libc6-dev libstdc++6

allow removals or downgrades of other packages accordingly

It might help to use aptitude to more precisely control which version of each package you have installed. With the testing apt package source removed, packages from testing should be listed by aptitue in the category "obsolete or locally installed packages". Press enter on each of those packages to see the details, scroll down to the highlight the version of the package that is available from bullseye, and press + to adjust the version of those packages so that they're from bullseye. If you want to know what version is available in bullseye, use the package search on the website, and ensure that the release is set to stable or bullseye.

The correct way to install alpha 26 on Debian bullseye is to either use a Snap, Flatpak or AppImage, build from source, or wait for bullseye-packports to update 0ad to version alpha 26. Based on the past update timing of backports, it may take a few months before they update 0ad to version alpha 26.

Here is how to build from source.

# remove the testing sources from the apt configuration
sudo sensible-editor /etc/apt/sources.list
sudo apt-get build-dep 0ad/bullseye
sudo apt-get install pbuilder

# add the testing sources to the apt configuration only in order to get the source code for 0ad version alpha 26
sudo sensible-editor /etc/apt/sources.list
sudo apt-get source 0ad/bookworm 0ad-data/bookworm

# remove the testing sources from the apt configuration 
# so that subsequent installations are not from the testing repository
sudo sensible-editor /etc/apt/sources.list

# for each of 0ad-0.0.26 and 0ad-data-0.0.26, do the following

cd [source directory]
cd ..

It may be necessary to adjust the required versions of build dependencies in [source directory]/debian/control so that the bullseye versions of libraries are used.

When all three of those packages are built, type the following to install the packages that you just built.

sudo apt install ./0ad_0.0.26-2_amd64.deb ./0ad-data_0.0.26-1_amd64.deb ./0ad-data-common_0.0.26-1_amd64.deb

I think that this is basically what the Debian backports team does, aside from QA to ensure that the package works with Debian stable.

Edited by dave_k
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Create New...