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]: --8<---------------cut here---------------start------------->8--- ld: a.o:(.bss+0x0): multiple definition of `a'; main.o:(.data+0x0): first defined here --8<---------------cut here---------------end--------------->8--- 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? [0] https://gcc.gnu.org/gcc-10/porting_to.html [1] https://wiki.gentoo.org/wiki/Project:Toolchain/Gcc_10_porting_notes/fno_common [2] https://bugs.gentoo.org/705764 [3] https://github.com/transmission-remote-gtk/transmission-remote-gtk/issues/122 -- Sarah
Hi Sarah,
Sarah Morgensen <iskarian@mgsn.dev> skribis:
> 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’.
Hi Ludo, >> 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. [0] https://issues.guix.gnu.org/50388 [1] https://issues.guix.gnu.org/50389 -- Sarah
Hi again, >> 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. [0] https://issues.guix.gnu.org/50392 [1] https://issues.guix.gnu.org/50396 -- Sarah
[-- Attachment #1: Type: text/plain, Size: 128 bytes --] Sarah Morgensen <iskarian@mgsn.dev> skribis: > opencpn@5.0.0 Hi, I fixed opencpn in 79edda38742b37603ccd48dd8660ff7fcfca293e. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 247 bytes --]
[-- Attachment #1: Type: text/plain, Size: 427 bytes --] 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. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 247 bytes --]
Guillaume Le Vaillant <glv@posteo.net> writes: > 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... [0] https://issues.guix.gnu.org/50418 -- Sarah
[-- Attachment #1: Type: text/plain, Size: 201 bytes --] Sarah Morgensen <iskarian@mgsn.dev> skribis: > gpredict@2.2.1 > transcode@1.1.7 gpredict and transcode fixed in bd8013ab33159a41a94f6a6cd023d585c91ae2ed and 92d04bcab34ef7145bd18e5a7d242e38d01d3922. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 247 bytes --]
[-- Attachment #1: Type: text/plain, Size: 242 bytes --] Sarah Morgensen <iskarian@mgsn.dev> skribis: > 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. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 247 bytes --]
linsmith is now fixed with commit 3d32fd1a6e. -- Ricardo
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: --8<---------------cut here---------------start------------->8--- 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 --8<---------------cut here---------------end--------------->8--- -- Ricardo
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