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

PJ build does not contain built-in plugins and crashes when clicking onto "plugin specific options" #575

Closed
patzf opened this issue Dec 26, 2021 · 5 comments
Assignees
Labels

Comments

@patzf
Copy link

patzf commented Dec 26, 2021

Problem description

  1. (Solved) Built-In streaming plugins (UDP, ZMQ) not found (reason still unclear to me, a build on a different machine with same OS shows the two plugins)
  2. When PJ does not find a plugin (and the dropdown list seems therefore not to be populated), a click on the wheel beside the plugin dropdown (called "plugin specific options") crashes the program. Looks like

//EDIT on 28.12.2021:
Found out that when just copying the necessary .DLLs per hand, the plugins are recognised by PJ, only when deploying with windeployqt and the "--release" flag, some of the copied .dlls seem to mess up this mechanism. Since I read about various bugs in winqtdeploy (e.g. https://forum.qt.io/topic/109779/windeployqt-exe-comes-with-qt-5-14-not-copy-the-dlls-to-the-app-directory/5), i guess this is not a PJ problem.
Seems to be a problem when statically linking against libgcc and libstdc++ AND winqtdeploy.exe copying over the incorrect .dlls. Found out that winqtdeploy copied over libstdc++-6.dll from qt5 directory, where it only works with the .dll from mingq64/bin

Although only a minor bug, the crash when not finding any plugins and clicking the settings button could be fixed =)

`void MainWindow::on_buttonStreamingOptions_clicked()

{
auto streamer = _data_streamer.at(ui->comboStreaming->currentText());
`

causes an exception in this case, because there is no element in the List

Steps to reproduce

  • compiled current main branch in debug configuration using cmake under Win10, 64bit
  • use winqtdeploy (or manually) copy dependecies (.dlls to build dir)
  • use gdb to stop on any exception
  • (debug build files are huge, which is why i did not upload my build)
@facontidavide
Copy link
Owner

have you copied all the PlotJuggler plugins (DLL), alongside the executable?

Check the console message, you should see the list of loaded plugins.

Anyway, I should fix this, I don't want this to crash.

@facontidavide facontidavide self-assigned this Dec 29, 2021
@patzf
Copy link
Author

patzf commented Dec 29, 2021

Yes, the plugins are alongside the executable (as they are right after the build). But as I tried to mention above, It is a minor bug, since the plugins are recognised properly when the correct "version" of libstdc++-6.dll is deployed, so it is really ONLY a problem If you do not compile any plugins and still click onto that button, should be rarely the case ;-)

btw: just checked 3.3.4: ZMQ plugin was kicked out in favor of MQTT? is it a replacement or just a new "default" of plugins that are compiled together with the build process of PJ?

@facontidavide
Copy link
Owner

Zmq and mqtt should both be available, if you have the right dependencies include in your system. Let me double check on windows.
Dependencies are supported through vcpkg

@patzf
Copy link
Author

patzf commented Dec 29, 2021

ok, thanks! I will give it a try with vcpkg

@patzf
Copy link
Author

patzf commented Jan 1, 2022

No luck to install the dependencies so far with msys2/mingw64 until now. Even on a clean Win10 machine with fresh setup vcpkg fails to install mosquitto and protobuf - at least with MinGW. Guess I have to try the visualstudio compiler set..

Not sure but it could be related to what you ran into here:
microsoft/vcpkg#21233

How did you resolve that issues?

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

No branches or pull requests

2 participants