Community process for 32-bit compatibility

Hello, please evaluate i965-va-driver-shaders for the 32 bit whitelist. This was mentioned at https://bugs.launchpad.net/ubuntu/+source/intel-vaapi-driver-shaders/+bug/1864314 which is apparently the wrong place for 32 bit whitelist feedback.

3 Likes

Thanks, I’ve re-added the i386 binary to the focal archive.

3 Likes

libffi6:i386 is an install dependency for libllvm10:i386 but has been deleted from focal. This affects mesa and the steam client. I resolved the dependency by manually installing the package in disco PROPOSED:

The following packages have unmet dependencies:
libllvm10:i386 : Depends: libffi6:i386 (>= 3.0.4) but it is not installable
E: Unable to correct problems, you have held broken packages.
andrew@feynman:~/Downloads$ wget http://launchpadlibrarian.net/399281302/libffi6_3.2.1-9_i386.deb
[snip]
andrew@feynman:~/Downloads$ sudo dpkg -i ./libffi6_3.2.1-9_i386.deb
Selecting previously unselected package libffi6:i386.
(Reading database … 509107 files and directories currently installed.)
Preparing to unpack ./libffi6_3.2.1-9_i386.deb …
Unpacking libffi6:i386 (3.2.1-9) …
Setting up libffi6:i386 (3.2.1-9) …
Processing triggers for libc-bin (2.31-0ubuntu9) …
andrew@feynman:~/Downloads$

This is incorrect. The libllvm10:i386 package in Ubuntu focal depends on libffi7, not libffi6.

Thanks, yes, you’re quite right. The problem was one of my own making and I’ve now confirmed that the current libllvm10:386 does indeed depend on libffi7.

1 Like

I need libssl0.9.8 to be installable for some apps to work, such as Comodo Antivirus.

The last version of Ubuntu to include the (obsolete and insecure, by virtue of not supporting recent TLS protocols) libssl0.9.8 was Ubuntu 14.04. This is therefore out of scope for inclusion in Ubuntu 20.04’s i386 compatibility layer. You should not have trouble installing existing old i386 binary packages on your Ubuntu 20.04 system, but they are not included in 20.04.

1 Like

I’ve found a small packaging issue: the libsdl2-mixer-2.0-0 packages provided for Ubuntu 20.04 now depend on libopusfile0 but the 64-bit and 32-bit versions of libopusfile0 conflict with each other - as a result it is no longer possible to have both the 64-bit and 32-bit versions of libsdl2-mixer-2.0-0 installed at the same time.

Thank you for this information. This is out of scope of the question of which packages to support for i386. Please file a bug against opusfile with ubuntu-bug libopusfile0 for this issue.

1 Like

There is a request on https://bugs.launchpad.net/ubuntu/+source/gamemode/+bug/1883253 to build gamemode on i386, the libraries are needed for 32bits games (see e.g https://github.com/FeralInteractive/gamemode/issues/216)

Hi, can you add i386 support for the following packages?

  • libcrypto+±dev and libcrypto++6
  • liblog4cxx-dev and liblog4cxx10v5
  • libmng-dev and libmng2
  • libunittest+±dev and libunittest++2
  • libxerces-c-dev and libxerces-c3.2
  • libxqilla-dev and libxqilla6v5

Thank you!

Thanks, I’ve added gamemode to the list in this post, and have also added it now to the whitelist for groovy.

Hello,

Could you explain why these packages are needed? What 32-bit-only legacy applications exist that need these libraries?

They are used by SMART Notebook, a product of SMART Technologies.

Thanks. Could you provide more detail? Searching for SMART Notebook takes me to http://downloads.smarttech.com/media/sitecore/en/support/product/sls/sls19/specifications_sls.pdf which tells me this software is only supported on Windows and MacOS.

Its latest Linux release can be found at https://support.smarttech.com/en/downloads/other-hardware/displays/mx-series/notebook-linux-for-mx . That release targeted Ubuntu 16.04. I work at SMART Technologies; it would be very helpful to have 32-bit library support as a stepping stone for us to transition to 64-bit.

did you consider creating a snap package ? then the underlying release of the host system will play less of a role … (if you build against a core18 base you will have the full i386 set of libraries available, the snap wll run on anything from 14.04 to 20.04 (and on all non-ubuntu distros with snap support))

I’ve looked into these packages, and found that all of the binary .debs which depend on the mentioned libraries, also depend on other libraries which are not available at all in Ubuntu 20.04, on any architecture:

smart-activation:i386 : Depends: libboost-chrono1.58.0:i386 (>= 1.58.0+dfsg-5ubuntu3) but it is not installable
                     Depends: libboost-date-time1.58.0:i386 (>= 1.58.0+dfsg-5ubuntu3) but it is not installable
                     Depends: libboost-filesystem1.58.0:i386 (>= 1.58.0+dfsg-5ubuntu3) but it is not installable
                     Depends: libboost-program-options1.58.0:i386 (>= 1.58.0+dfsg-5ubuntu3) but it is not installable
                     Depends: libboost-regex1.58.0:i386 (>= 1.58.0+dfsg-5ubuntu3) but it is not installable
                     Depends: libboost-system1.58.0:i386 (>= 1.58.0+dfsg-5ubuntu3) but it is not installable
                     Depends: libboost-thread1.58.0:i386 (>= 1.58.0+dfsg-5ubuntu3) but it is not installable
                     Depends: libcrypto++9v5:i386 (>= 5.6.1-9) but it is not installable
                     Depends: libicu55:i386 (>= 55.1-7) but it is not installable
                     Depends: liblog4cxx10v5:i386 (>= 0.10.0-10ubuntu1) but it is not installable
                     Depends: libmysqlclient20:i386 (>= 5.7.13-0ubuntu0.16.04.2) but it is not installable
                     Depends: libqgsttools-p1:i386 (>= 5.5.1-4ubuntu2) but it is not installable
smart-common:i386 : Depends: libicu55:i386 (>= 55.1-7) but it is not installable
                 Depends: libmysqlclient20:i386 (>= 5.7.13-0ubuntu0.16.04.2) but it is not installable
                 Depends: libqgsttools-p1:i386 (>= 5.5.1-4ubuntu2) but it is not installable
smart-gallerysetup:i386 : Depends: libboost-filesystem1.58.0:i386 (>= 1.58.0+dfsg-5ubuntu3) but it is not installable
                       Depends: libboost-signals1.58.0:i386 (>= 1.58.0+dfsg-5ubuntu3) but it is not installable
                       Depends: libboost-system1.58.0:i386 (>= 1.58.0+dfsg-5ubuntu3) but it is not installable
                       Depends: libboost-thread1.58.0:i386 (>= 1.58.0+dfsg-5ubuntu3) but it is not installable
                       Depends: libicu55:i386 (>= 55.1-7) but it is not installable
                       Depends: libmozjs185-1.0:i386 (>= 1.8.5-1.0.0+dfsg-4.5) but it is not installable
                       Depends: libmysqlclient20:i386 (>= 5.7.13-0ubuntu0.16.04.2) but it is not installable
                       Depends: libqgsttools-p1:i386 (>= 5.5.1-4ubuntu2) but it is not installable
                       Depends: libssl1.0.0:i386 (>= 1.0.2g-1ubuntu4.2) but it is not installable
                       Depends: libxerces-c3.1:i386 (>= 3.1.3+debian-1) but it is not installable
                       Depends: libxqilla6v5:i386 (>= 2.3.0-3) but it is not installable
smart-languagesetup:i386 : Depends: libboost-regex1.58.0:i386 (>= 1.58.0+dfsg-5ubuntu3) but it is not installable
                        Depends: libboost-system1.58.0:i386 (>= 1.58.0+dfsg-5ubuntu3) but it is not installable
                        Depends: libboost-thread1.58.0:i386 (>= 1.58.0+dfsg-5ubuntu3) but it is not installable
                        Depends: libicu55:i386 (>= 55.1-7) but it is not installable
                        Depends: libmysqlclient20:i386 (>= 5.7.13-0ubuntu0.16.04.2) but it is not installable
                        Depends: libqgsttools-p1:i386 (>= 5.5.1-4ubuntu2) but it is not installable
smart-notebook:i386 : Depends: libboost-chrono1.58.0:i386 (>= 1.58.0+dfsg-5ubuntu3) but it is not installable
                   Depends: libboost-date-time1.58.0:i386 (>= 1.58.0+dfsg-5ubuntu3) but it is not installable
                   Depends: libboost-filesystem1.58.0:i386 (>= 1.58.0+dfsg-5ubuntu3) but it is not installable
                   Depends: libboost-program-options1.58.0:i386 (>= 1.58.0+dfsg-5ubuntu3) but it is not installable
                   Depends: libboost-regex1.58.0:i386 (>= 1.58.0+dfsg-5ubuntu3) but it is not installable
                   Depends: libboost-signals1.58.0:i386 (>= 1.58.0+dfsg-5ubuntu3) but it is not installable
                   Depends: libboost-system1.58.0:i386 (>= 1.58.0+dfsg-5ubuntu3) but it is not installable
                   Depends: libboost-thread1.58.0:i386 (>= 1.58.0+dfsg-5ubuntu3) but it is not installable
                   Depends: libcrypto++9v5:i386 (>= 5.6.1-9) but it is not installable
                   Depends: libicu55:i386 (>= 55.1-7) but it is not installable
                   Depends: liblog4cxx10v5:i386 (>= 0.10.0-10ubuntu1) but it is not installable
                   Depends: libmozjs185-1.0:i386 (>= 1.8.5-1.0.0+dfsg-4.5) but it is not installable
                   Depends: libmysqlclient20:i386 (>= 5.7.13-0ubuntu0.16.04.2) but it is not installable
                   Depends: libqgsttools-p1:i386 (>= 5.5.1-4ubuntu2) but it is not installable
                   Depends: libssl1.0.0:i386 (>= 1.0.2g-1ubuntu4.2) but it is not installable
                   Depends: libxerces-c3.1:i386 (>= 3.1.3+debian-1) but it is not installable
                   Depends: libxqilla6v5:i386 (>= 2.3.0-3) but it is not installable
smart-product-drivers:i386 : Depends: libboost-regex1.58.0:i386 (>= 1.58.0+dfsg-5ubuntu3) but it is not installable
                          Depends: libboost-signals1.58.0:i386 (>= 1.58.0+dfsg-5ubuntu3) but it is not installable
                          Depends: libboost-system1.58.0:i386 (>= 1.58.0+dfsg-5ubuntu3) but it is not installable
                          Depends: libboost-thread1.58.0:i386 (>= 1.58.0+dfsg-5ubuntu3) but it is not installable
                          Depends: libicu55:i386 (>= 55.1-7) but it is not installable
                          Depends: libmysqlclient20:i386 (>= 5.7.13-0ubuntu0.16.04.2) but it is not installable
                          Depends: libprotobuf9v5:i386 (>= 2.6.1-1.3) but it is not installable
                          Depends: libqgsttools-p1:i386 (>= 5.5.1-4ubuntu2) but it is not installable

Since each of the binary packages which depend on the libraries you’ve requested also depend on other libraries that are not available in Ubuntu 20.04, I don’t see that providing these particular libraries on i386 helps you support these binaries on 20.04. Or is it your intention to rebuild your software, still in 32-bit, against the Ubuntu 20.04 ABI?

Our committment is to maintain binary compatibility on Ubuntu 20.04, to the greatest extent possible, with existing third-party i386 binaries. We have not committed to supporting the building of new i386 binaries on top of Ubuntu 20.04. I would second @ogra’s suggestion to use other methods, such as snap packages, to make your 32-bit software available on Ubuntu 20.04.

Thanks, I appreciate the snap suggestion. It’s on my to-do list to consider (and educate myself!). The set of software that we ship is more than a single app; it includes a non-root daemon, a kernel module to support some of our hardware models, multiple applications that communicate with each other, and some delicate interaction with the desktop/window manager which tends to be brittle across different distributions & releases.

I’m not saying snap can’t handle (most) of those things, but we would definitely need to investigate, experiment and test :slight_smile:.

Yes, that’s the intention.