chromium-81.0.4044.92 - atk and atspi2 too old

26 views
Skip to first unread message

Eric Hameleers

unread,
Apr 9, 2020, 4:12:49 PM4/9/20
to chromium-packagers
Trying to compile the chromium-81.0.4044.92 sources on Slackware 14.2 I am running into several system libraries that are too old.
For libdrm and mesa I could solve this by specifying 'use_system_libdrm=false' and 'use_system_minigbm=false', however the next bump on the road is errors about our atk and atspi2 libraries that are too old.
Unfortunately, atk and atspi2 are not bundled along with the Chromium sources. Which means I am no longer able to compile Chromium on our stable platform. This sucks.

How can I request the inclusion of atk and atspi into the bundled third-party software so that I can build against those? I must add that I am unable to understand how to do this myself.

Lei Zhang

unread,
Apr 9, 2020, 4:17:53 PM4/9/20
to Eric Hameleers, chromium-packagers
What older version of atk / atspi2 is Slackware shipping?
> --
> You received this message because you are subscribed to the Google Groups "chromium-packagers" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to chromium-packag...@chromium.org.
> To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-packagers/08006ad4-f08f-452b-b35e-667455b543d6%40chromium.org.

Eric Hameleers

unread,
Apr 9, 2020, 4:21:40 PM4/9/20
to chromium-packagers, al...@slackware.com
Hi Lei,

Thanks for replying so fast.
Slackware 14.2 ships with at-spi2-atk-2.18.1, at-spi2-core-2.18.3 and atk-2.18.0. Until the last Chromium 80 source release, that always was sufficient. Note that I only compile stable releases of Chromium sources, and produce 32bit as well as 64bit packages for our OS.

Op donderdag 9 april 2020 22:17:53 UTC+2 schreef Lei Zhang:

Thomas Anderson

unread,
Apr 9, 2020, 4:29:24 PM4/9/20
to Eric Hameleers, chromium-packagers
(Resending from @chormium.org account)

> How can I request the inclusion of atk and atspi into the bundled third-party software so that I can build against those?

FYI, we already have the sysroots for this.  To build with the sysroot, add 'use_sysroot=true' to your gn args (this is the default, so you have use_sysroot=false currently).  When you build, some instructions will get printed out with the command you need to run to download the sysroot.

--
You received this message because you are subscribed to the Google Groups "chromium-packagers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-packag...@chromium.org.

Eric Hameleers

unread,
Apr 9, 2020, 6:05:55 PM4/9/20
to chromium-packagers, al...@slackware.com
Google no longer provides 32bit binaries as far as I understand, so I do not expect that a 32bit sysroot will be available for download either.

Op donderdag 9 april 2020 22:29:24 UTC+2 schreef Thomas Anderson:

Thomas Anderson

unread,
Apr 9, 2020, 8:09:20 PM4/9/20
to Eric Hameleers, chromium-packagers

--
You received this message because you are subscribed to the Google Groups "chromium-packagers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-packag...@chromium.org.

Mike Gilbert

unread,
Apr 13, 2020, 1:46:38 PM4/13/20
to Thomas Anderson, Eric Hameleers, chromium-packagers
On Thu, Apr 9, 2020 at 4:29 PM Thomas Anderson
<thomasa...@chromium.org> wrote:
>
> (Resending from @chormium.org account)
>
> > How can I request the inclusion of atk and atspi into the bundled third-party software so that I can build against those?
>
> FYI, we already have the sysroots for this. To build with the sysroot, add 'use_sysroot=true' to your gn args (this is the default, so you have use_sysroot=false currently). When you build, some instructions will get printed out with the command you need to run to download the sysroot.

Forgive my ignorance, but how will this work at runtime?

Does chrome get linked statically against the libraries in the sysroot?
Or would the relevant libs need to be copied into the chromium
installation directory and loaded via LD_LIBRARY_PATH?

Also, I can foresee problems with versioned symbols if Slackware's
glibc is older than the version in the sysroot.

Tom Anderson

unread,
Apr 13, 2020, 2:09:31 PM4/13/20
to Mike Gilbert, Thomas Anderson, Eric Hameleers, chromium-packagers
On Mon, Apr 13, 2020 at 10:46 AM Mike Gilbert <flo...@gentoo.org> wrote:
On Thu, Apr 9, 2020 at 4:29 PM Thomas Anderson
<thomasa...@chromium.org> wrote:
>
> (Resending from @chormium.org account)
>
> > How can I request the inclusion of atk and atspi into the bundled third-party software so that I can build against those?
>
> FYI, we already have the sysroots for this.  To build with the sysroot, add 'use_sysroot=true' to your gn args (this is the default, so you have use_sysroot=false currently).  When you build, some instructions will get printed out with the command you need to run to download the sysroot.

Forgive my ignorance, but how will this work at runtime?

The binary should be compatible with the runtime libraries available on your system.  Although the sysroots are very recent (Debian Unstable), we don't actually use any of the newer symbols.  This is enforced by Chromium's CI which checks to make sure we're not breaking compatibility with older systems eg. Ubuntu Trusty circa 2014.
 

Does chrome get linked statically against the libraries in the sysroot?
Or would the relevant libs need to be copied into the chromium
installation directory and loaded via LD_LIBRARY_PATH?

Neither should be necessary.

Eric Hameleers

unread,
Apr 17, 2020, 8:02:25 AM4/17/20
to chromium-packagers, flo...@gentoo.org, thomasa...@chromium.org, al...@slackware.com
I managed to compile a Chromium 81 package on Slackware 14.2 using the Debian sysroot. There were some debian-related issues I had to solve first, like header files that could not be found, a missing library path for NSS and a missing simlink for the libsqlite3.so that is required.

Now that this is proven to work, I want to see if I can avoid using Debian binaries.
My next question would therefore be: can I generate a custom sysroot image myself - based on Slackware-current packages instead of Debian Sid?
Instead of downloading the XZ archive, can I point my build to an archive on my local filesystem and extract that? Are there any hooks in the build process that I can use?

Op maandag 13 april 2020 20:09:31 UTC+2 schreef Tom Anderson:
Reply all
Reply to author
Forward
0 new messages