pothosware / PothosPlotters

Plotter widgets for visualization in Pothos GUI
https://github.com/pothosware/PothosPlotters/wiki
Boost Software License 1.0
11 stars 12 forks source link

OS X 10.11.2 / homebrew: Adding any plotter block causes PothosGui to segfault or fail assertion #8

Closed EvanKrall closed 8 years ago

EvanKrall commented 8 years ago

Any time I try to add any of the plotters (constellation, logic, periodogram, spectrogram, wave monitor) to my flow graph, PothosGui either segfaults or fails an assertion.

Here's the output from me running PothosGui and double-clicking on Spectrogram with an empty flowgraph:

juroujin:~ meatmanek$ PothosGui
2015-12-22 21:41:17 PothosGui.MainWindow: Welcome to Pothos v0.3.0-unknown
2015-12-22 21:41:18 PothosGui.MainWindow: Initialization complete
Segmentation fault: 11
juroujin:~ meatmanek$

Traceback from the crash report dialog: https://gist.github.com/EvanKrall/9316862740a977008937

If I add another block to the graph first, however, I get an assertion failure. This is the output of me adding a noise source and then a spectrogram plotter:

juroujin:~ meatmanek$ PothosGui
2015-12-22 21:46:43 PothosGui.MainWindow: Welcome to Pothos v0.3.0-unknown
2015-12-22 21:46:43 PothosGui.MainWindow: Initialization complete
2015-12-22 21:46:43.369 PothosGui[48816:1944608] inOptions: {
    "is.flipped" = 1;
    kCUIOrientationKey = kCUIOrientVertical;
    kCUIPartMaskKey = 255;
    kCUIThumbProportionKey = "0.84185303514377";
    noindicator = 1;
    pressedpart = 4;
    state = pressed;
    value = "0.494949494949495";
    widget = scrollbar;
}
2015-12-22 21:46:43.369 PothosGui[48816:1944608] inOptions: {
    "is.flipped" = 1;
    kCUIOrientationKey = kCUIOrientVertical;
    kCUIPartMaskKey = 255;
    kCUIThumbProportionKey = "0.84185303514377";
    noindicator = 1;
    pressedpart = 4;
    state = pressed;
    value = "0.494949494949495";
    widget = scrollbar;
}
2015-12-22 21:46:43.371 PothosGui[48816:1944608] outHitPart = -1
2015-12-22 21:46:43.372 PothosGui[48816:1944608] inOptions: {
    "is.flipped" = 1;
    kCUIOrientationKey = kCUIOrientVertical;
    kCUIPartMaskKey = 768;
    kCUIThumbProportionKey = "0.487962962962963";
    state = normal;
    value = 0;
    widget = scrollbar;
}
2015-12-22 21:46:43.372 PothosGui[48816:1944608] inOptions: {
    "is.flipped" = 1;
    kCUIOrientationKey = kCUIOrientVertical;
    kCUIPartMaskKey = 768;
    kCUIThumbProportionKey = "0.487962962962963";
    state = normal;
    value = 0;
    widget = scrollbar;
}
2015-12-22 21:46:43.373 PothosGui[48816:1944608] outHitPart = 6
2015-12-22 21:46:43.771 PothosGui[48816:1944608] inOptions: {
    "is.flipped" = 1;
    kCUIOrientationKey = kCUIOrientVertical;
    kCUIPartMaskKey = 255;
    kCUIThumbProportionKey = "0.84185303514377";
    noindicator = 1;
    pressedpart = 4;
    state = pressed;
    value = "0.494949494949495";
    widget = scrollbar;
}
2015-12-22 21:46:43.771 PothosGui[48816:1944608] inOptions: {
    "is.flipped" = 1;
    kCUIOrientationKey = kCUIOrientVertical;
    kCUIPartMaskKey = 255;
    kCUIThumbProportionKey = "0.84185303514377";
    noindicator = 1;
    pressedpart = 4;
    state = pressed;
    value = "0.494949494949495";
    widget = scrollbar;
}
2015-12-22 21:46:43.771 PothosGui[48816:1944608] outHitPart = -1
2015-12-22 21:46:43.771 PothosGui[48816:1944608] inOptions: {
    "is.flipped" = 1;
    kCUIOrientationKey = kCUIOrientVertical;
    kCUIPartMaskKey = 768;
    kCUIThumbProportionKey = "0.487962962962963";
    state = normal;
    value = 0;
    widget = scrollbar;
}
2015-12-22 21:46:43.771 PothosGui[48816:1944608] inOptions: {
    "is.flipped" = 1;
    kCUIOrientationKey = kCUIOrientVertical;
    kCUIPartMaskKey = 768;
    kCUIThumbProportionKey = "0.487962962962963";
    state = normal;
    value = 0;
    widget = scrollbar;
}
2015-12-22 21:46:43.771 PothosGui[48816:1944608] outHitPart = 6
2015-12-22 21:46:44.063 PothosGui[48816:1944608] inOptions: {
    "is.flipped" = 1;
    kCUIOrientationKey = kCUIOrientVertical;
    kCUIPartMaskKey = 255;
    kCUIThumbProportionKey = "0.84185303514377";
    noindicator = 1;
    pressedpart = 4;
    state = pressed;
    value = "0.494949494949495";
    widget = scrollbar;
}
2015-12-22 21:46:44.063 PothosGui[48816:1944608] inOptions: {
    "is.flipped" = 1;
    kCUIOrientationKey = kCUIOrientVertical;
    kCUIPartMaskKey = 255;
    kCUIThumbProportionKey = "0.84185303514377";
    noindicator = 1;
    pressedpart = 4;
    state = pressed;
    value = "0.494949494949495";
    widget = scrollbar;
}
2015-12-22 21:46:44.063 PothosGui[48816:1944608] outHitPart = -1
2015-12-22 21:46:44.064 PothosGui[48816:1944608] inOptions: {
    "is.flipped" = 1;
    kCUIOrientationKey = kCUIOrientVertical;
    kCUIPartMaskKey = 768;
    kCUIThumbProportionKey = "0.487962962962963";
    state = normal;
    value = 0;
    widget = scrollbar;
}
2015-12-22 21:46:44.064 PothosGui[48816:1944608] inOptions: {
    "is.flipped" = 1;
    kCUIOrientationKey = kCUIOrientVertical;
    kCUIPartMaskKey = 768;
    kCUIThumbProportionKey = "0.487962962962963";
    state = normal;
    value = 0;
    widget = scrollbar;
}
2015-12-22 21:46:44.064 PothosGui[48816:1944608] outHitPart = 6
2015-12-22 21:46:44.079 PothosGui[48816:1944608] inOptions: {
    "is.flipped" = 1;
    kCUIOrientationKey = kCUIOrientVertical;
    kCUIPartMaskKey = 255;
    kCUIThumbProportionKey = "0.84185303514377";
    noindicator = 1;
    pressedpart = 4;
    state = pressed;
    value = "0.494949494949495";
    widget = scrollbar;
}
2015-12-22 21:46:44.079 PothosGui[48816:1944608] inOptions: {
    "is.flipped" = 1;
    kCUIOrientationKey = kCUIOrientVertical;
    kCUIPartMaskKey = 255;
    kCUIThumbProportionKey = "0.84185303514377";
    noindicator = 1;
    pressedpart = 4;
    state = pressed;
    value = "0.494949494949495";
    widget = scrollbar;
}
2015-12-22 21:46:44.079 PothosGui[48816:1944608] outHitPart = -1
2015-12-22 21:46:44.079 PothosGui[48816:1944608] inOptions: {
    "is.flipped" = 1;
    kCUIOrientationKey = kCUIOrientVertical;
    kCUIPartMaskKey = 768;
    kCUIThumbProportionKey = "0.487962962962963";
    state = normal;
    value = 0;
    widget = scrollbar;
}
2015-12-22 21:46:44.079 PothosGui[48816:1944608] inOptions: {
    "is.flipped" = 1;
    kCUIOrientationKey = kCUIOrientVertical;
    kCUIPartMaskKey = 768;
    kCUIThumbProportionKey = "0.487962962962963";
    state = normal;
    value = 0;
    widget = scrollbar;
}
2015-12-22 21:46:44.080 PothosGui[48816:1944608] outHitPart = -1
Assertion failed: (handle), function call, file /usr/local/include/Pothos/Proxy/ProxyImpl.hpp, line 70.
Abort trap: 6
juroujin:~ meatmanek$

Crash traceback from the report a problem dialog: https://gist.github.com/EvanKrall/f05a47cf49f141e9f7db

I've used homebrew to install Pothos. Some information:

juroujin:~ meatmanek$ brew list | grep pothos
pothos
pothosaudio
pothosblocks
pothoscomms
pothosgui
pothosplotters
pothospython
pothossdr
pothosserialization
pothoswidgets
juroujin:~ meatmanek$ brew info pothoswidgets
pothosware/pothos/pothoswidgets: stable 0.3.0, HEAD
Pothos graphical control widgets
https://github.com/pothosware/pothos-widgets/wiki
/usr/local/Cellar/pothoswidgets/0.3.0 (3 files, 12K) *
  Built from source
From: https://github.com/pothosware/homebrew-pothos/blob/master/pothoswidgets.rb
==> Dependencies
Build: cmake ✔
Required: pothos ✔, pothosserialization ✔, qt5 ✔
juroujin:~ meatmanek$ brew info pothosplotters
pothosware/pothos/pothosplotters: stable 0.1.0, HEAD
Pothos graphical plotter widgets
https://github.com/pothosware/pothos-plotters/wiki
/usr/local/Cellar/pothosplotters/0.1.0 (5 files, 1.3M) *
  Built from source
From: https://github.com/pothosware/homebrew-pothos/blob/master/pothosplotters.rb
==> Dependencies
Build: cmake ✔
Required: pothos ✔, spuce ✔, qt5 ✔
Optional: qwtqt5 ✘
==> Options
--with-qwtqt5
    Build with qwtqt5 support
--HEAD
    Install HEAD version
juroujin:~ meatmanek$ brew info pothos
pothosware/pothos/pothos: stable 0.3.0, HEAD
Pothos data-flow software suite
https://github.com/pothosware/pothos/wiki
/usr/local/Cellar/pothos/0.3.0 (101 files, 19M) *
  Built from source
From: https://github.com/pothosware/homebrew-pothos/blob/master/pothos.rb
==> Dependencies
Build: cmake ✔
Required: poco ✔, muparserx ✔, pothosserialization ✔, spuce ✔
juroujin:~ meatmanek$
guruofquality commented 8 years ago

I actually saw this recently on my build VM, and the strange thing is that it used to not do that... And since it only happens with the plotters and not the qt5 widgets, so I think it might be qwt related. I wonder if its indirectly related to a Qt5 update.

The plotters toolkit can build against an installed qwt, but if not available will use its own internal copy. I wonder if you will have better luck building with with-qwtqt5 brew install pothosplotters --with-qwtqt5

In any case, thanks for the traceback. Since I can replicate this, and its not just my build VM. I will take a closer look.

EvanKrall commented 8 years ago

Hm, having trouble building with --with-qwtqt5:

juroujin:~ meatmanek$ brew reinstall pothosplotters --with-qwtqt5
==> Reinstalling pothosware/pothos/pothosplotters with --with-qwtqt5
==> Installing dependencies for pothosware/pothos/pothosplotters: qwtqt5
==> Installing pothosware/pothos/pothosplotters dependency: qwtqt5
==> Downloading https://downloads.sourceforge.net/project/qwt/qwt/6.1.2/qwt-6.1.2.tar.bz2
==> Downloading from http://skylineservers.dl.sourceforge.net/project/qwt/qwt/6.1.2/qwt-6.1.2.tar.bz2
######################################################################## 100.0%
==> Patching
patching file designer/designer.pro
Hunk #1 succeeded at 115 (offset -11 lines).
==> qmake -config release -spec macx-clang
==> make
==> make install
Warning: pothosware/pothos/qwtqt5 dependency qt5 was built with a different C++ standard
library (libc++ from clang). This may cause problems at runtime.
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink lib/qwt.framework/Headers
Target /usr/local/lib/qwt.framework/Headers
is a symlink belonging to qwt. You can unlink it:
  brew unlink qwt

To force the link and overwrite all conflicting files:
  brew link --overwrite qwtqt5

To list all files that would be deleted:
  brew link --overwrite --dry-run qwtqt5

Possible conflicting files are:
/usr/local/lib/qwt.framework/Headers -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Headers
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_abstract_legend.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_abstract_legend.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_abstract_scale.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_abstract_scale.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_abstract_scale_draw.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_abstract_scale_draw.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_abstract_slider.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_abstract_slider.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_analog_clock.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_analog_clock.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_arrow_button.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_arrow_button.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_clipper.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_clipper.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_color_map.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_color_map.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_column_symbol.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_column_symbol.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_compass.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_compass.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_compass_rose.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_compass_rose.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_compat.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_compat.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_counter.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_counter.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_curve_fitter.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_curve_fitter.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_date.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_date.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_date_scale_draw.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_date_scale_draw.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_date_scale_engine.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_date_scale_engine.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_dial.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_dial.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_dial_needle.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_dial_needle.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_dyngrid_layout.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_dyngrid_layout.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_event_pattern.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_event_pattern.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_global.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_global.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_graphic.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_graphic.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_interval.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_interval.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_interval_symbol.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_interval_symbol.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_knob.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_knob.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_legend.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_legend.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_legend_data.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_legend_data.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_legend_label.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_legend_label.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_magnifier.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_magnifier.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_math.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_math.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_matrix_raster_data.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_matrix_raster_data.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_null_paintdevice.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_null_paintdevice.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_painter.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_painter.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_painter_command.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_painter_command.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_panner.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_panner.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_picker.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_picker.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_picker_machine.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_picker_machine.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_pixel_matrix.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_pixel_matrix.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_plot.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_plot.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_plot_abstract_barchart.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_plot_abstract_barchart.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_plot_barchart.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_plot_barchart.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_plot_canvas.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_plot_canvas.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_plot_curve.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_plot_curve.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_plot_dict.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_plot_dict.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_plot_directpainter.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_plot_directpainter.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_plot_glcanvas.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_plot_glcanvas.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_plot_grid.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_plot_grid.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_plot_histogram.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_plot_histogram.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_plot_intervalcurve.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_plot_intervalcurve.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_plot_item.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_plot_item.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_plot_layout.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_plot_layout.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_plot_legenditem.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_plot_legenditem.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_plot_magnifier.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_plot_magnifier.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_plot_marker.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_plot_marker.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_plot_multi_barchart.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_plot_multi_barchart.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_plot_panner.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_plot_panner.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_plot_picker.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_plot_picker.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_plot_rasteritem.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_plot_rasteritem.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_plot_renderer.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_plot_renderer.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_plot_rescaler.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_plot_rescaler.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_plot_scaleitem.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_plot_scaleitem.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_plot_seriesitem.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_plot_seriesitem.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_plot_shapeitem.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_plot_shapeitem.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_plot_spectrocurve.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_plot_spectrocurve.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_plot_spectrogram.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_plot_spectrogram.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_plot_svgitem.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_plot_svgitem.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_plot_textlabel.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_plot_textlabel.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_plot_tradingcurve.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_plot_tradingcurve.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_plot_zoneitem.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_plot_zoneitem.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_plot_zoomer.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_plot_zoomer.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_point_3d.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_point_3d.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_point_data.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_point_data.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_point_mapper.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_point_mapper.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_point_polar.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_point_polar.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_raster_data.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_raster_data.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_round_scale_draw.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_round_scale_draw.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_samples.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_samples.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_sampling_thread.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_sampling_thread.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_scale_div.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_scale_div.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_scale_draw.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_scale_draw.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_scale_engine.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_scale_engine.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_scale_map.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_scale_map.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_scale_widget.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_scale_widget.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_series_data.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_series_data.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_series_store.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_series_store.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_slider.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_slider.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_spline.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_spline.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_symbol.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_symbol.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_system_clock.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_system_clock.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_text.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_text.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_text_engine.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_text_engine.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_text_label.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_text_label.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_thermo.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_thermo.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_transform.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_transform.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_wheel.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_wheel.h
/usr/local/lib/qwt.framework/Versions/6/Headers/qwt_widget_overlay.h -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/Headers/qwt_widget_overlay.h
/usr/local/lib/qwt.framework/Versions/6/qwt -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/6/qwt
/usr/local/lib/qwt.framework/Versions/Current -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/Versions/Current
/usr/local/lib/qwt.framework/qwt -> /usr/local/Cellar/qwt/6.1.2/lib/qwt.framework/qwt
==> Summary
🍺  /usr/local/Cellar/qwtqt5/6.1.2: 1521 files, 22M, built in 1 minute
==> Installing pothosware/pothos/pothosplotters
==> Downloading https://github.com/pothosware/pothos-plotters/archive/pothos-plotters-0.1.0.tar.gz
Already downloaded: /Library/Caches/Homebrew/pothosplotters-0.1.0.tar.gz
==> cmake .. -DCMAKE_C_FLAGS_RELEASE= -DCMAKE_CXX_FLAGS_RELEASE= -DCMAKE_INSTALL_PREFIX=/usr/local/Ce
Last 15 lines from /Users/meatmanek/Library/Logs/Homebrew/pothosplotters/01.cmake:
-- Poco_LIBRARIES: Poco::Foundation;Poco::Util;Poco::JSON;Poco::XML;Poco::Net
-- PothosSerialization_VERSION: 0.2.0
-- PothosSerialization_INCLUDE_DIRS: /usr/local/include
-- PothosSerialization_LIBRARIES: /usr/local/lib/libPothosSerialization.dylib
-- Spuce_VERSION: 0.4.3
-- Spuce_INCLUDE_DIRS: /usr/local/include
-- Spuce_LIBRARIES: /usr/local/lib/libspuce.a
-- Could NOT find Qwt (missing:  QWT_INCLUDE_DIR)
-- Qwt not found - using built-in Qwt
CMake Error at CMakeLists.txt:96 (message):
  Qwt submodule not configured (git submodule init && git submodule update)

-- Configuring incomplete, errors occurred!
See also "/tmp/pothosplotters20151222-53474-5qrrca/pothos-plotters-pothos-plotters-0.1.0/build/CMakeFiles/CMakeOutput.log".

READ THIS: https://git.io/brew-troubleshooting
If reporting this issue please do so at (not Homebrew/homebrew):
  https://github.com/pothosware/pothos/issues

juroujin:~ meatmanek$

I tried unlinking qwt and linking qwtqt5 to fix the qwtqt5 warnings, but I still get the same issue building pothosplotters:

juroujin:~ meatmanek$ brew unlink qwt
Unlinking /usr/local/Cellar/qwt/6.1.2... 108 symlinks removed
juroujin:~ meatmanek$ brew link qwtqt5
Linking /usr/local/Cellar/qwtqt5/6.1.2... 1 symlinks created
juroujin:~ meatmanek$ brew reinstall pothosplotters --with-qwtqt5
==> Reinstalling pothosware/pothos/pothosplotters with --with-qwtqt5
==> Downloading https://github.com/pothosware/pothos-plotters/archive/pothos-plotters-0.1.0.tar.gz
Already downloaded: /Library/Caches/Homebrew/pothosplotters-0.1.0.tar.gz
==> cmake .. -DCMAKE_C_FLAGS_RELEASE= -DCMAKE_CXX_FLAGS_RELEASE= -DCMAKE_INSTALL_PREFIX=/usr/local/Ce
Last 15 lines from /Users/meatmanek/Library/Logs/Homebrew/pothosplotters/01.cmake:
-- Poco_LIBRARIES: Poco::Foundation;Poco::Util;Poco::JSON;Poco::XML;Poco::Net
-- PothosSerialization_VERSION: 0.2.0
-- PothosSerialization_INCLUDE_DIRS: /usr/local/include
-- PothosSerialization_LIBRARIES: /usr/local/lib/libPothosSerialization.dylib
-- Spuce_VERSION: 0.4.3
-- Spuce_INCLUDE_DIRS: /usr/local/include
-- Spuce_LIBRARIES: /usr/local/lib/libspuce.a
-- Could NOT find Qwt (missing:  QWT_INCLUDE_DIR)
-- Qwt not found - using built-in Qwt
CMake Error at CMakeLists.txt:96 (message):
  Qwt submodule not configured (git submodule init && git submodule update)

-- Configuring incomplete, errors occurred!
See also "/tmp/pothosplotters20151222-53629-1wivpvu/pothos-plotters-pothos-plotters-0.1.0/build/CMakeFiles/CMakeOutput.log".

READ THIS: https://git.io/brew-troubleshooting
If reporting this issue please do so at (not Homebrew/homebrew):
  https://github.com/pothosware/pothos/issues

juroujin:~ meatmanek$
guruofquality commented 8 years ago

@audiofilter You are not seeing this problem right... Can you share your configuration for qwt? Like are you building with qwtqt5 installed? And was there anything special to get the qwt install correctly detected by the build?

guruofquality commented 8 years ago

I take it back, its not just the plotters. Still have no idea though... And it happened sometime after a recent homebrew update of qt5 to "5.5.1_2"

audiofilter commented 8 years ago

I haven't seen either the install issues or seg faults. I installed through homebrew about a week ago. I'll look at it again

EvanKrall commented 8 years ago

Yeah, it's not only the plotters; widgets also crash.

I'm trying against older versions of qt5. So far, 5.5.1_1, 5.5.1, and 5.5.0_1 still exhibit the same problem, even when I rebuild pothos/pothosgui/pothoswidgets/pothosplotters.

EvanKrall commented 8 years ago

Another point of information: When adding something like the Spectrogram block, the crash occurs before the input and signal output nubs appear around the block.

audiofilter commented 8 years ago

OK, with fresh re-install of pothos* from brew, I am seeing the same issue as originally reported

guruofquality commented 8 years ago

Update: I'm bisecting, it works on an older commit so it looks like something broke, irrespective of the version of qt. I really don't recall changing anything in this regard, so I'm going to find out the hard way if its a compiler flag, older version of a library hanging around, etc... I will keep you posted.

Another point of information: When adding something like the Spectrogram block, the crash occurs before the input and signal output nubs appear around the block.

The crash is coming after the plotter/widget is created. But I cant specifically pin it down. It smells like an ABI compatibility issue.

guruofquality commented 8 years ago

Its fixed on master, let me know how this goes: https://github.com/pothosware/pothos/commit/5a66a46a03e647517cb5f25e12bf2aae663a36fa

Basically, there was a symbol conflict. Both the library and the GUI had a class named BlockEval. This used to not be a problem when the BlockEval was in a separate module and then it became an issue when it moved into the library. Ive seen stuff like this before with clang FWIW. I guess the only real defense is properly prefixing or namespacing everything.

EvanKrall commented 8 years ago

I'll try it out, thanks.

EvanKrall commented 8 years ago

Success! Thanks for the quick fix!