Opened 21 months ago

Last modified 11 months ago

#62105 assigned defect

kdelibs4 @ 4.14.3_15: build failure on Catalina

Reported by: DaveStrickland (Dave Strickland) Owned by: NicosPavlov
Priority: Normal Milestone:
Component: ports Version: 2.6.4
Keywords: catalina Cc: JacquesLB, cooljeanius (Eric Gallager), StanSanderson, ShadSterling (Shad Sterling)
Port: kdelibs4

Description

Upgrading kdelibs4 failed on MacOS 10.15, including after cleaning the port and re-attempting. The normal build log is hard to interpret given the multiple things occurring in parallel, so I also tried with build.jobs=1 (which also failed) and have attached that log as well.

 sudo port clean kdelibs4
Password:
--->  Cleaning kdelibs4
sudo port upgrade kdelibs4 build.jobs=1
--->  Computing dependencies for kdelibs4
--->  Fetching archive for kdelibs4
--->  Attempting to fetch kdelibs4-4.14.3_15.darwin_19.x86_64.tbz2 from https://ywg.ca.packages.macports.org/mirror/macports/packages/kdelibs4
--->  Attempting to fetch kdelibs4-4.14.3_15.darwin_19.x86_64.tbz2 from https://mse.uk.packages.macports.org/kdelibs4
--->  Attempting to fetch kdelibs4-4.14.3_15.darwin_19.x86_64.tbz2 from https://lil.fr.packages.macports.org/kdelibs4
--->  Fetching distfiles for kdelibs4
--->  Verifying checksums for kdelibs4
--->  Extracting kdelibs4
--->  Applying patches to kdelibs4
--->  Configuring kdelibs4
--->  Building kdelibs4
Error: Failed to build kdelibs4: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.

The single threaded log shows the error occurs when generating the tmo.h, tmo.cpp files associated with nepomuk, cannot find parser plugin for encoding trig:

:info:build [ 14%] Built target kdeui
:info:build /Library/Developer/CommandLineTools/usr/bin/make  -f nepomuk/CMakeFiles/nepomuk.dir/build.make nepomuk/CMakeFiles/nepomuk.dir/depend
:info:build make[2]: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build'
:info:build [ 14%] Generating tmo.h, tmo.cpp
:info:build cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build/nepomuk && /opt/local/bin/onto2vocabularyclass --name TMO --encoding trig --namespace Nepomuk::Vocabulary --export-module nepomuk /opt/local/share/ontology/pimo/tmo.trig
:info:build Could not find parser plugin for encoding trig
:info:build make[2]: *** [nepomuk/tmo.h] Error 1
:info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build'
:info:build make[1]: *** [nepomuk/CMakeFiles/nepomuk.dir/all] Error 2
:info:build make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build'
:info:build make: *** [all] Error 2
:info:build make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build'
:info:build Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build" && /usr/bin/make -w all VERBOSE=ON

Attachments (4)

main.log.gz (502.0 KB) - added by DaveStrickland (Dave Strickland) 21 months ago.
Normal multi-threaded build of kdelibs4
main-build-jobs-1.log.gz (91.4 KB) - added by DaveStrickland (Dave Strickland) 21 months ago.
Single CPU build of kdelibs4
patch-pointers.diff (652 bytes) - added by NicosPavlov 19 months ago.
Patch for the pointer error
main.log (7.0 MB) - added by ShadSterling (Shad Sterling) 11 months ago.

Change History (29)

Changed 21 months ago by DaveStrickland (Dave Strickland)

Attachment: main.log.gz added

Normal multi-threaded build of kdelibs4

Changed 21 months ago by DaveStrickland (Dave Strickland)

Attachment: main-build-jobs-1.log.gz added

Single CPU build of kdelibs4

comment:1 Changed 21 months ago by mf2k (Frank Schima)

Cc: NicosPavlov removed
Owner: set to NicosPavlov
Status: newassigned

comment:2 Changed 21 months ago by JacquesLB

Cc: JacquesLB added

comment:3 Changed 21 months ago by JacquesLB

same for me.

JacquesLB

comment:4 Changed 20 months ago by mascguy (Christopher Nielsen)

Cc: mascguy added

comment:5 Changed 20 months ago by mascguy (Christopher Nielsen)

This also failed on the 10.15 buildbot, with the same issue. However, I just tried installing on a 10.15 VM, and it built successfully.

I checked the port for Soprano, which I believe (?) provides the parser plugin. But Soprano's portfile hasn't changed since 8/2020.

Nicolas, any ideas...?

comment:6 Changed 19 months ago by Liontooth (David Liontooth)

Fails while executing "system {*}$notty {*}$nice $fullcmdstring":

:info:build [ 38%] Built target nepomuk-rcgen
:info:build make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build'
:info:build make: *** [all] Error 2
:info:build make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build'
:info:build Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build" && /usr/bin/make -j4 -w all VERBOSE=ON 
:info:build Exit code: 2
:error:build Failed to build kdelibs4: command execution failed
:debug:build Error code: CHILDSTATUS 93277 2
:debug:build Backtrace: command execution failed
:debug:build     while executing
:debug:build "system {*}$notty {*}$nice $fullcmdstring"
:debug:build     invoked from within
:debug:build "command_exec build"
:debug:build     (procedure "portbuild::build_main" line 8)
:debug:build     invoked from within
:debug:build "$procedure $targetname"

comment:7 Changed 19 months ago by cooljeanius (Eric Gallager)

For me the error is:

/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/kdelibs-4.14.3/kdeui/itemviews/kselectionproxymodel.cpp:2147:43: error: ordered comparison between pointer and zero ('void *' and 'int')
    Q_ASSERT(proxyIndex.internalPointer() >= 0);
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~
/opt/local/libexec/qt4/include/QtCore/qglobal.h:1938:32: note: expanded from macro 'Q_ASSERT'
#    define Q_ASSERT(cond) ((!(cond)) ? qt_assert(#cond,__FILE__,__LINE__) : qt_noop())
                               ^~~~

comment:8 Changed 19 months ago by cooljeanius (Eric Gallager)

Cc: cooljeanius added

comment:9 in reply to:  7 ; Changed 19 months ago by NicosPavlov

Replying to cooljeanius:

For me the error is:

/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/kdelibs-4.14.3/kdeui/itemviews/kselectionproxymodel.cpp:2147:43: error: ordered comparison between pointer and zero ('void *' and 'int')
    Q_ASSERT(proxyIndex.internalPointer() >= 0);
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~
/opt/local/libexec/qt4/include/QtCore/qglobal.h:1938:32: note: expanded from macro 'Q_ASSERT'
#    define Q_ASSERT(cond) ((!(cond)) ? qt_assert(#cond,__FILE__,__LINE__) : qt_noop())
                               ^~~~

I think this error is not related and should be easy to fix, as it is because of the compiler not allowing comparison between integers and pointers. The attached patch should fix it, but do you get other errors after that? I did not experience that error, so I am wondering if you will encounter others. Also, if you do, please post the whole log (to try to see why you get these while I don't) and file a new ticket as the issue seems not related.

Changed 19 months ago by NicosPavlov

Attachment: patch-pointers.diff added

Patch for the pointer error

comment:10 Changed 19 months ago by kencu (Ken)

I was going to take a look at this, but I can't get libiodbc to build at present ticket:62571

comment:11 in reply to:  10 Changed 18 months ago by cooljeanius (Eric Gallager)

Replying to kencu:

I was going to take a look at this, but I can't get libiodbc to build at present ticket:62571

It'd be great if kdelibs4 could be configured to use a path-style dependency for libiodbc instead so it could use unixODBC as an alternative; there are other ports that depend strictly upon unixODBC, and since libiodbc and unixODBC conflict, it means one has to choose between KDE ports and those other ports...

comment:12 Changed 18 months ago by DaveStrickland (Dave Strickland)

Thanks for mentioning libiodbc, that seems to be the key. I got soprano and kdelibs4 to compile successfully after getting libiodbc to compile successfully using the workaround in #51921.

Basically I did the following, although there might be a neater way of doing it.

sudo port uninstall libiodbc soprano
# Accepted when it warns that ports will break
sudo port clean libiodbc soprano
sudo port install -t libiodbc
# This command successfully builds and installs libiodbc, then recompiles kdelibs4 and various other kde applications

I'd be interested in hearing why this problem appeared in the first place, and what the trace mode does differently that gets around it, just for future reference.

comment:13 Changed 17 months ago by Nicolas Pavillon <pavillon.nicolas@…>

In da2fc1969369c5574cf7c0931cb4087ab30bd6dc/macports-ports (master):

kdelibs4: fix compilation issue (see #62105)

comment:14 Changed 17 months ago by mascguy (Christopher Nielsen)

Cc: mascguy removed

comment:15 in reply to:  6 Changed 14 months ago by FrauTuran

Replying to Liontooth:

Fails while executing "system {*}$notty {*}$nice $fullcmdstring":

:info:build [ 38%] Built target nepomuk-rcgen
:info:build make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build'
:info:build make: *** [all] Error 2
:info:build make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build'
:info:build Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build" && /usr/bin/make -j4 -w all VERBOSE=ON 
:info:build Exit code: 2
:error:build Failed to build kdelibs4: command execution failed
:debug:build Error code: CHILDSTATUS 93277 2
:debug:build Backtrace: command execution failed
:debug:build     while executing
:debug:build "system {*}$notty {*}$nice $fullcmdstring"
:debug:build     invoked from within
:debug:build "command_exec build"
:debug:build     (procedure "portbuild::build_main" line 8)
:debug:build     invoked from within
:debug:build "$procedure $targetname"

I also have this problem. It is blocking the installation of Umbrello for me. do anyone have an update regarding a fix?

comment:16 in reply to:  9 Changed 13 months ago by FrauTuran

Replying to NicosPavlov:

Replying to cooljeanius:

For me the error is:

/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/kdelibs-4.14.3/kdeui/itemviews/kselectionproxymodel.cpp:2147:43: error: ordered comparison between pointer and zero ('void *' and 'int')
    Q_ASSERT(proxyIndex.internalPointer() >= 0);
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~
/opt/local/libexec/qt4/include/QtCore/qglobal.h:1938:32: note: expanded from macro 'Q_ASSERT'
#    define Q_ASSERT(cond) ((!(cond)) ? qt_assert(#cond,__FILE__,__LINE__) : qt_noop())
                               ^~~~

I think this error is not related and should be easy to fix, as it is because of the compiler not allowing comparison between integers and pointers. The attached patch should fix it, but do you get other errors after that? I did not experience that error, so I am wondering if you will encounter others. Also, if you do, please post the whole log (to try to see why you get these while I don't) and file a new ticket as the issue seems not related.

do you have any solution to the main error?

comment:17 Changed 13 months ago by NicosPavlov

The issue of FrauTuran appears to be related to an issue with Big Sur. See ticket #63411.

comment:18 Changed 11 months ago by ShadSterling (Shad Sterling)

I'm having what looks like the same problem now, also on Big Sur, tho I think my previous installation is not as old as this ticket.

:info:build [ 14%] Generating tmo.h, tmo.cpp
:info:build cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build/nepomuk && /opt/local/bin/onto2vocabularyclass --name TMO --encoding trig --namespace Nepomuk::Vocabulary --export-module nepomuk /opt/local/share/ontology/pimo/tmo.trig
:info:build Could not find parser plugin for encoding trig
:info:build make[2]: *** [nepomuk/tmo.h] Error 1

Built with -t and build.jobs=1 as suggested in earlier comments

Looks like a missing dependency, like onto2vocabularyclass is missing a variant or module or something

Changed 11 months ago by ShadSterling (Shad Sterling)

Attachment: main.log added

comment:19 Changed 11 months ago by StanSanderson

Cc: StanSanderson added

comment:20 Changed 11 months ago by StanSanderson

I'm also experiencing a build failure when trying to upgrade from 4.14.3_16 to 4.14.3_17.

comment:21 Changed 11 months ago by ShadSterling (Shad Sterling)

Cc: ShadSterling added

comment:22 Changed 11 months ago by ShadSterling (Shad Sterling)

Forum posts suggest the same problem comes up on Linux and BSD, where it can be fixed by rebuilding raptor2, which was updated by the same port upgrade outdated that first failed to update kdelibs4. I guess raptor2 changed something that soprano uses for onto2vocabularyclass --encoding trig?

Gentoo forum post kdelibs-4.8.1-r2 won't emerge due to soprano ?; FreeBSD forum post Cannot build sysutils/nepomuk-core - Could not find parser plugin for encoding trig; Fedora Wiki page Architectures/ARM/Fedora15 HardFP Bootstrap package status

comment:23 Changed 11 months ago by NicosPavlov

Indeed the bots are now failing too, and I could confirm the issue when starting from a clean build (it was working with the sets of ports I had before that). It seems that soprano/raptor2 may be the culprit, but it must be slightly more subtle than a change, as both ports were not changed since mid-2019.

comment:24 Changed 11 months ago by NicosPavlov

It is an issue in soprano, between case-sensitive and case-insensitive systems (see for example #52443).

One workaround at this point is to ensure that soprano is built locally:

sudo port -f uninstall soprano
sudo port -s install soprano  

and then proceed with the installation of kdelibs4.

Last edited 11 months ago by ryandesign (Ryan Schmidt) (previous) (diff)

comment:25 Changed 11 months ago by NicosPavlov <pavillon.nicolas@…>

In f0bdbbd6f6dd5b7898a94bbf98568e05c9f05510/macports-ports (master):

soprano: deactivate pre-built binaries as case-sensitive installation issues can occur (see #62105)

Note: See TracTickets for help on using tickets.