S390x: Failed to start xvfb.service

I’m trying to setup a build with s390x to validate that my software works on big endian architectures.
My integrated tests require xvfb so I’ve used the following (caprice32/.travis.yml at aligned · ColinPitrat/caprice32 · GitHub):

dist: xenial
services:
 - xvfb
# Some lines omitted
addons:
 apt:
  # Some lines omitted
  packages:
    - xvfb

However this doesn’t work on s390x and I have the following error when starting xvfb:

$ sudo systemctl start xvfb
Failed to start xvfb.service: Unit xvfb.service not found.

The xvfb package is installed:

Selecting previously unselected package xvfb.
Preparing to unpack .../xvfb_2%3a1.18.4-0ubuntu0.11_s390x.deb ...
Unpacking xvfb (2:1.18.4-0ubuntu0.11) ...
(...)
Setting up xvfb (2:1.18.4-0ubuntu0.11) ...

Any idea what I’m doing wrong? Is xvfb supposed to work on s390x?

It turns out there’s no service definition in the xvfb package.

I just had to start it manually with the following command as a before_script:

 - /usr/bin/Xvfb :99 -screen 0 1024x768x24& true
1 Like

Indeed, it turns out that xvfb.service is not supplied by Ubuntu and is rather something added by Travis themselves: travis-cookbooks/xserver.rb at ec410fdeac9976cb475870647c8585e165754225 · travis-ci/travis-cookbooks · GitHub
Moreover, it looks like non-x64 images are not made from that recipe and thus don’t have it.