Opened 5 months ago

Last modified 6 weeks 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)
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 (3)

main.log.gz (502.0 KB) - added by DaveStrickland (Dave Strickland) 5 months ago.
Normal multi-threaded build of kdelibs4
main-build-jobs-1.log.gz (91.4 KB) - added by DaveStrickland (Dave Strickland) 5 months ago.
Single CPU build of kdelibs4
patch-pointers.diff (652 bytes) - added by NicosPavlov 3 months ago.
Patch for the pointer error

Download all attachments as: .zip

Change History (17)

Changed 5 months ago by DaveStrickland (Dave Strickland)

Attachment: main.log.gz added

Normal multi-threaded build of kdelibs4

Changed 5 months ago by DaveStrickland (Dave Strickland)

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

Single CPU build of kdelibs4

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

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

comment:2 Changed 5 months ago by JacquesLB

Cc: JacquesLB added

comment:3 Changed 5 months ago by JacquesLB

same for me.

JacquesLB

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

Cc: mascguy added

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

Cc: cooljeanius added

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

Attachment: patch-pointers.diff added

Patch for the pointer error

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

In da2fc1969369c5574cf7c0931cb4087ab30bd6dc/macports-ports (master):

kdelibs4: fix compilation issue (see #62105)

comment:14 Changed 6 weeks ago by mascguy (Christopher Nielsen)

Cc: mascguy removed
Note: See TracTickets for help on using tickets.