Opened 4 years ago
Last modified 3 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)
Change History (29)
Changed 4 years ago by DaveStrickland (Dave Strickland)
Attachment: | main.log.gz added |
---|
Changed 4 years ago by DaveStrickland (Dave Strickland)
Attachment: | main-build-jobs-1.log.gz added |
---|
Single CPU build of kdelibs4
comment:1 Changed 4 years ago by mf2k (Frank Schima)
Cc: | NicosPavlov removed |
---|---|
Owner: | set to NicosPavlov |
Status: | new → assigned |
comment:2 Changed 4 years ago by JacquesLB
Cc: | JacquesLB added |
---|
comment:4 Changed 4 years ago by mascguy (Christopher Nielsen)
Cc: | mascguy added |
---|
comment:5 Changed 4 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 follow-up: 15 Changed 4 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 follow-up: 9 Changed 4 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 4 years ago by cooljeanius (Eric Gallager)
Cc: | cooljeanius added |
---|
comment:9 follow-up: 16 Changed 4 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 4 years ago by NicosPavlov
Attachment: | patch-pointers.diff added |
---|
Patch for the pointer error
comment:10 follow-up: 11 Changed 4 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 Changed 4 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 4 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 4 years ago by Nicolas Pavillon <pavillon.nicolas@…>
comment:14 Changed 3 years ago by mascguy (Christopher Nielsen)
Cc: | mascguy removed |
---|
comment:15 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 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 3 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 3 years ago by ShadSterling (Shad Sterling)
comment:19 Changed 3 years ago by StanSanderson
Cc: | StanSanderson added |
---|
comment:20 Changed 3 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 3 years ago by ShadSterling (Shad Sterling)
Cc: | ShadSterling added |
---|
comment:22 Changed 3 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 3 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 3 years 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.
Normal multi-threaded build of kdelibs4