Opened 3 years ago

Last modified 2 years 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) 3 years ago.
Normal multi-threaded build of kdelibs4
main-build-jobs-1.log.gz (91.4 KB) - added by DaveStrickland (Dave Strickland) 3 years ago.
Single CPU build of kdelibs4
patch-pointers.diff (652 bytes) - added by NicosPavlov 3 years ago.
Patch for the pointer error
main.log (7.0 MB) - added by ShadSterling (Shad Sterling) 2 years ago.

Change History (29)

Changed 3 years ago by DaveStrickland (Dave Strickland)

Attachment: main.log.gz added

Normal multi-threaded build of kdelibs4

Changed 3 years ago by DaveStrickland (Dave Strickland)

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

Single CPU build of kdelibs4

comment:1 Changed 3 years ago by mf2k (Frank Schima)

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

comment:2 Changed 3 years ago by JacquesLB

Cc: JacquesLB added

comment:3 Changed 3 years ago by JacquesLB

same for me.

JacquesLB

comment:4 Changed 3 years ago by mascguy (Christopher Nielsen)

Cc: mascguy added

comment:5 Changed 3 years 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 3 years 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 3 years 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 3 years ago by cooljeanius (Eric Gallager)

Cc: cooljeanius added

comment:9 in reply to:  7 ; Changed 3 years 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 3 years ago by NicosPavlov

Attachment: patch-pointers.diff added

Patch for the pointer error

comment:10 Changed 3 years 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 3 years 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 3 years 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 3 years ago by Nicolas Pavillon <pavillon.nicolas@…>

In da2fc1969369c5574cf7c0931cb4087ab30bd6dc/macports-ports (master):

kdelibs4: fix compilation issue (see #62105)

comment:14 Changed 3 years ago by mascguy (Christopher Nielsen)

Cc: mascguy removed

comment:15 in reply to:  6 Changed 3 years 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 3 years 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 3 years ago by NicosPavlov

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

comment:18 Changed 2 years 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 2 years ago by ShadSterling (Shad Sterling)

Attachment: main.log added

comment:19 Changed 2 years ago by StanSanderson

Cc: StanSanderson added

comment:20 Changed 2 years 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 2 years ago by ShadSterling (Shad Sterling)

Cc: ShadSterling added

comment:22 Changed 2 years 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 2 years 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 2 years ago by NicosPavlov

It is an issue in soprano, between case-sensitive and case-insensitive systems (see for example https://trac.macports.org/ticket/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.

Version 0, edited 2 years ago by NicosPavlov (next)

comment:25 Changed 2 years 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.