Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

yarpview does not start when installed from robotology-full-installer-2020.02-win64 #354

Closed
3 tasks done
traversaro opened this issue Feb 25, 2020 · 14 comments · Fixed by robotology/robotology-superbuild-dependencies-vcpkg#14

Comments

@traversaro
Copy link
Member

traversaro commented Feb 25, 2020

This could be something related to some old vcpkg dependency, or something else.
To investigate this it could be useful to:

@pattacini
Copy link
Member

On my system, yarpview is working although it's quite difficult to reconstruct the history of how the dependencies have been compiled as I've updated vcpkg without rebuilding the dependencies since quite long.

My suggestion is to rely on Free Windows VM and make use of VS2019 community release in case it is needed.

@pattacini
Copy link
Member

Another possibility is to use Windows Sandbox.

@pattacini
Copy link
Member

Using the sandbox approach I can confirm the problem exists.

@drdanz
Copy link
Member

drdanz commented Mar 4, 2020

Does yarpscope start?
This might be related to qml and/or to the opengl setup

@traversaro
Copy link
Member Author

Does yarpscope start?
This might be related to qml and/or to the opengl setup

I did not tried yarpscope, but I successfully used:

  • yarpmanager
  • yarpmotorgui

@drdanz
Copy link
Member

drdanz commented Mar 4, 2020

Since the iCubGui has the same issue, I'd say it's an opengl problem...

@traversaro
Copy link
Member Author

Since the iCubGui has the same issue, I'd say it's an opengl problem...

Note that the iCub_SIM instead is working correctly.

@traversaro
Copy link
Member Author

As Qt 5.14 is now relocatable (see https://www.qt.io/blog/qt-is-relocatable) it could perhaps make sense to wait for vcpkg to include Qt 5.14 (see microsoft/vcpkg#10009) and then test again.

@traversaro
Copy link
Member Author

I tried with a vcpkg build from vcpkg tag 2020.01, but the problem is present also there. Probably our best hope is the new Qt 5.14 .

@traversaro
Copy link
Member Author

traversaro commented Apr 27, 2020

The behaviour is the same even with the latest qt 5.14 installed from vcpkg. The only two GUIs in YARP affected by this are (as per @drdanz intuition) yarpview and yarpscope.

@traversaro
Copy link
Member Author

I debugged a bit this issue, and it was a bit complex due to the fact that yarpview and yarpscope do not return any kind of error message related to the error that they encounter. However, the problem was in the loading of the qml file in https://github.com/robotology/yarp/blob/4785668ae205f87a62c7777f77517c3b5558402c/src/yarpview/src/main.cpp#L110 . Unfortunately, there seems not to be any way of debugging the loading process of qml files (or at least I was not able to make it work).

To check, I substituted the "qrc:/qml/QtYARPView/main.qml" with a simple hello world qml (see https://doc.qt.io/qt-5/qml-tutorial1.html) and it was working fine. So I added back the original .qml line by line, and I found that the qml file was not loaded correctly if the import QtQuick.Controls 1.1 line was present (https://github.com/robotology/yarp/blob/4785668ae205f87a62c7777f77517c3b5558402c/src/yarpview/src/qml/QtYARPView/main.qml#L20 ). It turns out that in vcpkg we were not installing the qt5-quickcontrols vcpkg port, as we were just installing the qt5-quickcontrols2 port. Installing the missing port fixes the problem. So, brief recap in the following:

Fix for existing installations

For existing installation, installing the missing port of qt5-quickcontrols as:

C:/robotology/vcpkg/vcpkg.exe install --triplet x64-windows qt5-quickcontrol

solves the problem.

Fix for the future

Add qt5-quickcontrol in https://github.com/robotology/robotology-superbuild-dependencies-vcpkg .

@drdanz
Copy link
Member

drdanz commented Apr 29, 2020

@traversaro Sorry if I didn't mention this before, but for the next time the QT_DEBUG_PLUGINS and QML_IMPORT_TRACE (not sure which one of them) usually gives you some useful information about this kind of error...

@traversaro
Copy link
Member Author

@traversaro Sorry if I didn't mention this before, but for the next time the QT_DEBUG_PLUGINS and QML_IMPORT_TRACE (not sure which one of them) usually gives you some useful information about this kind of error...

Actually I enabled them (both in my enviroment and uncommenting https://github.com/robotology/yarp/blob/8bc852eb80d463df96dff71a4be9dc2f7e01bae3/src/yarpview/src/main.cpp#L89), but for some reason they were not working, probably I was doing something wrong myself or the vcpkg build of Qt has some problems with those options.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants