Open hwhsu1231 opened 8 months ago
Thank you for reporting the issue. You try to explain when aqtinstall download source packages from https://download.qt.io/online/qtsdkrepository/linux_x64/desktop/ and extract packages successfully, but there are missing files which named "
If packages on web site has the file but extraction failed to extract it, it might be a bug in extraction. You can check log whether extraction are failed. If so, you can try to use p7zip tool alternatively instead of python's 7zip library py7zr.
If packages on web site don't have the files which you are interested. Because aqtinstall is a basically package downloader and extractor and it doesn't produce any files as feature, it assumes no bug. When you need any files for your project that is not in the packages, it is your task to prepare.
When you know a way to produce the files you are interested, and you consider the feature to produce the files, it would be a new feature request, so please tell us with detailed procedure to produce files.
@hwhsu1231 Please confirm that the package https://download.qt.io/online/qtsdkrepository/linux_x64/desktop/qt6_663/qt.qt6.663.gcc_64/6.6.3-0-202403191846qtbase-Linux-RHEL_8_8-GCC-Linux-RHEL_8_8-X86_64.7z , which aqtinstall download and extract when your specified command line, does not have a file named 'qt-module.index`.
You ran aqt install-qt linux desktop 6.6.3 gcc_64 --module all
but this does not install the qdoc index files it is warning about (e.g. QDoc: warning: "qtcreator" Cannot locate index file for dependency "qtcore"
)
You can install the qdoc index files using e.g.:
> aqt install-doc linux 6.6.3 --outputdir /tmp/Qt`
[...]
> find /tmp/Qt/Docs/Qt-6.6.3 -name '*.index'
/tmp/Qt/Docs/Qt-6.6.3/qmake/qmake.index
/tmp/Qt/Docs/Qt-6.6.3/qdoc/qdoc.index
/tmp/Qt/Docs/Qt-6.6.3/qtqmlmodels/qtqmlmodels.index
/tmp/Qt/Docs/Qt-6.6.3/qtprintsupport/qtprintsupport.index
/tmp/Qt/Docs/Qt-6.6.3/qtopengl/qtopengl.index
/tmp/Qt/Docs/Qt-6.6.3/qtquickcontrols/qtquickcontrols.index
/tmp/Qt/Docs/Qt-6.6.3/qtqml/qtqml.index
/tmp/Qt/Docs/Qt-6.6.3/qtcore/qtcore.index
[...]
Then when you run qdoc
to build your docs, pass -indexdir /tmp/Qt/Docs/Qt-6.6.3
Hello, @rectalogic,
Based on your response, the main point is to specify the -indexdir
for qdoc
so it can find the
After reading through the QtCreator source code, I discovered that the code related to -indexdir
and qdoc
includes the following parts:
Following your advice, I also downloaded the binaries and documentation for Qt-6.6.3 using aqt install-qt/install-doc
:
aqt install-qt linux desktop 6.6.3 gcc_64 --module all --outputdir $(pwd)/tmp/Qt
aqt install-doc linux 6.6.3 --outputdir $(pwd)/tmp/Qt
And during the command line configuration, I tried passing -indexdir $(pwd)/tmp/Qt/Docs/Qt-6.6.3
to qdoc by specifying -DQT_INSTALL_DOCS=$(pwd)/tmp/Qt/Docs/Qt-6.6.3
as a cache:
cmake -DCMAKE_BUILD_TYPE=Debug -G Ninja -DWITH_DOCS=ON -DCMAKE_PREFIX_PATH=$(pwd)/tmp/Qt/6.6.3/gcc_64 -DQT_INSTALL_DOCS=$(pwd)/tmp/Qt/Docs/Qt-6.6.3 -B build -S .
cmake --build build --target html_docs
However, it still didn't solve the issue.
Do you have any idea what happened to this?
The cmake script is querying qmake to find QT_INSTALL_DOCS https://github.com/qt-creator/qt-creator/blob/a0bd498b3125f6f633e45a71d431b256c0536a76/cmake/QtCreatorDocumentation.cmake#L21
So simplest fix is to install the index files where it expects them. Run qmake -query QT_INSTALL_DOCS
and install your index files where it expects them
So simplest fix is to install the index files where it expects them. Run
qmake -query QT_INSTALL_DOCS
and install your index files where it expects them
Hello, @rectalogic
After running the qmake -query QT_INSTALL_DOCS
command, I have some new discovers.
To summarize, the reason why using Qt online installer to install Qt-6.6.3 for QtCreator documentation building does not encounter any issues is because:
Its
qt.conf
has modified the location ofQT_INSTALL_DOCS
.
Below are my tests on qmake in Qt installed via installer and aqtinstall:
hwhsu1231@vb-kubuntu:~/Qt/6.6.3/gcc_64/bin$ ./qmake --version
QMake version 3.1
Using Qt version 6.6.3 in /home/hwhsu1231/Qt/6.6.3/gcc_64/lib
hwhsu1231@vb-kubuntu:~/Qt/6.6.3/gcc_64/bin$ ./qmake -query QT_INSTALL_DOCS
/home/hwhsu1231/Qt/Docs/Qt-6.6.3
hwhsu1231@vb-kubuntu:~/Qt/6.6.3/gcc_64/bin$ cat qt.conf
[Paths]
Documentation=../../Docs/Qt-6.6.3
Examples=../../Examples/Qt-6.6.3
Prefix=..
hwhsu1231@vb-kubuntu:~/Qt/6.6.3/gcc_64/bin$
hwhsu1231@vb-kubuntu:~/Repo/testing/qtcreator-12.0.2/tmp/Qt/6.6.3/gcc_64/bin$ ./qmake --version
QMake version 3.1
Using Qt version 6.6.3 in /home/hwhsu1231/Repo/testing/qtcreator-12.0.2/tmp/Qt/6.6.3/gcc_64/lib
hwhsu1231@vb-kubuntu:~/Repo/testing/qtcreator-12.0.2/tmp/Qt/6.6.3/gcc_64/bin$ ./qmake -query QT_INSTALL_DOCS
/home/hwhsu1231/Repo/testing/qtcreator-12.0.2/tmp/Qt/6.6.3/gcc_64/doc
hwhsu1231@vb-kubuntu:~/Repo/testing/qtcreator-12.0.2/tmp/Qt/6.6.3/gcc_64/bin$ cat qt.conf
[Paths]
Prefix=..
hwhsu1231@vb-kubuntu:~/Repo/testing/qtcreator-12.0.2/tmp/Qt/6.6.3/gcc_64/bin$
As we can see:
The location printed by the aqtinstall version's ./qmake -query QT_INSTALL_DOCS
is:
<QT_ROOT_DIR>/6.6.3/gcc_64/doc
The location printed by the installer version's ./qmake -query QT_INSTALL_DOCS
is:
<QT_ROOT_DIR>/Docs/Qt-6.6.3
Therefore, another solution is to modify the qt.conf
file in the Qt-6.6.3 version installed by aqtinstall, by adding the following:
Documentation=../../Docs/Qt-6.6.3
However, although making this modification indeed removes many QDoc Warning messages, some still remain:
hwhsu1231@vb-kubuntu:~/Repo/testing/qtcreator-12.0.2$ cmake --build build --target html_docs
[1/1] Build HTML documentation from qtcreator/qtcreator.qdocconf
QDoc: warning: "qtcreator" Cannot locate index file for dependency "qtquicktimeline"
QDoc: warning: "qtcreator" Cannot locate index file for dependency "qtpositioning"
QDoc: warning: "qtcreator" Cannot locate index file for dependency "qtscxml"
QDoc: warning: "qtcreator" Cannot locate index file for dependency "qtsensors"
QDoc: warning: "qtcreator" Cannot locate index file for dependency "qtvirtualkeyboard"
(qdoc) Could not find the module header in include paths for module "qtcreator" (include paths: QList("-I/usr/include/c++/11", "-I/usr/include/x86_64-linux-gnu/c++/11", "-I/usr/include/c++/11/backward", "-I/usr/lib/gcc/x86_64-linux-gnu/11/include", "-I/usr/local/include", "-I/usr/include/x86_64-linux-gnu", "-I/usr/include") )
Artificial module header built from header dirs in qdocconf file
/home/hwhsu1231/Repo/testing/qtcreator-12.0.2/doc/qtcreator/src/android/deploying-android.qdoc:4: (qdoc) warning: Can't link to 'Qt Positioning'
/home/hwhsu1231/Repo/testing/qtcreator-12.0.2/doc/qtcreator/src/howto/creator-keyboard-shortcuts.qdoc:10: (qdoc) warning: Can't link to 'Resource Files'
/home/hwhsu1231/Repo/testing/qtcreator-12.0.2/doc/qtcreator/src/overview/creator-tech-support.qdoc:10: (qdoc) warning: Can't link to 'Qt Examples and Tutorials'
/home/hwhsu1231/Repo/testing/qtcreator-12.0.2/doc/qtcreator/src/python/creator-tutorial-python-application-qtquick.qdoc:4: (qdoc) warning: Can't link to 'Button'
/home/hwhsu1231/Repo/testing/qtcreator-12.0.2/doc/qtcreator/src/qtquick/creator-only/creator-mobile-app-tutorial.qdoc:4: (qdoc) warning: Can't link to 'Qt Sensors'
/home/hwhsu1231/Repo/testing/qtcreator-12.0.2/doc/qtcreator/src/qtquick/creator-only/creator-mobile-app-tutorial.qdoc:4: (qdoc) warning: Can't link to 'Accelerometer'
/home/hwhsu1231/Repo/testing/qtcreator-12.0.2/doc/qtcreator/src/qtquick/creator-only/qtquick-creating.qdoc:10: (qdoc) warning: Can't link to 'Qt Virtual Keyboard'
/home/hwhsu1231/Repo/testing/qtcreator-12.0.2/doc/qtcreator/src/qtquick/creator-only/qtquick-creating.qdoc:10: (qdoc) warning: Can't link to 'Qt Virtual Keyboard'
/home/hwhsu1231/Repo/testing/qtcreator-12.0.2/doc/qtcreator/src/qtquick/qtquick-from-qmlproject-to-pro.qdoc:4: (qdoc) warning: Can't link to 'Qt Quick Timeline'
hwhsu1231@vb-kubuntu:~/Repo/testing/qtcreator-12.0.2$
Do you have any idea what happened to this?
To summarize, the reason why using Qt online installer to install Qt-6.6.3 for QtCreator documentation building does not encounter any issues is because:
Its
qt.conf
has modified the location ofQT_INSTALL_DOCS
.
Interesting. @miurahr it seems like aqtinstall should handle this too? i.e. install-doc
and install-example
should modify an existing installations qt.conf
to add the paths to where it installed those components?
$ cat ~/Qt/6.6.3/gcc_64/bin/qt.conf
[Paths]
Documentation=../../Docs/Qt-6.6.3
Examples=../../Examples/Qt-6.6.3
Prefix=..
Or maybe inform the user of what they must manually add to that file?
However, although making this modification indeed removes many QDoc Warning messages, some still remain:
It looks like you need to install some additional modules docs:
$ python -m aqt list-doc -m linux 6.6.3
qt3d qt5compat qtactiveqt qtbluetooth qtcharts qtdatavis3d qtgraphs qtgrpc qthttpserver qtimageformats qtlocation qtlottie qtmultimedia qtnetworkauth qtnfc qtpdf qtpositioning qtquick3d qtquick3dphysics qtquickeffectmaker qtquicktimeline qtremoteobjects qtscxml qtsensors qtserialbus qtserialport qtshadertools qtspeech qtvirtualkeyboard qtwebchannel qtwebengine qtwebsockets qtwebview
So use python -m aqt install-doc linux 6.6.3 -m qtquicktimeline qtpositioning qtscxml qtsensors qtvirtualkeyboard
Hello, @rectalogic.
So use
python -m aqt install-doc linux 6.6.3 -m qtquicktimeline qtpositioning qtscxml qtsensors qtvirtualkeyboard
After following your instructions to install those additional modules, and then rebuild the documentation:
aqt install-doc linux 6.6.3 --outputdir $(pwd)/tmp/Qt -m qtquicktimeline qtpositioning qtscxml qtsensors qtvirtualkeyboard
cmake -DCMAKE_BUILD_TYPE=Debug -G Ninja -DWITH_DOCS=ON -DCMAKE_PREFIX_PATH=$(pwd)/tmp/Qt/6.6.3/gcc_64 -B build -S .
cmake --build build --target html_docs
it indeed removed some warnning messages, but still remained some:
hwhsu1231@vb-kubuntu:~/Repo/testing/qtcreator-12.0.2$ cmake --build build --target html_docs
[1/1] Build HTML documentation from qtcreator/qtcreator.qdocconf
(qdoc) Could not find the module header in include paths for module "qtcreator" (include paths: QList("-I/usr/include/c++/11", "-I/usr/include/x86_64-linux-gnu/c++/11", "-I/usr/include/c++/11/backward", "-I/usr/lib/gcc/x86_64-linux-gnu/11/include", "-I/usr/local/include", "-I/usr/include/x86_64-linux-gnu", "-I/usr/include") )
Artificial module header built from header dirs in qdocconf file
/home/hwhsu1231/Repo/testing/qtcreator-12.0.2/doc/qtcreator/src/howto/creator-keyboard-shortcuts.qdoc:10: (qdoc) warning: Can't link to 'Resource Files'
/home/hwhsu1231/Repo/testing/qtcreator-12.0.2/doc/qtcreator/src/overview/creator-tech-support.qdoc:10: (qdoc) warning: Can't link to 'Qt Examples and Tutorials'
/home/hwhsu1231/Repo/testing/qtcreator-12.0.2/doc/qtcreator/src/python/creator-tutorial-python-application-qtquick.qdoc:4: (qdoc) warning: Can't link to 'Button'
hwhsu1231@vb-kubuntu:~/Repo/testing/qtcreator-12.0.2$
Aren't those remaining warnings due to a Qt bug you were warned about in https://bugreports.qt.io/browse/QTCREATORBUG-30570?focusedId=784394&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-784394 ? That comment says fixed in 13.0 but you are still using 12.0.2 https://download.qt.io/official_releases/qtcreator/13.0/13.0.0/qt-creator-opensource-src-13.0.0.tar.xz
To summarize, the reason why using Qt online installer to install Qt-6.6.3 for QtCreator documentation building does not encounter any issues is because:
Its
qt.conf
has modified the location ofQT_INSTALL_DOCS
.Interesting. @miurahr it seems like aqtinstall should handle this too? i.e.
install-doc
andinstall-example
should modify an existing installationsqt.conf
to add the paths to where it installed those components?$ cat ~/Qt/6.6.3/gcc_64/bin/qt.conf [Paths] Documentation=../../Docs/Qt-6.6.3 Examples=../../Examples/Qt-6.6.3 Prefix=..
Interesting.
I don't have a knowledge how to build document with QtCreator, and also don't have an idea what is correct way. If anyone find a way to fix the issue, I would like to include a way to aqtinstall. As usual, Pull-Request is welcome.
Describe the bug
Related to: https://bugreports.qt.io/browse/QTCREATORBUG-30570
Recently, I reported an issue on QtCreator Issue Tracker. After following the instructions of the assignee, I successfully removed most of "QDoc Warning Messages" when build QtCreator Documentation. However, after that, I tried to use Qt installed by aqtinstall to build QtCreator Documentation. But those "QDoc Warning Messages" came back again.
For example:
Click to expand the QDoc Warning Messages
```bash hwhsu1231@vb-kubuntu:~/Repo/testing/qtcreator-12.0.2$ cmake --build build --target html_docs [1/1] Build HTML documentation from qtcreator/qtcreator.qdocconf QDoc: warning: "qtcreator" Cannot locate index file for dependency "qtwidgets" QDoc: warning: "qtcreator" Cannot locate index file for dependency "qtcmake" QDoc: warning: "qtcreator" Cannot locate index file for dependency "qtcore" QDoc: warning: "qtcreator" Cannot locate index file for dependency "qtqml" QDoc: warning: "qtcreator" Cannot locate index file for dependency "qtquick" QDoc: warning: "qtcreator" Cannot locate index file for dependency "qmake" QDoc: warning: "qtcreator" Cannot locate index file for dependency "qtdesigner" QDoc: warning: "qtcreator" Cannot locate index file for dependency "qtdoc" QDoc: warning: "qtcreator" Cannot locate index file for dependency "qtgui" QDoc: warning: "qtcreator" Cannot locate index file for dependency "qthelp" QDoc: warning: "qtcreator" Cannot locate index file for dependency "qtquicktimeline" QDoc: warning: "qtcreator" Cannot locate index file for dependency "qtlinguist" QDoc: warning: "qtcreator" Cannot locate index file for dependency "qtpositioning" QDoc: warning: "qtcreator" Cannot locate index file for dependency "qtscxml" QDoc: warning: "qtcreator" Cannot locate index file for dependency "qtsensors" QDoc: warning: "qtcreator" Cannot locate index file for dependency "qttestlib" QDoc: warning: "qtcreator" Cannot locate index file for dependency "qtuitools" QDoc: warning: "qtcreator" Cannot locate index file for dependency "qtxml" QDoc: warning: "qtcreator" Cannot locate index file for dependency "qtvirtualkeyboard" (qdoc) Could not find the module header in include paths for module "qtcreator" (include paths: QList("-I/usr/include/c++/11", "-I/usr/include/x86_64-linux-gnu/c++/11", "-I/usr/include/c++/11/backward", "-I/usr/lib/gcc/x86_64-linux-gnu/11/include", "-I/usr/local/include", "-I/usr/include/x86_64-linux-gnu", "-I/usr/include") ) Artificial module header built from header dirs in qdocconf file /home/hwhsu1231/Repo/testing/qtcreator-12.0.2/doc/qtcreator/src/android/androiddev.qdoc:4: (qdoc) warning: Can't link to 'Qt for Android' /home/hwhsu1231/Repo/testing/qtcreator-12.0.2/doc/qtcreator/src/android/androiddev.qdoc:4: (qdoc) warning: Can't link to 'Getting Started with Qt for Android' /home/hwhsu1231/Repo/testing/qtcreator-12.0.2/doc/qtcreator/src/android/deploying-android.qdoc:4: (qdoc) warning: Can't link to 'Qt for Android' /home/hwhsu1231/Repo/testing/qtcreator-12.0.2/doc/qtcreator/src/android/deploying-android.qdoc:4: (qdoc) warning: Can't link to 'Qt for Android - Building User Projects' /home/hwhsu1231/Repo/testing/qtcreator-12.0.2/doc/qtcreator/src/android/deploying-android.qdoc:4: (qdoc) warning: Can't link to 'The androiddeployqt Tool' /home/hwhsu1231/Repo/testing/qtcreator-12.0.2/doc/qtcreator/src/android/deploying-android.qdoc:4: (qdoc) warning: Can't link to 'Android Package Templates' /home/hwhsu1231/Repo/testing/qtcreator-12.0.2/doc/qtcreator/src/android/deploying-android.qdoc:4: (qdoc) warning: Can't link to 'androiddeployqt' /home/hwhsu1231/Repo/testing/qtcreator-12.0.2/doc/qtcreator/src/android/deploying-android.qdoc:4: (qdoc) warning: Can't link to 'Qt Android Manifest File Configuration' /home/hwhsu1231/Repo/testing/qtcreator-12.0.2/doc/qtcreator/src/android/deploying-android.qdoc:4: (qdoc) warning: Can't link to 'QtAndroidPrivate::requestPermission()' /home/hwhsu1231/Repo/testing/qtcreator-12.0.2/doc/qtcreator/src/android/deploying-android.qdoc:4: (qdoc) warning: Can't link to 'Qt Core' /home/hwhsu1231/Repo/testing/qtcreator-12.0.2/doc/qtcreator/src/android/deploying-android.qdoc:4: (qdoc) warning: Can't link to 'Qt Positioning' ... ```Steps To Reproduce
Steps to reproduce the behavior:
Install
aqt
using this commandPrepare QtCreator Sources:
Run
aqt
with this command:Build QtCreator Documentation:
Expected behavior
Don't show lots of QDoc Warning Messages.
Desktop (please complete the following information):
aqt
version: v3.1.12Additional context
Below is the full log of "Steps To Reproduce":
log-build-qtcreator-12.0.2-docs-with-qt-6.6.3-aqt.txt