Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 714592 - kde-apps/cantor-19.12.3 fails to build: missing mkdio.h
Summary: kde-apps/cantor-19.12.3 fails to build: missing mkdio.h
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 1 vote (vote)
Assignee: Gentoo KDE team
Depends on:
Reported: 2020-03-24 22:42 UTC by Israel G. Lugo
Modified: 2020-05-07 01:14 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---

build.log (gzipped) (build.log.gz,30.39 KB, application/gzip)
2020-03-24 22:42 UTC, Israel G. Lugo
emerge --info kde-apps/cantor (emerge-info.txt,8.67 KB, text/plain)
2020-03-24 22:44 UTC, Israel G. Lugo

Note You need to log in before you can comment on or make changes to this bug.
Description Israel G. Lugo 2020-03-24 22:42:35 UTC
Created attachment 625428 [details]
build.log (gzipped)

Doing my regular emerge -vaUuD world, I found a consistent failure in kde-apps/cantor-19.12.3.

Last error lines:
[ 88%] Building CXX object src/CMakeFiles/cantorpart.dir/markdownentry.cpp.o
cd /var/tmp/portage/kde-apps/cantor-19.12.3/work/cantor-19.12.3_build/src && /usr/bin/x86_64-pc-linux-gnu-g++ -DKCOREADDONS_LIB -DKF_DEPRECATED_WARNINGS_SINCE=0x060000 -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_DEPRECATED_WARNINGS_SINCE=0x060000 -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_FROM_BYTEARRAY -DQT_NO_CAST_TO_ASCII -DQT_NO_DEBUG -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_SIGNALS_SLOTS_KEYWORDS -DQT_NO_URL_CAST_FROM_STRING -DQT_PRINTSUPPORT_LIB -DQT_STRICT_ITERATORS -DQT_SVG_LIB -DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS -DQT_USE_QSTRINGBUILDER -DQT_WIDGETS_LIB -DQT_XMLPATTERNS_LIB -DQT_XML_LIB -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -Dcantorpart_EXPORTS -I/var/tmp/portage/kde-apps/cantor-19.12.3/work/cantor-19.12.3_build/src -I/var/tmp/portage/kde-apps/cantor-19.12.3/work/cantor-19.12.3/src -I/var/tmp/portage/kde-apps/cantor-19.12.3/work/cantor-19.12.3_build/src/cantorpart_autogen/include -I/var/tmp/portage/kde-apps/cantor-19.12.3/work/cantor-19.12.3/src/lib -I/var/tmp/portage/kde-apps/cantor-19.12.3/work/cantor-19.12.3_build/src/lib -isystem /var/tmp/portage/kde-apps/cantor-19.12.3/work/cantor-19.12.3_build/thirdparty/src/discount_project -isystem /usr/include/KF5/KParts -isystem /usr/include/KF5 -isystem /usr/include/KF5/KIOWidgets -isystem /usr/include/KF5/KIOCore -isystem /usr/include/KF5/KCoreAddons -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtCore -isystem /usr/lib64/qt5/mkspecs/linux-g++ -isystem /usr/include/KF5/KService -isystem /usr/include/KF5/KConfigCore -isystem /usr/include/qt5/QtNetwork -isystem /usr/include/qt5/QtConcurrent -isystem /usr/include/qt5/QtDBus -isystem /usr/include/KF5/KJobWidgets -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/KF5/KCompletion -isystem /usr/include/KF5/KWidgetsAddons -isystem /usr/include/KF5/KXmlGui -isystem /usr/include/qt5/QtXml -isystem /usr/include/KF5/KConfigWidgets -isystem /usr/include/KF5/KCodecs -isystem /usr/include/KF5/KConfigGui -isystem /usr/include/KF5/KAuth -isystem /usr/include/KF5/KTextWidgets -isystem /usr/include/KF5/SonnetUi -isystem /usr/include/KF5/KI18n -isystem /usr/include/KF5/KNewStuff3 -isystem /usr/include/KF5/KNewStuff3/KNS3 -isystem /usr/include/KF5/KNewStuff3/knscore -isystem /usr/include/KF5/KNewStuff3/kns3 -isystem /usr/include/KF5/KNewStuff3/KNSCore -isystem /usr/include/KF5/Attica -isystem /usr/include/KF5/KTextEditor -isystem /usr/include/qt5/QtXmlPatterns -isystem /usr/include/KF5/KIOFileWidgets -isystem /usr/include/KF5/KBookmarks -isystem /usr/include/KF5/KItemViews -isystem /usr/include/KF5/Solid -isystem /usr/include/qt5/QtPrintSupport -isystem /usr/include/KF5/KIconThemes -isystem /usr/include/KF5/KArchive -isystem /usr/include/qt5/QtSvg -isystem /usr/include/poppler/qt5 -isystem /usr/include/poppler   -DQT_NO_DEBUG -DNDEBUG -O2 -march=native -mmmx -mpopcnt -msse -msse2 -msse3 -msse4.1 -msse4.2 -mssse3 -mavx -maes -mfpmath=sse -pipe -fno-stack-protector -fno-operator-names -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -Wsuggest-override -Wlogical-op -fno-operator-names -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -Wsuggest-override -Wlogical-op -pedantic -Wzero-as-null-pointer-constant -fexceptions -fPIC -fvisibility=hidden -fvisibility-inlines-hidden   -fPIC -std=gnu++11 -o CMakeFiles/cantorpart.dir/markdownentry.cpp.o -c /var/tmp/portage/kde-apps/cantor-19.12.3/work/cantor-19.12.3/src/markdownentry.cpp
/var/tmp/portage/kde-apps/cantor-19.12.3/work/cantor-19.12.3/src/markdownentry.cpp:44:10: fatal error: mkdio.h: No such file or directory
   44 | #include <mkdio.h>
      |          ^~~~~~~~~
compilation terminated.
make[2]: *** [src/CMakeFiles/cantorpart.dir/build.make:192: src/CMakeFiles/cantorpart.dir/markdownentry.cpp.o] Error 1
make[2]: Leaving directory '/var/tmp/portage/kde-apps/cantor-19.12.3/work/cantor-19.12.3_build'
make[1]: *** [CMakeFiles/Makefile2:992: src/CMakeFiles/cantorpart.dir/all] Error 2
make[1]: Leaving directory '/var/tmp/portage/kde-apps/cantor-19.12.3/work/cantor-19.12.3_build'
make: *** [Makefile:130: all] Error 2

The problem seems to be with thirdparty/discount-2.2.6-patched/mkdio.h, which is not being generated.

A thirdparty/discount-2.2.6-patched/ file exists, and thirdparty/discount-2.2.6-patched/ does refer to it:

  GENERATE="Makefile version.c mkdio.h"

  if [ "$PKGCONFIG" ]; then
      GENERATE="$GENERATE libmarkdown.pc"


I guess the configure script is not being called?
Comment 1 Israel G. Lugo 2020-03-24 22:44:42 UTC
Created attachment 625430 [details]
emerge --info kde-apps/cantor
Comment 2 Andreas Sturmlechner gentoo-dev 2020-03-24 22:47:02 UTC
Please test with discount-2.2.4.
Comment 3 Israel G. Lugo 2020-03-24 22:49:19 UTC
Do you mean, install app-text/discount-2.2.4 and then rebuild?

(note right now I do not have app-text/discount installed at all)
Comment 4 Israel G. Lugo 2020-03-28 22:33:56 UTC
I installed =app-text/discount-2.2.4 and was able to merge cantor now.

Note I did not have any version of discount installed before. The cantor build was using an embedded version called "thirdparty/discount-2.2.6-patched".

The embedded version still needs fixing though, or a dependency on app-text/discount needs to be added to the kde-apps/cantor ebuild.
Comment 5 Israel G. Lugo 2020-04-14 01:38:27 UTC
Just had to rebuild kde-apps/cantor-19.12.3, since I've changed from python_single_target_python3_6 to python_single_target_python3_7.

Now I get a different error:

/var/tmp/portage/kde-apps/cantor-19.12.3/work/cantor-19.12.3/src/markdownentry.cpp: In member function ‘bool MarkdownEntry::renderMarkdown(QString&)’:
/var/tmp/portage/kde-apps/cantor-19.12.3/work/cantor-19.12.3/src/markdownentry.cpp:392:25: error: ‘mkd_latextext’ was not declared in this scope; did you mean ‘mkd_text’?
  392 |     int latexDataSize = mkd_latextext(mdHandle, &latexData);
      |                         ^~~~~~~~~~~~~
      |                         mkd_text

I still have app-text/discount-2.2.4 installed, which was the only way I could get this to build, per my previous comment. I have not rebuilt neither discount nor cantor since then.

I've checked that the system mkdio.h, from app-text/discount-2.2.4, does not indeed declare any mkd_latextext. I don't know how this built in the first place.

kde-apps/cantor has an embedded version of discount, which is patched and *does* define mkd_latextext. But that embedded version was not generating its mkdio.h, leading to the error I reported in the original description of this bug. I only installed app-text/discount-2.2.4 as a workaround.

Through all of this, I don't really care about cantor anyway. I just get it because of kdeedu-meta, which I also don't care about but it gets pulled in as a transitive dependency from kde-apps/kde-meta by way of kde-apps/kde-apps-meta, without any chance of disabling it.

I want most of KDE but would be happy to remove kde-apps/kdeedu-meta and get rid of cantor, if only kde-apps/kde-apps-meta had some USE flags.
Comment 6 Israel G. Lugo 2020-04-14 01:54:04 UTC
I've filed bug #717384 separately to ask for USE flags in kde-apps/kde-apps-meta. But if and until then, it would be nice to get cantor building.
Comment 7 Andreas Sturmlechner gentoo-dev 2020-04-14 13:18:40 UTC
For some reason this works just fine for me (and we haven't got any other report so far), with or without markdon-2.2.6 installed.

mkdio.h is however being generated in cantor-19.12.3_build/thirdparty/src/discount_project/mkdio.h
Comment 8 primalucegd 2020-05-07 01:14:00 UTC
Hello, I'd like to report the same issues from merging Cantor. First, without app-text/discount, I get the same
/var/tmp/portage/kde-apps/cantor-19.12.3/work/cantor-19.12.3/src/markdownentry.cpp:44:10: fatal error: mkdio.h: No such file or directory
   44 | #include <mkdio.h>
      |          ^~~~~~~~~
as described in the first message in this report. I then merged app-text/discount as was suggested, and then I got
/var/tmp/portage/kde-apps/cantor-19.12.3/work/cantor-19.12.3/src/markdownentry.cpp: In member function ‘bool MarkdownEntry::renderMarkdown(QString&)’:
/var/tmp/portage/kde-apps/cantor-19.12.3/work/cantor-19.12.3/src/markdownentry.cpp:392:25: error: ‘mkd_latextext’ was not declared in this scope; did you mean ‘mkd_text’?
  392 |     int latexDataSize = mkd_latextext(mdHandle, &latexData);
      |                         ^~~~~~~~~~~~~
      |                         mkd_text
as Israel described in the third to last post. I've included 'emerge --info' as well as the build logs for Cantor with and without Discount in this Gist: