-
Notifications
You must be signed in to change notification settings - Fork 259
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
CubicSDR with SoapySDR support don't compile on Ubuntu 14.04 #168
Comments
Hey Franco, Those files are definitely up to date on-line; It looks like there's something strange with your checked out repository -- might want to try cloning and building it again. -CJ |
2015-10-26 22:30 GMT+01:00 Charles J. Cliffe [email protected]:
Same downloading with "Download ZIP" button. Tested on 2 different Ubuntu Regards Franco Spinelli |
i have the same problem master branch builds without a problem |
In file included from /home/vrm/sdrplay/cubicSDR/CubicSDR/src/panel/WaterfallPanel.cpp:1:0: this is the main culprit |
Charles, you forgot to #include atomic in WaterfallPanel.h :) (this issue tracker swallows lt and gt characters) |
2015-10-27 16:59 GMT+01:00 jazzkutya [email protected]:
Please attach correct #include in WaterfallPanel.h Regards Franco Spinelli
|
I can't attach anything but PNG, GIF, JPG. No permission. |
just put #include <atomic> after the last #include in WaterfallPanel.h |
previous comment edited to show the solution |
here is the correct top of that file: #include "GLPanel.h" class WaterfallPanel : public GLPanel { |
2015-10-27 17:09 GMT+01:00 jazzkutya [email protected]:
Regards |
@jazzkutya @frspin thanks; fix committed to soapysdr-support branch 👍 |
Il 27/10/2015 17:19, Charles J. Cliffe ha scritto:
Now the problem is on startup of CubicSDR. With a RTLSDR and with a SDRPlay CubicSDR start and, after selecting Here is last part of messages on terminal window: SoapySDR init.. mir_sdr_usb_USB DLL: Revision 0.1.1 Warning: libusb_claim_interface() -6 mir_sdr_2500_Init: fnaddr = 2 detected, trying to change... mir_sdr_2500_Init: fnaddr = 6 mir_sdr_2500_Init: adjusting squelch trim 0x1, rx gating enable 1, mir_sdr_usb_USB DLL: Revision 0.1.1 Warning: libusb_claim_interface() -6 mir_sdr_2500_Init: fnaddr = 2 detected, trying to change... mir_sdr_2500_Init: fnaddr = 6 mir_sdr_2500_Init: adjusting squelch trim 0x1, rx gating enable 1, Reporting enumeration complete. mir_sdr_usb_USB DLL: Revision 0.1.1 Errore di segmentazione (core dump creato) Removing ~/.CubicSDR directory don't help. Regards Franco Spinelli |
I've committed some additional fixes that fix some startup and runtime crashes in windows, going to try it here on ubuntu linux shortly. In the meantime make sure SoapySDR and SoapySDRPlay are up to date as there's some recent fixes there as well. |
Il 27/10/2015 22:23, Charles J. Cliffe ha scritto:
There is something strange. Without any device connected CubicSDR start, I dismiss initial pop-up If I connect a device, after initial pop-up of SDR Device choice, there I have reloaded from GitHub all CubicSDR and Soapy related files. But the problem is still here. If you want me to do some testing, I can do in the evening. Regards |
@frspin the gain problem makes sense; I haven't accounted for the fact that you might switch that while the device isn't connected.. I'll have to patch that up. To help find the other crash If you can create "Debug" targets (-DCMAKE_BUILD_TYPE=Debug or set "Build Type" to "Debug" in the CMake GUI for CubicSDR) and the same for the SoapySDR libs and then build everything (note: make sure to build and install SoapySDR first!) and run it with 'gdb':
Thanks! |
@cjcliffe I got the same behaviour as @frspin but when I compile with debug I get a slightly different behaviour. It now actually lets you select the device, but when you select it, I get... Program received signal SIGSEGV, Segmentation fault. I also got segmentation fault when running SoapySDRUtil but struggling to get it to run in gdb - how to do you run with command line options in gdb? It thinks I'm trying to pass the options to the debugger not the software under test. Quotes don't seem to work either. |
If I run the gdb ./CubicSDR as root then it actually runs and I get a display and audio. Then after about a minute, I get... Program received signal SIGSEGV, Segmentation fault. |
ok got SoapySDRUtil to run in gdb... Starting program: /usr/local/bin/SoapySDRUtil --probe=sdrplay Soapy SDR -- the SDR abstraction library###################################################### Probe device sdrplay mir_sdr_usb_USB DLL: Revision 0.1.1 [New Thread 0x7ffff3d23700 (LWP 30546)] [New Thread 0x7ffff3522700 (LWP 30547)] [New Thread 0x7ffff3d23700 (LWP 30554)] [New Thread 0x7ffff3522700 (LWP 30555)] mir_sdr_2500_Init: fnaddr = 18 mir_sdr_2500_Init: adjusting squelch trim 0x1, rx gating enable 1, tx_trim 0, reg2 = 0x4801 -- Device identificationdriver=SDRPlay -- Peripheral summaryChannels: 1 Rx, 0 Tx -- RX Channel 0Full-duplex: YES Inferior 1 (process 30542) exited normally quit error at the top, but other than that ok - that's not what happens when compiled without debug, it segmentation faults unless run as root |
@SDRplay I see a note on facebook that says it will segfault if it's not readable/executable by the current user -- Can you check the SoapySDR and SoapySDRPlay file permissions? I'll get Ubuntu 14 up and running again here and see what I can find as well. |
-rw-r--r-- 1 root root 662833 Oct 28 22:00 libsdrPlaySupport.so |
I've just rebuild SoapySDR, SoapySDRPlay and CubicSDR all with -DCMAKE_BUILD_TYPE=Release and now SoapySDRUtil runs ok as a user. CubicSDR will only run as root, otherwise I get a segmentation fault, but as root it runs fine, finds the device and displays signal fine. |
@SDRplay that sounds strange.. working as root still indicates some sort of USB device or file permissions still I think.. Does SDRPlay need some udev rules or something? |
rules file: SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="1df7",ATTRS{idProd |
2015-10-28 23:58 GMT+01:00 SDRplay [email protected]:
First I have compiled all Soapy libraries and CubicSDR with After this: rtl_test run OK as user, so no problem with UDEV rules So the problem seem is in CubicSDR, after selecting the device and before Version of previous week of CubicSDR and SoapySDR libraries was working Regards Franco Spinelli |
2015-10-28 22:58 GMT+01:00 Charles J. Cliffe [email protected]:
As required, this is backtrace output of CubicSDR running with a RTLSDR Program received signal SIGSEGV, Segmentation fault. Hope this help Franco Spinelli |
@frspin thanks; not quite where I expected it to be crashing -- looks like it crashed somewhere in wxWidgets while attempting to update/add the device input rate menu items.. I should be able to think up a workaround for that; will update issue when patched. |
2015-10-29 17:45 GMT+01:00 Charles J. Cliffe [email protected]:
Regards |
Meanwhile CubicSDR works great with SDRPlay for receiving Voa Radiogram, Regards Franco Spinelli |
Il 29/10/2015 17:45, Charles J. Cliffe ha scritto:
I have done some test but I don't know C++ so my test are "elementary test" Segmentation fault happen at line 460 of AppFrame.cpp, when there is sampleRateMenuItems[wxID_BANDWIDTH_BASE+ofs] = Removing this statement and also statements at line 462 sampleRateMenuItems[wxID_BANDWIDTH_BASE+ofs]->Check(true); and at line 468 sampleRateMenuItems[wxID_BANDWIDTH_MANUAL] = I get an empty Input Bandwidth menu but no Segmentation fault. Can be an uninitialized (or badly initialized) area? And why running as In older version, running as user, a change in this menu caused a Regards Franco Spinelli |
@frspin thanks that should help me narrow it down but I haven't been able to reproduce it here so far; can you confirm the version of wxWidgets you're using is at least 3.0.2? |
Il 02/11/2015 18:50, Charles J. Cliffe ha scritto:
No. Ubuntu 14.04 have Wx 2.8 and Wx 3.0.0 And any operation on sampleRateMenu is impossible and go to a Also
sampleRateMenuItems.begin(); i != sampleRateMenuItems.end(); i++) { is not executed. Both begin() and end() are 0, so no operation on sampleRates.begin() is 256000 for my RTLSDR and sampleRates.end() is 96. Can be a WX version problem? If needed, I can put up a PC with Ubuntu 15.10 version and do some test Regards Franco Spinelli |
Il 02/11/2015 18:50, Charles J. Cliffe ha scritto:
I have installed Ubuntu 15.10/64 bit on an old machine for test only. Kernel is 4.2.0 and WxWidget is 3.0.2. I have used all libraries from repo, downloaded liquid-dsp, SoapySDR and So the problem is in WxWidget of Ubuntu 14.04? Which changes was made to Regards Franco Spinelli |
@frspin I'm guessing it's a bug fixed between 3.0.0 and 3.0.2; the major difference in CubicSDR is that the bandwidth menu is now dynamic for the device; the values were fixed before and set before the window was loaded; now they're set after the window has loaded and the device has initialized. I'm not sure it's worth a workaround unless there's a multitude of systems running 3.0.0; I can just make sure that the requirements are 3.0.2 so that it's at least clear during cmake setup. |
@frspin we've successfully traced and fixed this issue now for Ubuntu 14; apparently something doesn't like a drop-down menu being updated dynamically -- but it's ok with replacing the entire menu with a new one. So not a wxWidgets 3.0.2 issue but updating OS apparently does fix it so something in the WM is likely upset with changing contents of active menus. |
Il 03/11/2015 04:16, Charles J. Cliffe ha scritto:
Updated, compiled and tested This solve the problem. Thank you Now, for USB/LSB reception, I will do more test and try different bandwidth. But this is another question and, if necessary, I will open another issue. Regards |
@frspin glad to hear it's working; I'll close this one for now; and feel free to open additional issues. |
Latest CubicSDR from git repo, soapySDR support branch, don't compile on my Ubuntu 14.04 64 bit.
Compile problem is in WaterfallPanel.cpp
CubicSDR/src/panel/WaterfallPanel.cpp:87:9: error: ‘lines_buffered’ was not declared in this scope
lines_buffered++;
^
CubicSDR/src/panel/WaterfallPanel.cpp: In member function ‘void WaterfallPanel::update()’:
CubicSDR/src/panel/WaterfallPanel.cpp:94:10: error: ‘bufferInitialized’ was not declared in this scope
if (!bufferInitialized.load()) {
^
CubicSDR/src/panel/WaterfallPanel.cpp:98:10: error: ‘texInitialized’ was not declared in this scope
if (!texInitialized.load()) {
^
CubicSDR/src/panel/WaterfallPanel.cpp:124:28: error: ‘lines_buffered’ was not declared in this scope
for (int i = 0, iMax = lines_buffered.load(); i < iMax; i++) {
^
CubicSDR/src/panel/WaterfallPanel.cpp:132:12: error: ‘lines_buffered’ was not declared in this scope
while (lines_buffered.load()) {
^
CubicSDR/src/panel/WaterfallPanel.cpp: In member function ‘virtual void WaterfallPanel::drawPanelContents()’:
CubicSDR/src/panel/WaterfallPanel.cpp:154:10: error: ‘texInitialized’ was not declared in this scope
if (!texInitialized.load()) {
^
make[2]: *** [CMakeFiles/CubicSDR.dir/src/panel/WaterfallPanel.cpp.o] Errore 1
make[1]: *** [CMakeFiles/CubicSDR.dir/all] Errore 2
make: *** [all] Errore 2
Previous version of CubicSDR, before mods to WaterfallPanel.ccp and WaterfallPanel.h (4 days ago) was compiled without problem.
Regards
Franco Spinelli
IW2DHW
The text was updated successfully, but these errors were encountered: