webkitgtk-with-libsoup2 fails to build on powerpc64le, breaking freecad

  • Open
  • quality assurance status badge
Details
4 participants
  • Andreas Enge
  • Thiago Jung Bauermann
  • Marcel van der Boom
  • Maxim Cournoyer
Owner
unassigned
Submitted by
Marcel van der Boom
Severity
normal
M
M
Marcel van der Boom wrote on 25 Aug 2022 14:23
FreeCAD build fails to configure / Qt5WebKitWidgets related.
(address . bug-guix@gnu.org)
87wnaw8q4k.fsf@van-der-boom.nl
The freecad package fails to build. The following error is the
relevant part from the log.

I'm on powerpc64le, which is usually somewhat problematic in
building. Not sure if that is relevant for this issue though.


Toggle snippet (28 lines)
CMake Error at cMake/FreeCAD_Helpers/SetupQt.cmake:28
(find_package):
By not providing "FindQt5WebKitWidgets.cmake" in
CMAKE_MODULE_PATH this
project has asked CMake to find a package configuration file
provided by
"Qt5WebKitWidgets", but CMake did not find one.

Could not find a package configuration file provided by
"Qt5WebKitWidgets"
with any of the following names:

Qt5WebKitWidgetsConfig.cmake
qt5webkitwidgets-config.cmake

Add the installation prefix of "Qt5WebKitWidgets" to
CMAKE_PREFIX_PATH or
set "Qt5WebKitWidgets_DIR" to a directory containing one of the
above
files. If "Qt5WebKitWidgets" provides a separate development
package or
SDK, be sure it has been installed.
Call Stack (most recent call first):
CMakeLists.txt:69 (include)


-- Configuring incomplete, errors occurred!
T
T
Thiago Jung Bauermann wrote on 30 Aug 2022 05:31
(name . Marcel van der Boom)(address . marcel@van-der-boom.nl)(address . 57402@debbugs.gnu.org)
878rn6v246.fsf@kolabnow.com
Hello Marcel,

Marcel van der Boom <marcel@van-der-boom.nl> writes:

Toggle quote (34 lines)
> The freecad package fails to build. The following error is the
> relevant part from the log.
>
> I'm on powerpc64le, which is usually somewhat problematic in
> building. Not sure if that is relevant for this issue though.
>
> CMake Error at cMake/FreeCAD_Helpers/SetupQt.cmake:28
> (find_package):
> By not providing "FindQt5WebKitWidgets.cmake" in
> CMAKE_MODULE_PATH this
> project has asked CMake to find a package configuration file
> provided by
> "Qt5WebKitWidgets", but CMake did not find one.
>
> Could not find a package configuration file provided by
> "Qt5WebKitWidgets"
> with any of the following names:
>
> Qt5WebKitWidgetsConfig.cmake
> qt5webkitwidgets-config.cmake
>
> Add the installation prefix of "Qt5WebKitWidgets" to
> CMAKE_PREFIX_PATH or
> set "Qt5WebKitWidgets_DIR" to a directory containing one of the
> above
> files. If "Qt5WebKitWidgets" provides a separate development
> package or
> SDK, be sure it has been installed.
> Call Stack (most recent call first):
> CMakeLists.txt:69 (include)
>
>
> -- Configuring incomplete, errors occurred!

Is this on master, or core-updates? On master, freecad-0.20.1 builds
fine on x86_64-linux, but on powerpc64le-linux it doesn't get built
because of a dependency failure:

Toggle snippet (27 lines)
*** HDF-SD test fails ***
make[5]: *** [Makefile:1202: hdftest.chkexe_] Error 1
make[5]: Leaving directory '/tmp/guix-build-hdf4-alt-4.2.14.drv-0/hdf-4.2.14/mfhdf/test'
make[4]: *** [Makefile:1188: build-check-s] Error 2
make[4]: Leaving directory '/tmp/guix-build-hdf4-alt-4.2.14.drv-0/hdf-4.2.14/mfhdf/test'
make[3]: *** [Makefile:1183: test] Error 2
make[3]: Leaving directory '/tmp/guix-build-hdf4-alt-4.2.14.drv-0/hdf-4.2.14/mfhdf/test'
make[2]: *** [Makefile:999: check-am] Error 2
make[2]: Leaving directory '/tmp/guix-build-hdf4-alt-4.2.14.drv-0/hdf-4.2.14/mfhdf/test'
make[1]: *** [Makefile:428: check-recursive] Error 1
make[1]: Leaving directory '/tmp/guix-build-hdf4-alt-4.2.14.drv-0/hdf-4.2.14/mfhdf'
make: *** [Makefile:515: check-recursive] Error 1

Test suite failed, dumping logs.
error: in phase 'check': uncaught exception:
%exception #<&invoke-error program: "make" arguments: ("check") exit-status: 2 term-signal: #f stop-signal: #f>
phase `check' failed after 8.3 seconds
command "make" "check" failed with status 2
builder for `/gnu/store/1szzq357gdplnjd15kbs2m5zb3xrdz7q-hdf4-alt-4.2.14.drv' failed with exit code 1
build of /gnu/store/1szzq357gdplnjd15kbs2m5zb3xrdz7q-hdf4-alt-4.2.14.drv failed
View build log at '/var/log/guix/drvs/1s/zzq357gdplnjd15kbs2m5zb3xrdz7q-hdf4-alt-4.2.14.drv.gz'.
cannot build derivation `/gnu/store/a8df1igdk1b15x06bkk7rvyq1maqkf8v-netcdf-4.7.4.drv': 1 dependencies couldn't be built
applying 2 grafts for postgresql-13.7 ...
cannot build derivation `/gnu/store/35bapv6z5fsalaxapmhymj7m8z8yrjph-freecad-0.20.1.drv': 1 dependencies couldn't be built
guix build: error: build of `/gnu/store/35bapv6z5fsalaxapmhymj7m8z8yrjph-freecad-0.20.1.drv' failed

Unfortunately I can't test on core-updates because of a kernel issue on
guixp9 which triggers a libaio testsuite failure, and thus most of
core-updates is unbuildable there...

--
Thanks
Thiago
M
M
Marcel van der Boom wrote on 30 Aug 2022 10:54
(name . Thiago Jung Bauermann)(address . bauermann@kolabnow.com)(address . 57402@debbugs.gnu.org)
878rn6f2fv.fsf@van-der-boom.nl
[Thiago Jung Bauermann]:
Toggle quote (6 lines)
> Is this on master, or core-updates? On master, freecad-0.20.1
> builds
> fine on x86_64-linux, but on powerpc64le-linux it doesn't get
> built
> because of a dependency failure:

I get the same build failure in 'hdf4-alt' as you posted
above. This is in the check phase on 'master' indeed.

When building using '--without-tests=hdf4-alt' the error I
submitted as bug appears. I should have mentioned that.
M
M
Maxim Cournoyer wrote on 29 Aug 2023 01:01
(name . Marcel van der Boom)(address . marcel@van-der-boom.nl)
87edjmg4a7.fsf@gmail.com
Hi,

Marcel van der Boom <marcel@van-der-boom.nl> writes:

Toggle quote (11 lines)
> [Thiago Jung Bauermann]:
>> Is this on master, or core-updates? On master, freecad-0.20.1 builds
>> fine on x86_64-linux, but on powerpc64le-linux it doesn't get built
>> because of a dependency failure:
>
> I get the same build failure in 'hdf4-alt' as you posted above. This
> is in the check phase on 'master' indeed.
>
> When building using '--without-tests=hdf4-alt' the error I submitted
> as bug appears. I should have mentioned that.

Closing this old bug report as freecad is currently substitutable with
Guix 1dce887.

--
Thanks,
Maxim
Closed
M
M
Marcel van der Boom wrote on 29 Aug 2023 12:02
FreeCAD build fails to configure / Qt5WebKitWidgets related.
(address . 57402@debbugs.gnu.org)
87pm36xinu.fsf@van-der-boom.nl
This still fails for me, same error.

To be clear, substitutable means there is a binary available from
one of the substituation servers?

If so, guix is not using it as it tries to build freecad, starting
with a configure, where it then fails.

What am I missing?


I am using a manifest where some of the dependencies of freecad
skip tests, as in:

(options->transformation
'((without-tests . "ffmpeg")
(without-tests . "hwloc")
(without-tests . "hdf4-alt")
(without-tests . "python-pandas")
(without-tests . "gst-plugins-bad")
(without-tests . "gtk")
(without-tests . "qtbase")))

these are needed for a number of packages on ppc64le.
M
M
Maxim Cournoyer wrote on 29 Aug 2023 16:13
(name . Marcel van der Boom)(address . marcel@van-der-boom.nl)
87ttsiaqcg.fsf@gmail.com
retitle 57402 webkitgtk-with-libsoup2 fails to build on powerpc64le, breaking freecad
reopen 57402
quit

Hi,

Marcel van der Boom <marcel@van-der-boom.nl> writes:

Toggle quote (2 lines)
> This still fails for me, same error.

OK, thanks for the reply.

Toggle quote (3 lines)
> To be clear, substitutable means there is a binary available from one
> of the substituation servers?

Yes.

Toggle quote (20 lines)
> If so, guix is not using it as it tries to build freecad, starting
> with a configure, where it then fails.
>
> What am I missing?
>
>
> I am using a manifest where some of the dependencies of freecad skip
> tests, as in:
>
> (options->transformation
> '((without-tests . "ffmpeg")
> (without-tests . "hwloc")
> (without-tests . "hdf4-alt")
> (without-tests . "python-pandas")
> (without-tests . "gst-plugins-bad")
> (without-tests . "gtk")
> (without-tests . "qtbase")))
>
> these are needed for a number of packages on ppc64le.

Ah, so it seems a problem specific to the powerpc64le architecture.

By using transformations as above, the derivations are changed so you
must build them locally. But it seems the problem is bigger than that,
as there's no substitute for the powerpc64le-linux system:

Toggle snippet (30 lines)
$ guix weather freecad --system=powerpc64le-linux
calcul de 1 dérivations de paquets pour powerpc64le-linux…
recherche de 1 éléments du dépôt sur https://ci.guix.gnu.org...
https://ci.guix.gnu.org ?
0.0 % des substituts sont disponibles (0 sur 1)
taille des substituts inconnue
0,0 Mo sur le disque (décompressé)
0,609 secondes par requête (0,6 secondes en tout)
1,6 requêtes par seconde

0.0 % (0 sur 1) des éléments manquants sont dans la queue
au moins 1?000 constructions dans la queue
aarch64-linux : 986 (98.6 %)
powerpc64le-linux : 10 (1.0 %)
armhf-linux : 4 (.4 %)
vitesse de construction : 60.75 constructions par l'heure
i686-linux?: 30.72 constructions par heure
x86_64-linux?: 26.97 constructions par heure
powerpc64le-linux?: 2.98 constructions par heure
aarch64-linux?: 0.87 constructions par heure
recherche de 1 éléments du dépôt sur https://bordeaux.guix.gnu.org...
https://bordeaux.guix.gnu.org ?
0.0 % des substituts sont disponibles (0 sur 1)
taille des substituts inconnue
0,0 Mo sur le disque (décompressé)
0,539 secondes par requête (0,5 secondes en tout)
1,9 requêtes par seconde
(informations sur l’intégration continue indisponibles)

The last failed completed build can be seen here:

There are multiple packages that do not currently build on powerpc64le
as can be seen by inspecting the 'Dependencies' section on that page.
I've restarted some builds that were spurious CI failures (connection
timeouts), but some are real ones, such as for the
webkitgtk-with-libsoup2 transitive dependency [0]:

Toggle snippet (42 lines)
FAILED: ext/aalib/libgstaasink.so
gcc -o ext/aalib/libgstaasink.so ext/aalib/libgstaasink.so.p/gstaasink.c.o ext/aalib/libgstaasink.so.p/gstaatv.c.o ext/aalib/libgstaasink.so.p/gstaaplugin.c.o -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,--start-group -Wl,-soname,libgstaasink.so -Wl,-Bsymbolic-functions -Wl,-z,nodelete -Wl,-rpath=/gnu/store/275kk2wrasb9gqacaxz45a0x5s24qnd9-gst-plugins-good-1.22.2/lib /gnu/store/0l9aglwxbrkva96c7lrh334gb31rwbxc-gst-plugins-base-1.22.2/lib/libgstvideo-1.0.so /gnu/store/pm16mb257n6c0dh7g74ns3f54pzpwkly-gstreamer-1.22.2/lib/libgstbase-1.0.so /gnu/store/pm16mb257n6c0dh7g74ns3f54pzpwkly-gstreamer-1.22.2/lib/libgstreamer-1.0.so /gnu/store/iz2my9wgqvv088hnirdyxfa3q14xbh3m-glib-2.72.3/lib/libgobject-2.0.so /gnu/store/iz2my9wgqvv088hnirdyxfa3q14xbh3m-glib-2.72.3/lib/libglib-2.0.so -laa -Wl,--end-group
ld: /gnu/store/s2jbrqa6j96j00q69kdnp4xzijjdd7jf-aalib-1.4rc5/lib/../lib/libaa.a(aarender.o): in function `aa_renderpalette':
(.text+0x708): undefined reference to `pow'
ld: /gnu/store/s2jbrqa6j96j00q69kdnp4xzijjdd7jf-aalib-1.4rc5/lib/../lib/libaa.a(aacurses.o):(.text+0xe8): undefined reference to `curs_set'
ld: /gnu/store/s2jbrqa6j96j00q69kdnp4xzijjdd7jf-aalib-1.4rc5/lib/../lib/libaa.a(aacurses.o):(.text+0x130): undefined reference to `wrefresh'
ld: /gnu/store/s2jbrqa6j96j00q69kdnp4xzijjdd7jf-aalib-1.4rc5/lib/../lib/libaa.a(aacurses.o):(.text+0x18c): undefined reference to `wmove'
ld: /gnu/store/s2jbrqa6j96j00q69kdnp4xzijjdd7jf-aalib-1.4rc5/lib/../lib/libaa.a(aacurses.o):(.text+0x1d4): undefined reference to `waddnstr'
ld: /gnu/store/s2jbrqa6j96j00q69kdnp4xzijjdd7jf-aalib-1.4rc5/lib/../lib/libaa.a(aacurses.o): in function `curses_init':
(.text+0x248): undefined reference to `initscr'
ld: (.text+0x278): undefined reference to `termattrs'
ld: (.text+0x2d0): undefined reference to `intrflush'
ld: (.text+0x344): undefined reference to `wclear'
ld: (.text+0x354): undefined reference to `intrflush'
ld: (.text+0x360): undefined reference to `wrefresh'
ld: (.text+0x3a4): undefined reference to `endwin'
ld: (.text+0x45c): undefined reference to `wclear'
ld: (.text+0x46c): undefined reference to `intrflush'
ld: (.text+0x478): undefined reference to `wrefresh'
ld: (.text+0x504): undefined reference to `endwin'
ld: /gnu/store/s2jbrqa6j96j00q69kdnp4xzijjdd7jf-aalib-1.4rc5/lib/../lib/libaa.a(aacurses.o):(.toc+0x0): undefined reference to `stdscr'
ld: /gnu/store/s2jbrqa6j96j00q69kdnp4xzijjdd7jf-aalib-1.4rc5/lib/../lib/libaa.a(aacurkbd.o):(.text+0x2c): undefined reference to `nodelay'
ld: /gnu/store/s2jbrqa6j96j00q69kdnp4xzijjdd7jf-aalib-1.4rc5/lib/../lib/libaa.a(aacurkbd.o):(.text+0x70): undefined reference to `wgetch'
ld: /gnu/store/s2jbrqa6j96j00q69kdnp4xzijjdd7jf-aalib-1.4rc5/lib/../lib/libaa.a(aacurkbd.o):(.text+0x114): undefined reference to `nodelay'
ld: /gnu/store/s2jbrqa6j96j00q69kdnp4xzijjdd7jf-aalib-1.4rc5/lib/../lib/libaa.a(aacurkbd.o):(.text+0x224): undefined reference to `initscr'
ld: /gnu/store/s2jbrqa6j96j00q69kdnp4xzijjdd7jf-aalib-1.4rc5/lib/../lib/libaa.a(aacurkbd.o):(.text+0x254): undefined reference to `cbreak'
ld: /gnu/store/s2jbrqa6j96j00q69kdnp4xzijjdd7jf-aalib-1.4rc5/lib/../lib/libaa.a(aacurkbd.o):(.text+0x25c): undefined reference to `noecho'
ld: /gnu/store/s2jbrqa6j96j00q69kdnp4xzijjdd7jf-aalib-1.4rc5/lib/../lib/libaa.a(aacurkbd.o):(.text+0x264): undefined reference to `nonl'
ld: /gnu/store/s2jbrqa6j96j00q69kdnp4xzijjdd7jf-aalib-1.4rc5/lib/../lib/libaa.a(aacurkbd.o):(.text+0x27c): undefined reference to `keypad'
ld: /gnu/store/s2jbrqa6j96j00q69kdnp4xzijjdd7jf-aalib-1.4rc5/lib/../lib/libaa.a(aacurkbd.o):(.text+0x330): undefined reference to `keypad'
ld: /gnu/store/s2jbrqa6j96j00q69kdnp4xzijjdd7jf-aalib-1.4rc5/lib/../lib/libaa.a(aacurkbd.o):(.text+0x340): undefined reference to `nodelay'
ld: /gnu/store/s2jbrqa6j96j00q69kdnp4xzijjdd7jf-aalib-1.4rc5/lib/../lib/libaa.a(aacurkbd.o):(.text+0x358): undefined reference to `nocbreak'
ld: /gnu/store/s2jbrqa6j96j00q69kdnp4xzijjdd7jf-aalib-1.4rc5/lib/../lib/libaa.a(aacurkbd.o):(.text+0x360): undefined reference to `echo'
ld: /gnu/store/s2jbrqa6j96j00q69kdnp4xzijjdd7jf-aalib-1.4rc5/lib/../lib/libaa.a(aacurkbd.o):(.text+0x370): undefined reference to `nl'
ld: /gnu/store/s2jbrqa6j96j00q69kdnp4xzijjdd7jf-aalib-1.4rc5/lib/../lib/libaa.a(aacurkbd.o):(.text+0x3a8): undefined reference to `intrflush'
ld: /gnu/store/s2jbrqa6j96j00q69kdnp4xzijjdd7jf-aalib-1.4rc5/lib/../lib/libaa.a(aacurkbd.o):(.text+0x3b4): undefined reference to `wclear'
ld: /gnu/store/s2jbrqa6j96j00q69kdnp4xzijjdd7jf-aalib-1.4rc5/lib/../lib/libaa.a(aacurkbd.o):(.text+0x3c0): undefined reference to `wrefresh'
ld: /gnu/store/s2jbrqa6j96j00q69kdnp4xzijjdd7jf-aalib-1.4rc5/lib/../lib/libaa.a(aacurkbd.o):(.text+0x3dc): undefined reference to `endwin'
ld: /gnu/store/s2jbrqa6j96j00q69kdnp4xzijjdd7jf-aalib-1.4rc5/lib/../lib/libaa.a(aacurkbd.o):(.toc+0x0): undefined reference to `stdscr'
collect2: error: ld returned 1 exit status


It seems fixing this package may be enough to get freecad to build on
powerpc64le. Help welcome!

--
Thanks,
Maxim
M
M
Marcel van der Boom wrote on 29 Aug 2023 16:16
webkitgtk-with-libsoup2 fails to build on powerpc64le, breaking freecad
(address . 57402@debbugs.gnu.org)
87ledux78d.fsf@van-der-boom.nl
The latter is the aalib package which is for ascii art.

See https://issues.guix.gnu.org/57134for my proposed solution.
(that is, just leaving it out)

That is not sufficient however to get freecad to build, the
original error reported above still occurs then.
A
A
Andreas Enge wrote on 13 Sep 2023 11:32
Closing
(address . 57402-done@debbugs.gnu.org)
ZQGByasxTcUv6qqv@jurong
Hopefully really closing the bug this time.

Andreas
Closed
A
A
Andreas Enge wrote on 13 Sep 2023 11:36
Reopening
(address . 57402@debbugs.gnu.org)
ZQGCum2H6-PCoYol@jurong
reopen 57402
thanks

Sorry, this was a mistake.

Andreas
M
M
Marcel van der Boom wrote on 27 Sep 2023 10:55
webkitgtk-with-libsoup2 fails to build on powerpc64le, breaking freecad
(address . 57402@debbugs.gnu.org)(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)
871qeknga1.fsf@van-der-boom.nl
I think this issue was wrongly retitled. While the
webkitgtk-with-libsoup2 *was* also an issue (now fixed) the
configure phase error as originally reported (reproduced below for
clarity) is still there.


CMake Error at
/gnu/store/sigy8gnn715y6219syqh2a2fr70l5vly-qtbase-5.15.10/lib/cmake/Qt5/Qt5Config.cmake:28
(find_
Could not find a package configuration file provided by
"Qt5WebEngineWidgets" with any of the following names:

Qt5WebEngineWidgetsConfig.cmake
qt5webenginewidgets-config.cmake

Add the installation prefix of "Qt5WebEngineWidgets" to
CMAKE_PREFIX_PATH
or set "Qt5WebEngineWidgets_DIR" to a directory containing one
of the above
files. If "Qt5WebEngineWidgets" provides a separate development
package or
SDK, be sure it has been installed.
Call Stack (most recent call first):
cMake/FreeCAD_Helpers/SetupQt.cmake:31 (find_package)
CMakeLists.txt:78 (include)


-- Configuring incomplete, errors occurred!
M
M
Maxim Cournoyer wrote on 2 Oct 2023 05:28
(name . Marcel van der Boom)(address . marcel@van-der-boom.nl)
87fs2t66tj.fsf@gmail.com
reopen 57402
quit

Hi Marcel,

Marcel van der Boom <marcel@van-der-boom.nl> writes:

Toggle quote (26 lines)
> I think this issue was wrongly retitled. While the
> webkitgtk-with-libsoup2 *was* also an issue (now fixed) the configure
> phase error as originally reported (reproduced below for clarity) is
> still there.
>
>
> CMake Error at
> /gnu/store/sigy8gnn715y6219syqh2a2fr70l5vly-qtbase-5.15.10/lib/cmake/Qt5/Qt5Config.cmake:28
> (find_
> Could not find a package configuration file provided by
> "Qt5WebEngineWidgets" with any of the following names:
>
> Qt5WebEngineWidgetsConfig.cmake
> qt5webenginewidgets-config.cmake
>
> Add the installation prefix of "Qt5WebEngineWidgets" to
> CMAKE_PREFIX_PATH
> or set "Qt5WebEngineWidgets_DIR" to a directory containing one of
> the above
> files. If "Qt5WebEngineWidgets" provides a separate development
> package or
> SDK, be sure it has been installed.
> Call Stack (most recent call first):
> cMake/FreeCAD_Helpers/SetupQt.cmake:31 (find_package)
> CMakeLists.txt:78 (include)

I'm not sure how you got so far, as on master it currently fails due to
the following dependencies failing to build [0]:

- netcdf-4.9.0 (due to hdf4-alt-4.2.16-2)
- vtk-9.2.2 (also due to hdf4-alt-4.2.16-2)
- python-wxpython-4.2.0 (webkitgtk-with-libsoup2-2.40.5)
- python-matplotlib-3.5.2 (also webkitgtk-with-libsoup2-2.40.5)


Reopening as webkitgtk-with-libsoup2 is apparently still broken.

I tried fixing hdf4 but I got lost; Nix and Fedora are on 4.2.15 and
using Fedora's patches, which appear to me mostly obsoleted by changes
in 4.2.16; I reported the bug here [0] (that's the place linked on their
website although I also see they accept issues on Github [1]).

But it seems only 2 dependencies break freecad on powerpc64le. Help
welcome!


--
Thanks,
Maxim
?