[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
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 50243@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 50243
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch