Opened 13 months ago

Closed 10 months ago

Last modified 10 months ago

#68461 closed defect (invalid)

kdelibs4 fails with undefined _inotify* symbols if Macports prefix happens to have inotify.h installed by an unrelated port

Reported by: barracuda156 Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: Cc: cooljeanius (Eric Gallager)
Port: kdelibs4

Description

: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/kjs && /usr/bin/g++-4.2 -DBUILDING_KDE__ -DKDE4_CMAKE_TOPLEVEL_DIR_LENGTH=139 -DKDE_DEPRECATED_WARNINGS -DMAKE_KJS_LIB -DQT_NO_CAST_TO_ASCII -DQT_NO_STL -DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS -D_REENTRANT -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build/kjs -I/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/kjs -I/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 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build -I/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/interfaces -I/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/kdecore -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_kdelibs4/kdelibs4/work/build/kdecore -I/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/kdecore/compression -I/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/kdecore/config -I/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/kdecore/date -I/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/kdecore/io -I/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/kdecore/jobs -I/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/kdecore/kernel -I/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/kdecore/auth -I/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/kdecore/network -I/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/kdecore/services -I/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/kdecore/localization -I/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/kdecore/sycoca -I/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/kdecore/text -I/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/kdecore/util -I/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/kdecore/sonnet -I/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/kjs/wtf -I/opt/local/libexec/qt4/include/QtCrypto -I/opt/local/libexec/qt4/include/QtXmlPatterns -I/opt/local/libexec/qt4/include/QtXml -I/opt/local/libexec/qt4/include/QtWebKit -I/opt/local/libexec/qt4/include/QtUiTools -I/opt/local/libexec/qt4/include/QtTest -I/opt/local/libexec/qt4/include/QtSvg -I/opt/local/libexec/qt4/include/QtSql -I/opt/local/libexec/qt4/include/QtScriptTools -I/opt/local/libexec/qt4/include/QtScript -I/opt/local/libexec/qt4/include/QtOpenGL -I/opt/local/libexec/qt4/include/QtNetwork -I/opt/local/libexec/qt4/include/QtMultimedia -I/opt/local/libexec/qt4/include/QtHelp -I/opt/local/libexec/qt4/include/QtDesigner -I/opt/local/libexec/qt4/include/QtDeclarative -I/opt/local/libexec/qt4/include/QtDBus -I/opt/local/libexec/qt4/lib/QtAssistant.framework/Headers -I/opt/local/libexec/qt4/include/Qt3Support -I/opt/local/libexec/qt4/include/QtGui -I/opt/local/libexec/qt4/include/QtCore -I/opt/local/libexec/qt4/include -I/opt/local/libexec/qt4/share/mkspecs/default -I/opt/local/include -pipe -Os -DNDEBUG -fno-common -Wnon-virtual-dtor -Wno-long-long -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS -fno-check-new -fno-common -Woverloaded-virtual -fvisibility=hidden -Werror=return-type -fvisibility-inlines-hidden -arch ppc -mmacosx-version-min=10.6 -fPIC   -D__APPLE_KDE__  -MD -MT kjs/CMakeFiles/kjs.dir/Parser.o -MF CMakeFiles/kjs.dir/Parser.o.d -o CMakeFiles/kjs.dir/Parser.o -c /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/kjs/Parser.cpp
:info:build Undefined symbols:
:info:build   "_inotify_init", referenced from:
:info:build       KDirWatchPrivate::KDirWatchPrivate()in kdirwatch.o
:info:build   "_inotify_rm_watch", referenced from:
:info:build       KDirWatchPrivate::removeWatch(KDirWatchPrivate::Entry*)in kdirwatch.o
:info:build       KDirWatchPrivate::addEntry(KDirWatch*, QString const&, KDirWatchPrivate::Entry*, bool, QFlags<KDirWatch::WatchMode>)in kdirwatch.o
:info:build   "_inotify_add_watch", referenced from:
:info:build       KDirWatchPrivate::useINotify(KDirWatchPrivate::Entry*)in kdirwatch.o
:info:build       KDirWatchPrivate::addEntry(KDirWatch*, QString const&, KDirWatchPrivate::Entry*, bool, QFlags<KDirWatch::WatchMode>)in kdirwatch.o
:info:build ld: symbol(s) not found
:info:build collect2: ld returned 1 exit status
:info:build make[2]: *** [lib/libkdecore.5.14.3.dylib] Error 1

I thought libinotify is not supported on macOS at all. Any idea why these?

Change History (14)

comment:1 Changed 13 months ago by cooljeanius (Eric Gallager)

Cc: cooljeanius added

comment:2 Changed 13 months ago by cooljeanius (Eric Gallager)

Does trace mode say anything?

comment:3 in reply to:  2 ; Changed 13 months ago by barracuda156

Replying to cooljeanius:

Does trace mode say anything?

I am not sure it even works (either on ppc generally, or on 10.6, or on 10.6 when building for ppc – I remember last time I tried it, it failed).

(And it will take forever to build all needed deps on 10.5 from scratch, even if trace mode works there.)

Last edited 13 months ago by barracuda156 (previous) (diff)

comment:4 Changed 13 months ago by barracuda156

Port: kdelibs4 added

comment:5 Changed 13 months ago by kencu (Ken)

Summary: kdelibs4 fails with undefined _inotify* symbolskdelibs4 fails with undefined _inotify* symbols when building on 10.6 PowerPC using gcc-4.2

comment:6 Changed 13 months ago by kencu (Ken)

Keywords: snowleopard added

comment:7 in reply to:  5 Changed 13 months ago by barracuda156

Replying to kencu:

Could anyone verify if it builds with gcc-4.2 on any OS/arch? If not, we should just blacklist it.

comment:8 Changed 13 months ago by kencu (Ken)

rather than blindly blacklisting without understanding the issue, what you want to do is see where those symbols usually come from (os? build?) and once you know that, then see why they aren’t found when building on 10.6 PowerPC.

comment:9 in reply to:  3 Changed 13 months ago by cooljeanius (Eric Gallager)

Replying to barracuda156:

Replying to cooljeanius:

Does trace mode say anything?

I am not sure it even works (either on ppc generally, or on 10.6, or on 10.6 when building for ppc – I remember last time I tried it, it failed).

(And it will take forever to build all needed deps on 10.5 from scratch, even if trace mode works there.)

I remember trace mode working for me back when I was still on Snow Leopard...

comment:10 Changed 10 months ago by barracuda156

It looks like sys/inotify.h does not exist on macOS (and nothing specific to either PPC or 10.6 of any sort): https://gitlab.freedesktop.org/mesa/mesa/-/issues/8101

However, kdelibs4 configure detects as if it is, setting this:

//Have include sys/inotify.h
SYS_INOTIFY_H_FOUND:INTERNAL=1

Which results in usage of those symbols due to related code in kdecore/io/kdirwatch.cpp.

Apparently, this happens because something installed inotify.h into Macports prefix for me. (Quite possible that this was not from existing ports, but from something I built locally and did not submit since it was not ready yet.)

comment:11 Changed 10 months ago by barracuda156

Keywords: powerpc snowleopard removed
Summary: kdelibs4 fails with undefined _inotify* symbols when building on 10.6 PowerPC using gcc-4.2kdelibs4 fails with undefined _inotify* symbols if Macports prefix happens to have inotify.h installed by an unrelated port

comment:12 in reply to:  6 Changed 10 months ago by barracuda156

Replying to kencu:

This can be closed, I believe. Nothing specific to either ppc or 10.6, and notabug really, but rather a conflict. I suspect, it is something which I installed earlier from Linux ports when tried to get an alternative of GCD, and never submitted it because tests did not pass.

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

Resolution: invalid
Status: newclosed

OK, thanks for checking

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

Replying to barracuda156:

Apparently, this happens because something installed inotify.h into Macports prefix for me. (Quite possible that this was not from existing ports, but from something I built locally and did not submit since it was not ready yet.)

What does port provides on it say?

Note: See TracTickets for help on using tickets.