* bug#51559: Webkit fails to build @ 2021-11-01 21:02 Liliana Marie Prikler 2021-11-02 3:14 ` Maxim Cournoyer ` (2 more replies) 0 siblings, 3 replies; 18+ messages in thread From: Liliana Marie Prikler @ 2021-11-01 21:02 UTC (permalink / raw) To: 51559 Copypasta of the relevant log (/var/log/guix/drvs/pr/nl8g1ky1z3l3dfp4llh50w5qzd2qz4-webkitgtk- 2.34.1.drv.bz2): -- Checking for module 'egl' -- Found egl, version 20.2.4 -- Found EGL: /gnu/store/jf269s6clr6r57p8v5c3c1qkyra6apq2-mesa- 20.2.4/include -- Checking for module 'gl' -- Found gl, version 20.2.4 -- Found OpenGL: /gnu/store/jf269s6clr6r57p8v5c3c1qkyra6apq2-mesa- 20.2.4/include -- Looking for include file GL/glx.h -- Looking for include file GL/glx.h - found -- Checking for module 'glesv2' -- Found glesv2, version 20.2.4 -- Found OpenGLES2: /gnu/store/jf269s6clr6r57p8v5c3c1qkyra6apq2-mesa- 20.2.4/lib/libGLESv2.so (found version "3.2") -- Checking for module 'gtk+-3.0' -- Found gtk+-3.0, version 3.24.24 -- Checking for module 'gtk+-unix-print-3.0' -- Found gtk+-unix-print-3.0, version 3.24.24 -- Found GTK: 3.24.24 (Required is at least version "3.22.0") -- Could NOT find LibSoup: Found unsuitable version "", but required is at least "2.99.9" (found LIBSOUP_INCLUDE_DIRS-NOTFOUND) CMake Error at Source/cmake/OptionsGTK.cmake:212 (message): libsoup 3 is required. Enable USE_SOUP2 to use libsoup 2 (disables HTTP/2) Call Stack (most recent call first): Source/cmake/WebKitCommon.cmake:220 (include) CMakeLists.txt:20 (include) -- Configuring incomplete, errors occurred! See also "/tmp/guix-build-webkitgtk-2.34.1.drv- 0/build/CMakeFiles/CMakeOutput.log". See also "/tmp/guix-build-webkitgtk-2.34.1.drv- 0/build/CMakeFiles/CMakeError.log". command "cmake" "../webkitgtk-2.34.1" "-DCMAKE_BUILD_TYPE=Release" "- DCMAKE_INSTALL_PREFIX=/gnu/store/4vchdgd2c3kvgyf8s9z54985vf80gsaa- webkitgtk-2.34.1" "-DCMAKE_INSTALL_LIBDIR=lib" "- DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE" "- DCMAKE_INSTALL_RPATH=/gnu/store/4vchdgd2c3kvgyf8s9z54985vf80gsaa- webkitgtk-2.34.1/lib" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DPORT=GTK" "- DENABLE_GTKDOC=ON" "-DENABLE_GAMEPAD=OFF" "-DUSE_SYSTEMD=OFF" "- DLIB_INSTALL_DIR=/gnu/store/4vchdgd2c3kvgyf8s9z54985vf80gsaa-webkitgtk- 2.34.1/lib" "-DUSE_GSTREAMER_GL=OFF" failed with status 1 ^ permalink raw reply [flat|nested] 18+ messages in thread
* bug#51559: Webkit fails to build 2021-11-01 21:02 bug#51559: Webkit fails to build Liliana Marie Prikler @ 2021-11-02 3:14 ` Maxim Cournoyer 2021-11-02 5:43 ` Mark H Weaver 2021-11-05 20:06 ` bug#51559: [PATCH] gnu: webkitgtk: Disable SSE2 when not on x86_64 Liliana Marie Prikler 2021-11-06 8:21 ` bug#51559: [PATCH v2] gnu: webkit: " Liliana Marie Prikler 2 siblings, 1 reply; 18+ messages in thread From: Maxim Cournoyer @ 2021-11-02 3:14 UTC (permalink / raw) To: Liliana Marie Prikler; +Cc: 51559-done Hello, Liliana Marie Prikler <liliana.prikler@gmail.com> writes: > Copypasta of the relevant log > (/var/log/guix/drvs/pr/nl8g1ky1z3l3dfp4llh50w5qzd2qz4-webkitgtk- > 2.34.1.drv.bz2): > > -- Checking for module 'egl' > -- Found egl, version 20.2.4 > -- Found EGL: /gnu/store/jf269s6clr6r57p8v5c3c1qkyra6apq2-mesa- > 20.2.4/include > -- Checking for module 'gl' > -- Found gl, version 20.2.4 > -- Found OpenGL: /gnu/store/jf269s6clr6r57p8v5c3c1qkyra6apq2-mesa- > 20.2.4/include > -- Looking for include file GL/glx.h > -- Looking for include file GL/glx.h - found > -- Checking for module 'glesv2' > -- Found glesv2, version 20.2.4 > -- Found OpenGLES2: /gnu/store/jf269s6clr6r57p8v5c3c1qkyra6apq2-mesa- > 20.2.4/lib/libGLESv2.so (found version "3.2") > -- Checking for module 'gtk+-3.0' > -- Found gtk+-3.0, version 3.24.24 > -- Checking for module 'gtk+-unix-print-3.0' > -- Found gtk+-unix-print-3.0, version 3.24.24 > -- Found GTK: 3.24.24 (Required is at least version "3.22.0") > -- Could NOT find LibSoup: Found unsuitable version "", but required is > at least "2.99.9" (found LIBSOUP_INCLUDE_DIRS-NOTFOUND) > CMake Error at Source/cmake/OptionsGTK.cmake:212 (message): > libsoup 3 is required. Enable USE_SOUP2 to use libsoup 2 (disables > HTTP/2) > Call Stack (most recent call first): > Source/cmake/WebKitCommon.cmake:220 (include) > CMakeLists.txt:20 (include) > > > -- Configuring incomplete, errors occurred! > See also "/tmp/guix-build-webkitgtk-2.34.1.drv- > 0/build/CMakeFiles/CMakeOutput.log". > See also "/tmp/guix-build-webkitgtk-2.34.1.drv- > 0/build/CMakeFiles/CMakeError.log". > command "cmake" "../webkitgtk-2.34.1" "-DCMAKE_BUILD_TYPE=Release" "- > DCMAKE_INSTALL_PREFIX=/gnu/store/4vchdgd2c3kvgyf8s9z54985vf80gsaa- > webkitgtk-2.34.1" "-DCMAKE_INSTALL_LIBDIR=lib" "- > DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE" "- > DCMAKE_INSTALL_RPATH=/gnu/store/4vchdgd2c3kvgyf8s9z54985vf80gsaa- > webkitgtk-2.34.1/lib" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DPORT=GTK" "- > DENABLE_GTKDOC=ON" "-DENABLE_GAMEPAD=OFF" "-DUSE_SYSTEMD=OFF" "- > DLIB_INSTALL_DIR=/gnu/store/4vchdgd2c3kvgyf8s9z54985vf80gsaa-webkitgtk- > 2.34.1/lib" "-DUSE_GSTREAMER_GL=OFF" failed with status 1 That's fixed on core-updates-frozen-batched-changes, having upgraded webkitgtk to 2.34.4 and libsoup to 3.0.1. Closing. Maxim ^ permalink raw reply [flat|nested] 18+ messages in thread
* bug#51559: Webkit fails to build 2021-11-02 3:14 ` Maxim Cournoyer @ 2021-11-02 5:43 ` Mark H Weaver 2021-11-04 18:23 ` Maxim Cournoyer 0 siblings, 1 reply; 18+ messages in thread From: Mark H Weaver @ 2021-11-02 5:43 UTC (permalink / raw) To: Maxim Cournoyer, Liliana Marie Prikler; +Cc: 51559 reopen 51559 thanks Hi Maxim, Maxim Cournoyer <maxim.cournoyer@gmail.com> writes: > That's fixed on core-updates-frozen-batched-changes, having upgraded > webkitgtk to 2.34.4 and libsoup to 3.0.1. > > Closing. Unless I'm mistaken, there still remains the problem that 'webkitgtk' and all of its dependents are currently broken on 'master', so I'm reopening the bug. Mark -- Disinformation flourishes because many people care deeply about injustice but very few check the facts. Ask me about <https://stallmansupport.org>. ^ permalink raw reply [flat|nested] 18+ messages in thread
* bug#51559: Webkit fails to build 2021-11-02 5:43 ` Mark H Weaver @ 2021-11-04 18:23 ` Maxim Cournoyer 2021-11-04 19:59 ` Liliana Marie Prikler 0 siblings, 1 reply; 18+ messages in thread From: Maxim Cournoyer @ 2021-11-04 18:23 UTC (permalink / raw) To: Mark H Weaver; +Cc: Liliana Marie Prikler, 51559 Hello, Mark H Weaver <mhw@netris.org> writes: > reopen 51559 > thanks > > Hi Maxim, > > Maxim Cournoyer <maxim.cournoyer@gmail.com> writes: >> That's fixed on core-updates-frozen-batched-changes, having upgraded >> webkitgtk to 2.34.4 and libsoup to 3.0.1. >> >> Closing. > > Unless I'm mistaken, there still remains the problem that 'webkitgtk' > and all of its dependents are currently broken on 'master', so I'm > reopening the bug. Thanks Mark (also for the fix) -- I had mistakenly thought the issue was about core-updates-frozen. Note that on the core-updates-frozen-batched-changes branch webkitgtk (with libsoup2 or 3) could still be built with GCC (version 10). Thanks, Maxim ^ permalink raw reply [flat|nested] 18+ messages in thread
* bug#51559: Webkit fails to build 2021-11-04 18:23 ` Maxim Cournoyer @ 2021-11-04 19:59 ` Liliana Marie Prikler 2021-11-04 21:58 ` Mark H Weaver 0 siblings, 1 reply; 18+ messages in thread From: Liliana Marie Prikler @ 2021-11-04 19:59 UTC (permalink / raw) To: Maxim Cournoyer, Mark H Weaver; +Cc: 51559 Hi, Am Donnerstag, den 04.11.2021, 14:23 -0400 schrieb Maxim Cournoyer: > Note that on the core-updates-frozen-batched-changes branch webkitgtk > (with libsoup2 or 3) could still be built with GCC (version 10). Should we try building webkitgtk and its dependants with GCC 10 on master or should we rather wait for the core-updates-frozen merge? Do we have an ETA? CC'd lfam due to security relevance Cheers ^ permalink raw reply [flat|nested] 18+ messages in thread
* bug#51559: Webkit fails to build 2021-11-04 19:59 ` Liliana Marie Prikler @ 2021-11-04 21:58 ` Mark H Weaver 2021-11-05 4:21 ` Maxim Cournoyer 2021-11-05 5:17 ` Liliana Marie Prikler 0 siblings, 2 replies; 18+ messages in thread From: Mark H Weaver @ 2021-11-04 21:58 UTC (permalink / raw) To: Liliana Marie Prikler, Maxim Cournoyer; +Cc: 51559 Hi, Liliana Marie Prikler <liliana.prikler@gmail.com> writes: > Am Donnerstag, den 04.11.2021, 14:23 -0400 schrieb Maxim Cournoyer: >> Note that on the core-updates-frozen-batched-changes branch webkitgtk >> (with libsoup2 or 3) could still be built with GCC (version 10). > Should we try building webkitgtk and its dependants with GCC 10 on > master I've already verified that webkitgtk-2.34.1 can be successfully built with GCC 10, because I tried it on my private branch (simply because I already have a built GCC 10 on my system, and I don't use substitutes). However, I ran into the same problem where programs linked to webkitgtk failed. My knowledge of C++ is weak (I avoid it like the plague) but I guess this might be because GCC 10 and GCC 7 use different versions of the standard C++ library, which are not ABI compatible with each other. Since GCC 10 is the default compiler on 'core-updates-frozen', I think it's quite likely that webkitgtk-2.34.1 and its programs can be built successfully on 'core-updates-frozen' with its default compiler. That would need to be verified, of course. Regards, Mark -- Disinformation flourishes because many people care deeply about injustice but very few check the facts. Ask me about <https://stallmansupport.org>. ^ permalink raw reply [flat|nested] 18+ messages in thread
* bug#51559: Webkit fails to build 2021-11-04 21:58 ` Mark H Weaver @ 2021-11-05 4:21 ` Maxim Cournoyer 2021-11-05 5:17 ` Liliana Marie Prikler 1 sibling, 0 replies; 18+ messages in thread From: Maxim Cournoyer @ 2021-11-05 4:21 UTC (permalink / raw) To: Mark H Weaver; +Cc: Liliana Marie Prikler, 51559 Hi Mark, Mark H Weaver <mhw@netris.org> writes: > Hi, > > Liliana Marie Prikler <liliana.prikler@gmail.com> writes: > >> Am Donnerstag, den 04.11.2021, 14:23 -0400 schrieb Maxim Cournoyer: >>> Note that on the core-updates-frozen-batched-changes branch webkitgtk >>> (with libsoup2 or 3) could still be built with GCC (version 10). >> Should we try building webkitgtk and its dependants with GCC 10 on >> master > > I've already verified that webkitgtk-2.34.1 can be successfully built > with GCC 10, because I tried it on my private branch (simply because I > already have a built GCC 10 on my system, and I don't use substitutes). > However, I ran into the same problem where programs linked to webkitgtk > failed. > > My knowledge of C++ is weak (I avoid it like the plague) but I guess > this might be because GCC 10 and GCC 7 use different versions of the > standard C++ library, which are not ABI compatible with each other. > > Since GCC 10 is the default compiler on 'core-updates-frozen', I think > it's quite likely that webkitgtk-2.34.1 and its programs can be built > successfully on 'core-updates-frozen' with its default compiler. That > would need to be verified, of course. It's already been verified on the core-updates-frozen-batched-changes branch (which had webkitgtk-2.34.1 before master). Thanks, Maxim ^ permalink raw reply [flat|nested] 18+ messages in thread
* bug#51559: Webkit fails to build 2021-11-04 21:58 ` Mark H Weaver 2021-11-05 4:21 ` Maxim Cournoyer @ 2021-11-05 5:17 ` Liliana Marie Prikler 1 sibling, 0 replies; 18+ messages in thread From: Liliana Marie Prikler @ 2021-11-05 5:17 UTC (permalink / raw) To: Mark H Weaver, Maxim Cournoyer; +Cc: 51559 Hi, Am Donnerstag, den 04.11.2021, 17:58 -0400 schrieb Mark H Weaver: > However, I ran into the same problem where programs linked to > webkitgtk failed. > > My knowledge of C++ is weak (I avoid it like the plague) but I guess > this might be because GCC 10 and GCC 7 use different versions of the > standard C++ library, which are not ABI compatible with each other. Yes, you will have to add GCC 10 to the packages that fail to link. Maxim pointed out, that it already woks on core-updates-frozen-batched- changes, what we need to check is which packages will require GCC 10 on master. Cheers ^ permalink raw reply [flat|nested] 18+ messages in thread
* bug#51559: [PATCH] gnu: webkitgtk: Disable SSE2 when not on x86_64. 2021-11-01 21:02 bug#51559: Webkit fails to build Liliana Marie Prikler 2021-11-02 3:14 ` Maxim Cournoyer @ 2021-11-05 20:06 ` Liliana Marie Prikler 2021-11-05 20:15 ` Maxime Devos 2021-11-06 8:21 ` bug#51559: [PATCH v2] gnu: webkit: " Liliana Marie Prikler 2 siblings, 1 reply; 18+ messages in thread From: Liliana Marie Prikler @ 2021-11-05 20:06 UTC (permalink / raw) To: 51559; +Cc: maxim.cournoyer * gnu/packages/webkit.scm (webkitgtk)[#:phases]: Add ‘disable-sse2’. --- gnu/packages/webkit.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index e54b680855..45150e185f 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -295,6 +295,11 @@ (define-public webkitgtk (("libWPEBackend-fdo-([\\.0-9]+)\\.so" all version) (string-append wpebackend-fdo "/lib/" all))) #t))) + (add-after 'unpack 'disable-sse2 + (lambda* (#:key system #:allow-other-keys) + (unless (string-prefix? "x86_64" system) + (substitute* "Source/cmake/DetectSSE2.cmake" + (("CHECK_FOR_SSE2\\(\\)") ""))))) (add-before 'configure 'prepare-build-environment (lambda* (#:key inputs #:allow-other-keys) (setenv "CC" "clang") -- 2.33.1 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* bug#51559: [PATCH] gnu: webkitgtk: Disable SSE2 when not on x86_64. 2021-11-05 20:06 ` bug#51559: [PATCH] gnu: webkitgtk: Disable SSE2 when not on x86_64 Liliana Marie Prikler @ 2021-11-05 20:15 ` Maxime Devos 2021-11-05 22:19 ` Liliana Marie Prikler 0 siblings, 1 reply; 18+ messages in thread From: Maxime Devos @ 2021-11-05 20:15 UTC (permalink / raw) To: Liliana Marie Prikler, 51559; +Cc: maxim.cournoyer Liliana Marie Prikler schreef op vr 05-11-2021 om 21:06 [+0100]: > * gnu/packages/webkit.scm (webkitgtk)[#:phases]: Add ‘disable-sse2’. > --- > gnu/packages/webkit.scm | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm > index e54b680855..45150e185f 100644 > --- a/gnu/packages/webkit.scm > +++ b/gnu/packages/webkit.scm > @@ -295,6 +295,11 @@ (define-public webkitgtk > (("libWPEBackend-fdo-([\\.0-9]+)\\.so" all version) > (string-append wpebackend-fdo "/lib/" all))) > #t))) > + (add-after 'unpack 'disable-sse2 > + (lambda* (#:key system #:allow-other-keys) > + (unless (string-prefix? "x86_64" system) IIUC, when cross-compiling, you need to look at 'target', not 'system'. At least, that's the case if %current-system/%current-target-system is used. Not sure about 'system' and 'target'. Suggestion: (unless ,(target-x86-64?) (substitute* ...)) Greetings, Maxime. ^ permalink raw reply [flat|nested] 18+ messages in thread
* bug#51559: [PATCH] gnu: webkitgtk: Disable SSE2 when not on x86_64. 2021-11-05 20:15 ` Maxime Devos @ 2021-11-05 22:19 ` Liliana Marie Prikler 2021-11-05 22:38 ` Maxime Devos 2021-11-06 8:00 ` Mark H Weaver 0 siblings, 2 replies; 18+ messages in thread From: Liliana Marie Prikler @ 2021-11-05 22:19 UTC (permalink / raw) To: Maxime Devos, 51559; +Cc: maxim.cournoyer Hi, Am Freitag, den 05.11.2021, 20:15 +0000 schrieb Maxime Devos: > Liliana Marie Prikler schreef op vr 05-11-2021 om 21:06 [+0100]: > > * gnu/packages/webkit.scm (webkitgtk)[#:phases]: Add ‘disable- > > sse2’. > > --- > > gnu/packages/webkit.scm | 5 +++++ > > 1 file changed, 5 insertions(+) > > > > diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm > > index e54b680855..45150e185f 100644 > > --- a/gnu/packages/webkit.scm > > +++ b/gnu/packages/webkit.scm > > @@ -295,6 +295,11 @@ (define-public webkitgtk > > (("libWPEBackend-fdo-([\\.0-9]+)\\.so" all > > version) > > (string-append wpebackend-fdo "/lib/" all))) > > #t))) > > + (add-after 'unpack 'disable-sse2 > > + (lambda* (#:key system #:allow-other-keys) > > + (unless (string-prefix? "x86_64" system) > > IIUC, when cross-compiling, you need to look at 'target', not > 'system'. At least, that's the case if %current-system/%current- > target-system is used. Not sure about 'system' and 'target'. Do target and system follow the same rules? If so, I could write (or target system), no? Packages on master sadly follow wildly different conventions and I picked one at random. > Suggestion: > (unless ,(target-x86-64?) > (substitute* ...)) target-x86-64 does not exist on master yet, but that'd probably work for c-u-frozen, yeah. Greetings, Liliana ^ permalink raw reply [flat|nested] 18+ messages in thread
* bug#51559: [PATCH] gnu: webkitgtk: Disable SSE2 when not on x86_64. 2021-11-05 22:19 ` Liliana Marie Prikler @ 2021-11-05 22:38 ` Maxime Devos 2021-11-06 8:00 ` Mark H Weaver 1 sibling, 0 replies; 18+ messages in thread From: Maxime Devos @ 2021-11-05 22:38 UTC (permalink / raw) To: Liliana Marie Prikler, 51559; +Cc: maxim.cournoyer Liliana Marie Prikler schreef op vr 05-11-2021 om 23:19 [+0100]: > > > [...] > > > + (add-after 'unpack 'disable-sse2 > > > + (lambda* (#:key system #:allow-other-keys) > > > + (unless (string-prefix? "x86_64" system) > > > > IIUC, when cross-compiling, you need to look at 'target', not > > 'system'. At least, that's the case if %current-system/%current- > > target-system is used. Not sure about 'system' and 'target'. > Do target and system follow the same rules? If so, I could write (or > target system), no? Packages on master sadly follow wildly different > conventions and I picked one at random. Looking at (guix build system gnu), there are three system/target-like arguments: a. system, which is set to (%current-system) b. build, which is set to the GNU triplet equivalent (%current-system) c. target, which is set to (%current-target-system) (#f when compiling natively) So it appears system and target correspond to (%current-system) and (%current-target-system), so (or target system) should work, I think. I prefer ,(target-x86-64?) myself though, because it avoids having to remember that 'target' is not set when compiling natively. I think 'target' should always be set, because compiling natively is ‘merely’ a special case of cross-compiling, and (or target system)/(or (%current-target-system) (%current-system)) seems a bit repetitive to me). That would probably break some package definitions though, and not really related to webkitgtk. Also, that the arch comes first in GNU triplets and nix system strings, seems a bit an implementation detail to me. Not terribly important / YMMV though. Greetings, Maxime. ^ permalink raw reply [flat|nested] 18+ messages in thread
* bug#51559: [PATCH] gnu: webkitgtk: Disable SSE2 when not on x86_64. 2021-11-05 22:19 ` Liliana Marie Prikler 2021-11-05 22:38 ` Maxime Devos @ 2021-11-06 8:00 ` Mark H Weaver 1 sibling, 0 replies; 18+ messages in thread From: Mark H Weaver @ 2021-11-06 8:00 UTC (permalink / raw) To: Liliana Marie Prikler, Maxime Devos, 51559; +Cc: maxim.cournoyer Hi Liliana, Liliana Marie Prikler <liliana.prikler@gmail.com> writes: > Am Freitag, den 05.11.2021, 20:15 +0000 schrieb Maxime Devos: >> Liliana Marie Prikler schreef op vr 05-11-2021 om 21:06 [+0100]: >> > * gnu/packages/webkit.scm (webkitgtk)[#:phases]: Add ‘disable- >> > sse2’. >> > --- >> > gnu/packages/webkit.scm | 5 +++++ >> > 1 file changed, 5 insertions(+) >> > >> > diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm >> > index e54b680855..45150e185f 100644 >> > --- a/gnu/packages/webkit.scm >> > +++ b/gnu/packages/webkit.scm >> > @@ -295,6 +295,11 @@ (define-public webkitgtk >> > (("libWPEBackend-fdo-([\\.0-9]+)\\.so" all >> > version) >> > (string-append wpebackend-fdo "/lib/" all))) >> > #t))) >> > + (add-after 'unpack 'disable-sse2 >> > + (lambda* (#:key system #:allow-other-keys) >> > + (unless (string-prefix? "x86_64" system) >> >> IIUC, when cross-compiling, you need to look at 'target', not >> 'system'. At least, that's the case if %current-system/%current- >> target-system is used. Not sure about 'system' and 'target'. > Do target and system follow the same rules? Unfortunately not. It's a bit of a mess, IMO. %current-system is a Nix system string, e.g. "x86_64-linux", "i686-linux", "aarch64-linux", etc. %current-target-system is either #f (if not cross-compiling) or a GNU triplet, e.g. "x86_64-unknown-linux-gnu". It is quite common to write code like: __ (or %current-target-system ______ %current-system) but then you must then write code that copes properly with either Nix system strings or GNU triplets. > If so, I could write (or target system), no? Packages on master sadly > follow wildly different conventions and I picked one at random. A nice touch would be to use quasiquotation to perform the target checks in the host-side code, maybe something like this (after adding 'target-x86-32?' from 'core-updates-frozen' to (guix utils)): --8<---------------cut here---------------start------------->8--- diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index 358254f23f..439341c222 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -292,6 +292,12 @@ acceleration in mind, leveraging common 3D graphics APIs for best performance.") (("libWPEBackend-fdo-([\\.0-9]+)\\.so" all version) (string-append wpebackend-fdo "/lib/" all))) #t))) + ,@(if (target-x86-32?) + '((add-after 'unpack 'disable-sse2 + (lambda _ + (substitute* "Source/cmake/DetectSSE2.cmake" + (("CHECK_FOR_SSE2\\(\\)") ""))))) + '()) (add-before 'configure 'prepare-build-environment (lambda* (#:key inputs #:allow-other-keys) (setenv "CC" "clang") --8<---------------cut here---------------end--------------->8--- The nice thing about this approach is that it does not cause rebuilds on other systems. This benefit is especially useful for core packages, where the cost of rebuilds can be prohibitive, but where it is sometimes necessary to add more target-specific bits like this when Guix is bootstrapped on a new platform. What do you think? Anyway, thanks for working on it. Regards, Mark -- Disinformation flourishes because many people care deeply about injustice but very few check the facts. Ask me about <https://stallmansupport.org>. ^ permalink raw reply related [flat|nested] 18+ messages in thread
* bug#51559: [PATCH v2] gnu: webkit: Disable SSE2 when not on x86_64. 2021-11-01 21:02 bug#51559: Webkit fails to build Liliana Marie Prikler 2021-11-02 3:14 ` Maxim Cournoyer 2021-11-05 20:06 ` bug#51559: [PATCH] gnu: webkitgtk: Disable SSE2 when not on x86_64 Liliana Marie Prikler @ 2021-11-06 8:21 ` Liliana Marie Prikler 2021-11-06 8:44 ` Mark H Weaver 2021-11-06 8:55 ` Mark H Weaver 2 siblings, 2 replies; 18+ messages in thread From: Liliana Marie Prikler @ 2021-11-06 8:21 UTC (permalink / raw) To: 51559; +Cc: maxim.cournoyer * gnu/packages/webkit.scm (webkitgtk)[#:phases]: Add ‘disable-sse2’ if the current (target) system is not an x86_64 one. --- Hi Maxime, I tried conditionally disabling SSE2 on the host side, but for some reason this patch would cause a rebuild for me. Did I do something wrong? gnu/packages/webkit.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index e54b680855..ca50ab37a8 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -241,7 +241,7 @@ (define-public webkitgtk (build-system cmake-build-system) (outputs '("out" "doc")) (arguments - '(#:tests? #f ; no tests + `(#:tests? #f ; no tests #:build-type "Release" ; turn off debugging symbols to save space #:configure-flags (list "-DPORT=GTK" @@ -295,6 +295,13 @@ (define-public webkitgtk (("libWPEBackend-fdo-([\\.0-9]+)\\.so" all version) (string-append wpebackend-fdo "/lib/" all))) #t))) + ,@(if (string-prefix? "x68_64" (or (%current-target-system) + (%current-system))) + '() + '((add-after 'unpack 'disable-sse2 + (lambda _ + (substitute* "Source/cmake/DetectSSE2.cmake" + (("CHECK_FOR_SSE2\\(\\)") "")))))) (add-before 'configure 'prepare-build-environment (lambda* (#:key inputs #:allow-other-keys) (setenv "CC" "clang") -- 2.33.1 ^ permalink raw reply related [flat|nested] 18+ messages in thread
* bug#51559: [PATCH v2] gnu: webkit: Disable SSE2 when not on x86_64. 2021-11-06 8:21 ` bug#51559: [PATCH v2] gnu: webkit: " Liliana Marie Prikler @ 2021-11-06 8:44 ` Mark H Weaver 2021-11-06 8:55 ` Mark H Weaver 1 sibling, 0 replies; 18+ messages in thread From: Mark H Weaver @ 2021-11-06 8:44 UTC (permalink / raw) To: Liliana Marie Prikler, 51559; +Cc: maxim.cournoyer Hi Liliana, Liliana Marie Prikler <liliana.prikler@gmail.com> writes: > diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm > index e54b680855..ca50ab37a8 100644 > --- a/gnu/packages/webkit.scm > +++ b/gnu/packages/webkit.scm > @@ -241,7 +241,7 @@ (define-public webkitgtk > (build-system cmake-build-system) > (outputs '("out" "doc")) > (arguments > - '(#:tests? #f ; no tests > + `(#:tests? #f ; no tests > #:build-type "Release" ; turn off debugging symbols to save space > #:configure-flags (list > "-DPORT=GTK" > @@ -295,6 +295,13 @@ (define-public webkitgtk > (("libWPEBackend-fdo-([\\.0-9]+)\\.so" all version) > (string-append wpebackend-fdo "/lib/" all))) > #t))) > + ,@(if (string-prefix? "x68_64" (or (%current-target-system) The problem is here _______________^^^^^^. That should be "x86_64", not "x68_64". It's rebuilding on your system because it's erroneously adding the new phase. Otherwise, your commit looks good to me. Thank you! Mark -- Disinformation flourishes because many people care deeply about injustice but very few check the facts. Ask me about <https://stallmansupport.org>. ^ permalink raw reply [flat|nested] 18+ messages in thread
* bug#51559: [PATCH v2] gnu: webkit: Disable SSE2 when not on x86_64. 2021-11-06 8:21 ` bug#51559: [PATCH v2] gnu: webkit: " Liliana Marie Prikler 2021-11-06 8:44 ` Mark H Weaver @ 2021-11-06 8:55 ` Mark H Weaver 2021-11-06 9:42 ` Liliana Marie Prikler 1 sibling, 1 reply; 18+ messages in thread From: Mark H Weaver @ 2021-11-06 8:55 UTC (permalink / raw) To: Liliana Marie Prikler, 51559; +Cc: maxim.cournoyer Hi Liliana, I have one more comment: Liliana Marie Prikler <liliana.prikler@gmail.com> writes: > @@ -241,7 +241,7 @@ (define-public webkitgtk > (build-system cmake-build-system) > (outputs '("out" "doc")) > (arguments > - '(#:tests? #f ; no tests > + `(#:tests? #f ; no tests > #:build-type "Release" ; turn off debugging symbols to save space > #:configure-flags (list > "-DPORT=GTK" You'll need to remove this hunk in order to apply this to 'master', since I've already made the change above in commit 4fd12fb00d595b6f6a5d5cc734863f4c4bc5f46c. > @@ -295,6 +295,13 @@ (define-public webkitgtk > (("libWPEBackend-fdo-([\\.0-9]+)\\.so" all version) > (string-append wpebackend-fdo "/lib/" all))) > #t))) > + ,@(if (string-prefix? "x68_64" (or (%current-target-system) > + (%current-system))) > + '() > + '((add-after 'unpack 'disable-sse2 > + (lambda _ > + (substitute* "Source/cmake/DetectSSE2.cmake" > + (("CHECK_FOR_SSE2\\(\\)") "")))))) As a general recommendation, it would be preferable to add the phase only on the systems that need it (32-bit x86), instead of adding it on every system except x86_64. The code above will force rebuilds on every system other than x86_64, whereas if the test was done as I suggested, rebuilds would only happen on 32-bit x86 systems. However, in this particular case it hardly matters, since our libsoup package currently fails to build on any system that's not x86-based. Thanks, Mark -- Disinformation flourishes because many people care deeply about injustice but very few check the facts. Ask me about <https://stallmansupport.org>. ^ permalink raw reply [flat|nested] 18+ messages in thread
* bug#51559: [PATCH v2] gnu: webkit: Disable SSE2 when not on x86_64. 2021-11-06 8:55 ` Mark H Weaver @ 2021-11-06 9:42 ` Liliana Marie Prikler 2021-11-06 18:06 ` Mark H Weaver 0 siblings, 1 reply; 18+ messages in thread From: Liliana Marie Prikler @ 2021-11-06 9:42 UTC (permalink / raw) To: Mark H Weaver, 51559; +Cc: maxim.cournoyer Hi, Am Samstag, den 06.11.2021, 04:55 -0400 schrieb Mark H Weaver: > Hi Liliana, > > I have one more comment: > > Liliana Marie Prikler <liliana.prikler@gmail.com> writes: > > @@ -241,7 +241,7 @@ (define-public webkitgtk > > (build-system cmake-build-system) > > (outputs '("out" "doc")) > > (arguments > > - '(#:tests? #f ; no tests > > + `(#:tests? #f ; no tests > > #:build-type "Release" ; turn off debugging symbols to save > > space > > #:configure-flags (list > > "-DPORT=GTK" > > You'll need to remove this hunk in order to apply this to 'master', > since I've already made the change above in commit > 4fd12fb00d595b6f6a5d5cc734863f4c4bc5f46c. git pull did that automatically (I love rebasing pulls). > > @@ -295,6 +295,13 @@ (define-public webkitgtk > > (("libWPEBackend-fdo-([\\.0-9]+)\\.so" all > > version) > > (string-append wpebackend-fdo "/lib/" all))) > > #t))) > > + ,@(if (string-prefix? "x68_64" (or (%current-target- > > system) > > + (%current-system))) > > + '() > > + '((add-after 'unpack 'disable-sse2 > > + (lambda _ > > + (substitute* "Source/cmake/DetectSSE2.cmake" > > + (("CHECK_FOR_SSE2\\(\\)") "")))))) > > As a general recommendation, it would be preferable to add the phase > only on the systems that need it (32-bit x86), instead of adding it > on every system except x86_64. The code above will force rebuilds on > every system other than x86_64, whereas if the test was done as I > suggested, rebuilds would only happen on 32-bit x86 systems. I chose this variant, because x86_64 is the only architecture in which we allow sse2 as of right now. Better be safe than allowing for a potential "i786" in the future :P > However, in this particular case it hardly matters, since our libsoup > package currently fails to build on any system that's not x86-based. That sounds awful. Is there a related bug? I've pushed my patch with the spelling error corrected. This is the last webkitgtk-related issue for now, right? Thanks, Liliana ^ permalink raw reply [flat|nested] 18+ messages in thread
* bug#51559: [PATCH v2] gnu: webkit: Disable SSE2 when not on x86_64. 2021-11-06 9:42 ` Liliana Marie Prikler @ 2021-11-06 18:06 ` Mark H Weaver 0 siblings, 0 replies; 18+ messages in thread From: Mark H Weaver @ 2021-11-06 18:06 UTC (permalink / raw) To: Liliana Marie Prikler, 51559-done; +Cc: maxim.cournoyer Hi Liliana, Liliana Marie Prikler <liliana.prikler@gmail.com> writes: > Am Samstag, den 06.11.2021, 04:55 -0400 schrieb Mark H Weaver: >> However, in this particular case it hardly matters, since our libsoup >> package currently fails to build on any system that's not x86-based. > That sounds awful. Is there a related bug? I don't know of one off-hand, but I haven't looked. > I've pushed my patch with the spelling error corrected. This is the > last webkitgtk-related issue for now, right? I believe so. Thanks again for pushing these issues toward resolution. Regards, Mark -- Disinformation flourishes because many people care deeply about injustice but very few check the facts. Ask me about <https://stallmansupport.org>. ^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2021-11-06 18:09 UTC | newest] Thread overview: 18+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2021-11-01 21:02 bug#51559: Webkit fails to build Liliana Marie Prikler 2021-11-02 3:14 ` Maxim Cournoyer 2021-11-02 5:43 ` Mark H Weaver 2021-11-04 18:23 ` Maxim Cournoyer 2021-11-04 19:59 ` Liliana Marie Prikler 2021-11-04 21:58 ` Mark H Weaver 2021-11-05 4:21 ` Maxim Cournoyer 2021-11-05 5:17 ` Liliana Marie Prikler 2021-11-05 20:06 ` bug#51559: [PATCH] gnu: webkitgtk: Disable SSE2 when not on x86_64 Liliana Marie Prikler 2021-11-05 20:15 ` Maxime Devos 2021-11-05 22:19 ` Liliana Marie Prikler 2021-11-05 22:38 ` Maxime Devos 2021-11-06 8:00 ` Mark H Weaver 2021-11-06 8:21 ` bug#51559: [PATCH v2] gnu: webkit: " Liliana Marie Prikler 2021-11-06 8:44 ` Mark H Weaver 2021-11-06 8:55 ` Mark H Weaver 2021-11-06 9:42 ` Liliana Marie Prikler 2021-11-06 18:06 ` Mark H Weaver
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/guix.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.