[core-updates-frozen] "multiple definition of..." build failures

  • Open
  • quality assurance status badge
Details
4 participants
  • Guillaume Le Vaillant
  • Sarah Morgensen
  • Ludovic Courtès
  • Ricardo Wurmus
Owner
unassigned
Submitted by
Sarah Morgensen
Severity
normal
S
S
Sarah Morgensen wrote on 28 Aug 2021 23:23
(address . bug-guix@gnu.org)
86k0k5462m.fsf@mgsn.dev
Hello Guix,

GCC 10 changed the default behavior when encountering multiple
definitions of a global (often an enum) [0]. This causes error messages
like [1]:

Toggle snippet (3 lines)
ld: a.o:(.bss+0x0): multiple definition of `a'; main.o:(.data+0x0): first defined here

Gentoo's tracker for this issue [2] also has some more info. I manually
searched Cuirass build logs and found 28 packages failing on x86_64 with
this error:

arcan-sdl@0.5.5.2-1.b4dd1fb
aris@2.2
blastem@0.6.2
chocolate-doom@3.0.1
crispy-doom@5.8.0
geeqie@1.5
glabels@3.4.1
gmtp@1.3.11
gpredict@2.2.1
gtksheet@4.3.5
jumpnbump@1.61
lablgtk@2.18.10
libappindicator@12.10.0
libopenshot@0.2.5
libsrtp@2.3.0
linsmith@0.99.31
megaglest@3.13.0
mupen64plus-core@2.5
ocaml4.07-lablgtk@1.18.10
ocl-icd@2.2.12
opencpn@5.0.0
pcsxr@1.9.95
pipewire@0.2.7
transcode@1.1.7
transmission-remote-gtk@1.4.1
uget@2.2.1
uim-gtk@1.8.8
uim-qt@1.8.8

I submitted an issue upstream for transmission-remote-gtk [3], but I
haven't taken a look at the others. Any takers?


--
Sarah
L
L
Ludovic Courtès wrote on 4 Sep 2021 16:41
(name . Sarah Morgensen)(address . iskarian@mgsn.dev)(address . 50243@debbugs.gnu.org)
87h7f0z9ml.fsf@gnu.org
Hi Sarah,

Sarah Morgensen <iskarian@mgsn.dev> skribis:

Toggle quote (36 lines)
> Gentoo's tracker for this issue [2] also has some more info. I manually
> searched Cuirass build logs and found 28 packages failing on x86_64 with
> this error:
>
> arcan-sdl@0.5.5.2-1.b4dd1fb
> aris@2.2
> blastem@0.6.2
> chocolate-doom@3.0.1
> crispy-doom@5.8.0
> geeqie@1.5
> glabels@3.4.1
> gmtp@1.3.11
> gpredict@2.2.1
> gtksheet@4.3.5
> jumpnbump@1.61
> lablgtk@2.18.10
> libappindicator@12.10.0
> libopenshot@0.2.5
> libsrtp@2.3.0
> linsmith@0.99.31
> megaglest@3.13.0
> mupen64plus-core@2.5
> ocaml4.07-lablgtk@1.18.10
> ocl-icd@2.2.12
> opencpn@5.0.0
> pcsxr@1.9.95
> pipewire@0.2.7
> transcode@1.1.7
> transmission-remote-gtk@1.4.1
> uget@2.2.1
> uim-gtk@1.8.8
> uim-qt@1.8.8
>
> I submitted an issue upstream for transmission-remote-gtk [3], but I
> haven't taken a look at the others. Any takers?

Great that you built a list of affected packages.

I guess there are several options:

1. Build with ‘-fcommon’, effectively restoring pre-GCC-10 behavior;

2. Build with GCC 8.x or so, for example by adding it to
‘native-inputs’;

3. Upgrade packages and hope for the best;

4. Add the missing ‘extern’ keyword in declarations, assuming that
really is the problem.

I suppose we’ll have to see on a case-by-cases basis which approach is
the easiest. Since we have a list, let’s parallelize work and
synchronize on IRC and in this issue!

Thanks,
Ludo’.
S
S
Sarah Morgensen wrote on 5 Sep 2021 04:41
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 50243@debbugs.gnu.org)
86a6krkam1.fsf@mgsn.dev
Hi Ludo,

Toggle quote (4 lines)
>> lablgtk@2.18.10
>> libsrtp@2.3.0
>> ocaml4.07-lablgtk@1.18.10

I've sent patches [0] [1] to fix these by updating them. Together they
have 79 dependents.


--
Sarah
S
S
Sarah Morgensen wrote on 5 Sep 2021 08:00
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 50243@debbugs.gnu.org)
867dfvk1d1.fsf@mgsn.dev
Hi again,

Toggle quote (3 lines)
>> libappindicator@12.10.0
>> pipewire@0.2.7

I've sent patches for these [0][1], with a total of 22 dependents.

The remaining packages have a total of 19 dependents, 7 of which belong
to ocl-icd@2.2.12. As soon as ocl-icd's website is back online, updating
it to 2.2.13 should fix the build.


--
Sarah
G
G
Guillaume Le Vaillant wrote on 5 Sep 2021 11:52
(name . Sarah Morgensen)(address . iskarian@mgsn.dev)
877dfv2vpe.fsf@kitej
Sarah Morgensen <iskarian@mgsn.dev> skribis:

Toggle quote (2 lines)
> opencpn@5.0.0

Hi,
I fixed opencpn in 79edda38742b37603ccd48dd8660ff7fcfca293e.
-----BEGIN PGP SIGNATURE-----

iIUEAREKAC0WIQTLxZxm7Ce5cXlAaz5r6CCK3yH+PwUCYTST/Q8cZ2x2QHBvc3Rl
by5uZXQACgkQa+ggit8h/j83agEApQWzYudDBVzR0mTeZd9Ml65cOgggSeCrhp+S
fhoicfcA/0fvXu1B80bxEFUsyBHf5TxWyfAA52dte/Et7jW7pOJ4
=fNeK
-----END PGP SIGNATURE-----

G
G
Guillaume Le Vaillant wrote on 5 Sep 2021 13:28
(name . Sarah Morgensen)(address . iskarian@mgsn.dev)
8735qj2r5q.fsf@kitej
Sarah Morgensen <iskarian@mgsn.dev> skribis:

Toggle quote (4 lines)
> The remaining packages have a total of 19 dependents, 7 of which belong
> to ocl-icd@2.2.12. As soon as ocl-icd's website is back online, updating
> it to 2.2.13 should fix the build.

I just saw that on the master branch ocl-icd has been deprecated and
replaced by opencl-icd-loader. However I've not tried merging master
into core-updates-frozen to see if it the build works.
-----BEGIN PGP SIGNATURE-----

iIUEAREKAC0WIQTLxZxm7Ce5cXlAaz5r6CCK3yH+PwUCYTSrAQ8cZ2x2QHBvc3Rl
by5uZXQACgkQa+ggit8h/j8n2QD+MywR+Vh8jTH+Fels5M2HBtdFpvxVs14/vY5B
CpTjUMkA/iQhPvF6W6bP2l4UIhY+j1A3g/J/WoG/Kn+w3kX+Piny
=mURb
-----END PGP SIGNATURE-----

S
S
Sarah Morgensen wrote on 6 Sep 2021 04:52
(name . Guillaume Le Vaillant)(address . glv@posteo.net)
8635qijtz4.fsf@mgsn.dev
Guillaume Le Vaillant <glv@posteo.net> writes:

Toggle quote (10 lines)
> Sarah Morgensen <iskarian@mgsn.dev> skribis:
>
>> The remaining packages have a total of 19 dependents, 7 of which belong
>> to ocl-icd@2.2.12. As soon as ocl-icd's website is back online, updating
>> it to 2.2.13 should fix the build.
>
> I just saw that on the master branch ocl-icd has been deprecated and
> replaced by opencl-icd-loader. However I've not tried merging master
> into core-updates-frozen to see if it the build works.

I've just submitted a patch to fix ocl-icd [0].

Hmmm. It looks like it was removed because it "disappeared", but it
just changed locations...


--
Sarah
G
G
Guillaume Le Vaillant wrote on 10 Sep 2021 10:23
(name . Sarah Morgensen)(address . iskarian@mgsn.dev)(address . 50243@debbugs.gnu.org)
87r1dwsurp.fsf@kitej
Sarah Morgensen <iskarian@mgsn.dev> skribis:

Toggle quote (3 lines)
> gpredict@2.2.1
> transcode@1.1.7

gpredict and transcode fixed in bd8013ab33159a41a94f6a6cd023d585c91ae2ed
and 92d04bcab34ef7145bd18e5a7d242e38d01d3922.
-----BEGIN PGP SIGNATURE-----

iIUEAREKAC0WIQTLxZxm7Ce5cXlAaz5r6CCK3yH+PwUCYTsWOg8cZ2x2QHBvc3Rl
by5uZXQACgkQa+ggit8h/j+hYwD+LGb1pVhrxugbh8Mro4DZh3P5IsHySl+8jlEv
DGQAdhAA/iCCll8ak9vjN/N+wd9UlbFnFky7oMHKehva5BbZm2Bp
=OtEn
-----END PGP SIGNATURE-----

G
G
Guillaume Le Vaillant wrote on 16 Sep 2021 10:48
(name . Sarah Morgensen)(address . iskarian@mgsn.dev)(address . 50243@debbugs.gnu.org)
87o88soqd4.fsf@kitej
Sarah Morgensen <iskarian@mgsn.dev> skribis:

Toggle quote (8 lines)
> arcan-sdl@0.5.5.2-1.b4dd1fb
> aris@2.2
> blastem@0.6.2
> crispy-doom@5.8.0
> geeqie@1.5
> glabels@3.4.1
> gmtp@1.3.11

These are fixed in c9f7770eeec3a7b493dcbf45c96a4528f2635604 and
following.
-----BEGIN PGP SIGNATURE-----

iIUEAREKAC0WIQTLxZxm7Ce5cXlAaz5r6CCK3yH+PwUCYUMFhw8cZ2x2QHBvc3Rl
by5uZXQACgkQa+ggit8h/j8cJgD5AfYpVhV5vXLchit3/ClrT0Dk++IINqw65DRd
y8u27DEA/22gCC4Jf68qUutaorCQkWNCA9r4zOG9ituGFxnGqQIs
=FvxV
-----END PGP SIGNATURE-----

R
R
Ricardo Wurmus wrote on 22 Nov 2021 18:25
[core-updates-frozen] "multiple definition of..." build failures
(address . 50243@debbugs.gnu.org)
87k0h0w19b.fsf@elephly.net
linsmith is now fixed with commit 3d32fd1a6e.

--
Ricardo
R
R
Ricardo Wurmus wrote on 22 Nov 2021 20:32
(address . 50243@debbugs.gnu.org)
87fsrovvas.fsf@elephly.net
More fixes:

3d109b0306 gnu: uim-qt: Pass -fcommon to compiler.
108b923d92 gnu: uim-gtk: Pass -fcommon to compiler.
1882282843 gnu: megaglest: Pass -fcommon to compiler.

(Note that uim-qt still fails to install, because it attempts to
install its library into the prefix directory of qtbase:

Toggle snippet (13 lines)
make[3]: Entering directory
'/tmp/guix-build-uim-qt-1.8.8.drv-0/uim-1.8.8/qt5/immodule'
/gnu/store/fildpz4qc0llifg8si9s7ag0vwlq1r2z-qtbase-5.15.2/bin/qmake
-install qinstall -exe libuimplatforminputcontextplugin.so
/gnu/store/fildpz4qc0llifg8si9s7ag0vwlq1r2z-qtbase-5.15.2/lib/qt5/plugins/platforminputcontexts/libuimplatforminputcontextplugin.so
Error copying libuimplatforminputcontextplugin.so to
/gnu/store/fildpz4qc0llifg8si9s7ag0vwlq1r2z-qtbase-5.15.2/lib/qt5/plugins/platforminputcontexts/libuimplatforminputcontextplugin.so:
Cannot create
/gnu/store/fildpz4qc0llifg8si9s7ag0vwlq1r2z-qtbase-5.15.2/lib/qt5/plugins/platforminputcontexts/libuimplatforminputcontextplugin.so
for output


--
Ricardo
R
R
Ricardo Wurmus wrote on 22 Nov 2021 23:17
(address . 50243@debbugs.gnu.org)
87pmqrvnn0.fsf@elephly.net
More fixes:

a24b83d7ff gnu: uget: Add -fcommon to CFLAGS.
eceecd8ab4 gnu: transmission-remote-gtk: Update to 1.4.2.
92deae62c1 gnu: jumpnbump: Remove trailing #T.
02296cb0c8 gnu: jumpnbump: Add -fcommon to CFLAGS.
3e678de04c gnu: mupen64plus-core: Add -fcommon to CFLAGS.

This leaves pcsxr and ocaml4.07-lablgtk. I wasn’t able to fix
pcsxr and there’s no more recent tagged version to test. I don’t
really want to touch ocaml4.07-lablgtk, because it’s probably
going to fail in ways I don’t understand.

Any takers for the remaining two packages?

--
Ricardo
?