Hi Dominic. Sorry for the delay in replying - sourceforge doesn't seem to be sending out notifications.
I'm currently setting up to compile Dream on a clean Windows 10 64 bit environment and documenting the process here. I'll use Visual Studio to help but by default I would use QtCreator.
E: Some index files failed to download. They have been ignored, or old ones used instead.
...........
When I replace the Ubuntu version to 14.04 I have the following error:
.........
Hit http://br.archive.ubuntu.com wily-backports/main Translation-en
Hit http://br.archive.ubuntu.com wily-backports/universe Translation-en
Fetched 3.389 B in 41s (82 B/s)
Reading package lists... Done
W: GPG error: http://download.opensuse.org ./ Release: The following signatures were invalid: KEYEXPIRED 1419849357
...........
Do you know how to fix it, please?
Thank you!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks for your reply. But for now I need to know more about the displays and indicators used in DReaM Receiver.
When I give my File to DReaM, FAC CRC and SDC CRC LEDs glows green but not MSC CRC LED. Input Spectrum and Constellations are fine and perfect.
If the MSC CRC LED is not at all glowing (not green, not red, not yellow) , what does that mean?
Also I am not able to see the Language, Programme Type and Service label displayed on the main panel. These infos are determined from FAC and FAC CRC LED glows GREEN. But still the above infos are not displayed.
What could be going wrong?? Does the display works only after successfull audio decoding?
Hi Dominic. I got the SDC and FAC stuff diplayed on Linux but not on Windows. On Windows I see a wide notch in the middle of the specturm plot with recent Dream versions. I thought it might be a 32 bit problem but 32 and 64 bit work the same on Linux. It is all a little strange, but maybe indicates we haven't had very many 20 kHz wide test samples.
You can put code like this right at the top of the member function void CMLCEncoder::ProcessDataInternal(CParameter&) in src/mlc/MLC.cpp to get an MSC file in Transmit mode:
Thanks a lot Julian. Let me try with the test MSC bitstream. I'll keep you in the loop and let you know the updates.
Could you please provide the code to write the MSC data to a file after streams demultiplexing in DReaM receiver mode. Your help is very much appreciated.
Last edit: Dominic Antony 2016-01-28
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
By the way, these Dream Vector template classes are a bit oddball. I wouldn't have done it that way but Volker and Alex wrote outstanding DSP code so I'll forgive them for a little weirdness.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
1- Dream closes unexpectally when I try to decode any file that is AAC. I repeated the steps for building the FAAD (available on Dream's Wiki) and I've double checked the files exists on /usr/local/lib/libfaac_drm.so. The exampĺes of OPUS codec runs normally.
Here is the error message on the console:
2- On transmitter mode dream -t I don't have the AAC codec available, only Opus. I also made the steps to build the FAAC, but seems something get strange. I suspect that both problems are somehow connected.
I suspect that the following instructions may be the problem:
4. Build and install Dream
wget http://downloads.sourceforge.net/drm/dream-2.1.1-svn808.tar.gz
tar zxf dream-2.1.1-svn808.tar.gz
cd dream
sed -i -- 's#$$OUT_PWD#/usr#g' dream.pro
sed -i -- 's#faad_drm#faad2_drm#g' dream.pro
$QMAKE_EXEC
make $MAKE_ARGS
sudo cp dream /usr/local/bin/dream
Thank you in advance for your help!
Last edit: Daniel Antoniazzi 2016-07-08
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Daniel. We made some changes to FAAD2 a while back so it creates both the DRM and normal versions of the library so it is possible you are copying the non-DRM version to /usr/local/lib. Have a look in the libfaad/.libs folder and see if there is an _drm.so file there.
It is possible that the FAAD2 package in 15.10 already includes this new version so it is worth removing your libraries and apt-get installing the default ones and seeing if you get an _drm.so
I don't think we did the same with FAAC, but you could look at the FAAC change log on sourceforge.
Another option would be to step back to previous versions of FAAD2 and FAAC - they should work with your script.
Last edit: Julian Cable 2016-07-08
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I couldn't understand why it was not working after several tries. I've checked and the _drm.so generated are the same.
So to not loose more time, I make a fresh install of Ubuntu 16.04.
After that I repeated the script and could make the transmitter working fine with both AAC and Opus. However the dream receiver mode continues with the same error closing when open a AAC file.
I tried to copy the dream files from Andy Ham Linux disribution that has Dream working fine. I've copied the files libs and the executable.
I replace them on my version, and guess what? Stills not working. The executable didn't work. The message was "file not found on /usr/local/bin/dream".
Only the libraries changes didn't change my problem. AAC files was closing dream.
I noticed that the dream on Andy's distribution has about 2.5Mb and mine compliled has 40Mb! So it was a clue that my compilation may have a issue.
Then I used the instructions on Dream wiki and then (finally!!!! :) ) it worked fine: drm.sourceforge.net/wiki/index.php/Building_on_apt_based_distros
The questions:
1) Why my compiled executable dream has 40Mb? Shouldn't it have around 2.5 to 3.0 Mb? What I'm doing wrong?
2) On Andy Ham Linux I couldn't find the libfaac2_drm.so on /usr/local/lib. But it works. This lib was placed in other directory. How dream works with this library?
3) I always need to execute dream with "sudo dream". If I don't do it the menu bar doesn't appear. What are the permissions that I should give to work on any user? Which files should have permissions changed?
Here is the dream extracted folder used to compile.
daniel@daniel-VPCW210AB:~/Downloads/dream$ ls -l
total 39504
-rw-r--r-- 1 daniel daniel 255 Nov 11 2013 AUTHORS
-rw-r--r-- 1 daniel daniel 8184 Nov 11 2013 ChangeLog
-rw-r--r-- 1 daniel daniel 15131 Nov 11 2013 COPYING
-rw-r--r-- 1 daniel daniel 186 Nov 11 2013 Desktop.ini
-rwxrwxr-x 1 daniel daniel 39988088 Jul 12 01:12 dream
-rw-r--r-- 1 daniel daniel 23297 Nov 11 2013 dream.pro
-rw-r--r-- 1 daniel daniel 389 Nov 11 2013 INSTALL
drwxr-xr-x 2 daniel daniel 4096 Nov 11 2013 libs
drwxr-xr-x 3 daniel daniel 4096 Nov 11 2013 linux
drwxr-xr-x 2 daniel daniel 4096 Nov 11 2013 macx
-rw-rw-r-- 1 daniel daniel 181854 Jul 12 00:52 Makefile
drwxrwxr-x 2 daniel daniel 4096 Jul 12 01:12 moc
-rw-r--r-- 1 daniel daniel 831 Nov 11 2013 NEWS
drwxrwxr-x 2 daniel daniel 4096 Jul 12 01:12 obj
-rw-rw-r-- 1 daniel daniel 164690 Jul 12 01:12 qrc_icons.cpp
-rw-r--r-- 1 daniel daniel 5719 Nov 11 2013 README
drwxr-xr-x 24 daniel daniel 4096 Nov 11 2013 src
-rw-r--r-- 1 daniel daniel 105 Nov 11 2013 TODO
drwxrwxr-x 2 daniel daniel 4096 Jul 12 00:52 ui
drwxr-xr-x 2 daniel daniel 4096 Nov 11 2013 windows
Last edit: Daniel Antoniazzi 2016-07-12
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Probably you have compiled with the debug option on (gcc -g). Dream uses the operating system to find the AAC library - it may work as long as it is in the path. You shouldn't need sudo. Make sure there are no 'S' bits set on the files.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
first of all sorry if this isn't the right place to post the issue but I sent a new discussion post a few days ago and I can't see it.
I'm trying to compile Dream with ALSA and FAAC supoort. After modify "dream.pro" file to compile Dream for ALSA and FAAC support I've to modify the files "dream/src/linux/soundin.h" and "dream/src/linux/soundout.h" to according the line
#include "../sound/soundinterface.h"
instead of
#include "../soundinterface.h"
But I still get the next compile errors:
In file included from src/linux/soundin.h:34,
from src/linux/alsa.cpp:27:
src/linux/soundcommon.h: In constructor ‘CSoundBuf::CSoundBuf()’:
src/linux/soundcommon.h:79:32: error: ‘TRUE’ was not declared in this scope
CSoundBuf() : keep_running(TRUE)
^~~~
In file included from src/linux/alsa.cpp:27:
src/linux/soundin.h: At global scope:
src/linux/soundin.h:55:33: error: conflicting return type specified for ‘virtual int CSoundIn::GetDev()’
virtual int GetDev();
^~~~~~
In file included from src/linux/../sound/soundinterface.h:32,
from src/linux/soundin.h:32,
from src/linux/alsa.cpp:27:
src/linux/../sound/selectioninterface.h:68:25: note: overridden function is ‘virtual std::__cxx11::string CSelectionInterface::GetDev()’
virtual string GetDev()=0;
^~~~~~
In file included from src/linux/alsa.cpp:28:
src/linux/soundout.h:53:33: error: conflicting return type specified for ‘virtual int CSoundOut::GetDev()’
virtual int GetDev();
^~~~~~
In file included from src/linux/../sound/soundinterface.h:32,
from src/linux/soundin.h:32,
from src/linux/alsa.cpp:27:
src/linux/../sound/selectioninterface.h:68:25: note: overridden function is ‘virtual std::__cxx11::string CSelectionInterface::GetDev()’
virtual string GetDev()=0;
^~~~~~
src/linux/alsa.cpp: In member function ‘void CSoundIn::Init_HW()’:
src/linux/alsa.cpp:102:56: error: ‘Parameters’ was not declared in this scope
err = snd_pcm_hw_params_set_rate(handle, hwparams, Parameters.GetSampleRate(), dir);
^~~~~~~~~~
src/linux/alsa.cpp:161:63: warning: ‘int snd_pcm_sw_params_set_xfer_align(snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_uframes_t)’ is deprecated [-Wdeprecated-declarations]
err = snd_pcm_sw_params_set_xfer_align(handle, swparams, 1);
^
In file included from /usr/include/alsa/asoundlib.h:54,
from src/linux/soundcommon.h:37,
from src/linux/soundin.h:34,
from src/linux/alsa.cpp:27:
/usr/include/alsa/pcm.h:1331:5: note: declared here
int snd_pcm_sw_params_set_xfer_align(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val) __attribute__((deprecated));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/linux/alsa.cpp:161:63: warning: ‘int snd_pcm_sw_params_set_xfer_align(snd_pcm_t*, snd_pcm_sw_params_t*, snd_pcm_uframes_t)’ is deprecated [-Wdeprecated-declarations]
err = snd_pcm_sw_params_set_xfer_align(handle, swparams, 1);
^
In file included from /usr/include/alsa/asoundlib.h:54,
from src/linux/soundcommon.h:37,
from src/linux/soundin.h:34,
from src/linux/alsa.cpp:27:
/usr/include/alsa/pcm.h:1331:5: note: declared here
int snd_pcm_sw_params_set_xfer_align(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val) __attribute__((deprecated));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/linux/alsa.cpp: In member function ‘void CSoundOut::Init_HW()’:
src/linux/alsa.cpp:300:56: error: ‘Parameters’ was not declared in this scope
err = snd_pcm_hw_params_set_rate(handle, hwparams, Parameters.GetSampleRate(), dir);
^~~~~~~~~~
make: *** [Makefile:3033: obj/alsa.o] Error 1
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I've modified src/linux/soundin.h and src/linux/soundout.h
where it says
#include "../soundinterface.h"
I changed to
#include "../sound/soundinterface.h"
Finally I get the next compile errors:
In file included from src/linux/alsa.cpp:27:
src/linux/soundin.h:55:21: error: conflicting return type specified for ‘virtual int CSoundIn::GetDev()’
virtual int GetDev();
^~~~~~
In file included from src/linux/../sound/soundinterface.h:32,
from src/linux/soundin.h:32,
from src/linux/alsa.cpp:27:
src/linux/../sound/selectioninterface.h:68:25: note: overridden function is ‘virtual std::cxx11::string CSelectionInterface::GetDev()’
virtual string GetDev()=0;
^~~~~~
In file included from src/linux/alsa.cpp:28:
src/linux/soundout.h:53:21: error: conflicting return type specified for ‘virtual int CSoundOut::GetDev()’
virtual int GetDev();
^~~~~~
In file included from src/linux/../sound/soundinterface.h:32,
from src/linux/soundin.h:32,
from src/linux/alsa.cpp:27:
src/linux/../sound/selectioninterface.h:68:25: note: overridden function is ‘virtual std::cxx11::string CSelectionInterface::GetDev()’
virtual string GetDev()=0;
^~~~~~
src/linux/alsa.cpp: In member function ‘void CSoundIn::Init_HW()’:
src/linux/alsa.cpp:102:56: error: ‘Parameters’ was not declared in this scope
err = snd_pcm_hw_params_set_rate(handle, hwparams, Parameters.GetSampleRate(), dir);
^~~~~~~~~~
src/linux/alsa.cpp:161:63: warning: ‘int snd_pcm_sw_params_set_xfer_align(snd_pcm_t, snd_pcm_sw_params_t, snd_pcm_uframes_t)’ is deprecated [-Wdeprecated-declarations]
err = snd_pcm_sw_params_set_xfer_align(handle, swparams, 1);
^
In file included from /usr/include/alsa/asoundlib.h:54,
from src/linux/soundcommon.h:37,
from src/linux/soundin.h:34,
from src/linux/alsa.cpp:27:
/usr/include/alsa/pcm.h:1331:5: note: declared here
int snd_pcm_sw_params_set_xfer_align(snd_pcm_t pcm, snd_pcm_sw_params_t params, snd_pcm_uframes_t val) attribute((deprecated));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/linux/alsa.cpp:161:63: warning: ‘int snd_pcm_sw_params_set_xfer_align(snd_pcm_t, snd_pcm_sw_params_t, snd_pcm_uframes_t)’ is deprecated [-Wdeprecated-declarations]
err = snd_pcm_sw_params_set_xfer_align(handle, swparams, 1);
^
In file included from /usr/include/alsa/asoundlib.h:54,
from src/linux/soundcommon.h:37,
from src/linux/soundin.h:34,
from src/linux/alsa.cpp:27:
/usr/include/alsa/pcm.h:1331:5: note: declared here
int snd_pcm_sw_params_set_xfer_align(snd_pcm_t pcm, snd_pcm_sw_params_t params, snd_pcm_uframes_t val) attribute((deprecated));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/linux/alsa.cpp: In member function ‘void CSoundOut::Init_HW()’:
src/linux/alsa.cpp:300:56: error: ‘Parameters’ was not declared in this scope
err = snd_pcm_hw_params_set_rate(handle, hwparams, Parameters.GetSampleRate(), dir);
^~~~~~~~~~
make: *** [Makefile:2851: obj/alsa.o] Error 1
I'll try with only PulseAudio in this SVN.
Thanks for your help.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Can't get Dream to compile, ask for help here.
Couldnt make work DREAM Transmitter. Please walk me through the procedures.
Hi Dominic. Sorry for the delay in replying - sourceforge doesn't seem to be sending out notifications.
I'm currently setting up to compile Dream on a clean Windows 10 64 bit environment and documenting the process here. I'll use Visual Studio to help but by default I would use QtCreator.
I'll come back to this later - Visual Studio takes an age to install.
Guess what - I couldn't compile Qwt or QCustomplot - they both give unresolved references with Qt 5.5.1. It looks like a problem with Qt and MSVC 14.
Hello Julian,
I have Ubuntu 15.10 32bit (i386) and I'm trying to install Dream.
Using your script below using Ubuntu 15.10 or 15.04 I have the error message of not found. I had also tried the 13.10 as it is on the original script:
.........
Hit http://br.archive.ubuntu.com wily-backports/restricted Translation-en
Hit http://br.archive.ubuntu.com wily-backports/universe Translation-en
W: Failed to fetch http://download.opensuse.org/repositories/home:/juliancable/xUbuntu_13.10/./Packages 404 Not Found [IP: 2001:67c:2178:8::13 80]
E: Some index files failed to download. They have been ignored, or old ones used instead.
...........
When I replace the Ubuntu version to 14.04 I have the following error:
.........
Hit http://br.archive.ubuntu.com wily-backports/main Translation-en
Hit http://br.archive.ubuntu.com wily-backports/universe Translation-en
Fetched 3.389 B in 41s (82 B/s)
Reading package lists... Done
W: GPG error: http://download.opensuse.org ./ Release: The following signatures were invalid: KEYEXPIRED 1419849357
...........
Do you know how to fix it, please?
Thank you!
Hi Daniel - sorry, just spotted this. I'll try and get the keys renewed.
Last edit: Julian Cable 2016-01-25
New pubkey uploaded to the files section. It works for me now.
Hi Julian,
Thanks for your reply. But for now I need to know more about the displays and indicators used in DReaM Receiver.
When I give my File to DReaM, FAC CRC and SDC CRC LEDs glows green but not MSC CRC LED. Input Spectrum and Constellations are fine and perfect.
If the MSC CRC LED is not at all glowing (not green, not red, not yellow) , what does that mean?
Also I am not able to see the Language, Programme Type and Service label displayed on the main panel. These infos are determined from FAC and FAC CRC LED glows GREEN. But still the above infos are not displayed.
What could be going wrong?? Does the display works only after successfull audio decoding?
Please find the attached screenshot.
Last edit: Dominic Antony 2016-01-25
Hi Dominic. I got the SDC and FAC stuff diplayed on Linux but not on Windows. On Windows I see a wide notch in the middle of the specturm plot with recent Dream versions. I thought it might be a 32 bit problem but 32 and 64 bit work the same on Linux. It is all a little strange, but maybe indicates we haven't had very many 20 kHz wide test samples.
You can put code like this right at the top of the member function void CMLCEncoder::ProcessDataInternal(CParameter&) in src/mlc/MLC.cpp to get an MSC file in Transmit mode:
You will need
at the top of the file.
Here is a short msc.bin file with Opus audio in it
here is a screen shot of your file. The station label is not decoded - I must have remembered wrongly.
Thanks a lot Julian. Let me try with the test MSC bitstream. I'll keep you in the loop and let you know the updates.
Could you please provide the code to write the MSC data to a file after streams demultiplexing in DReaM receiver mode. Your help is very much appreciated.
Last edit: Dominic Antony 2016-01-28
Just put the correcponding code at the end of the input routine CMLCDecoder::ProcessDataInternal in MLC.cpp.
By the way, these Dream Vector template classes are a bit oddball. I wouldn't have done it that way but Volker and Alex wrote outstanding DSP code so I'll forgive them for a little weirdness.
Hi Julian,
Please check the attached .bin files.
The file named "MSC_DoMS.bin" is the one I transmitted (i.e., Bitstream written before energy dispersal at the transmitter)
The file named "rx_msc.bin" is the one I wrote after energy dispersal at the receiver side.
Last edit: Dominic Antony 2016-02-01
Hi Julian,]
we are trying to compile dream-2,1,10-svn808 with faac-1,28 on a hummingboard with debian-jessie. The compilation fails with:
g++ -Wl,-O1 -o dream obj/Pacer.o obj/Hamlib.o obj/Rig.o obj/RigDlg.o obj/drm_pulseaudio.o obj/AMDemodulation.o obj/AMSSDemodulation.o obj/ChanEstTime.o obj/ChannelEstimation.o obj/IdealChannelEstimation.o obj/TimeLinear.o obj/TimeWiener.o obj/DABMOT.o obj/DataDecoder.o obj/DataEncoder.o obj/epgutil.o obj/Experiment.o obj/Journaline.o obj/crc_8_16.o obj/dabdgdec_impl.o obj/log.o obj/newsobject.o obj/newssvcdec_impl.o obj/NML.o obj/Splitter.o obj/MOTSlideShow.o obj/DataIO.o obj/ChannelSimulation.o obj/DrmReceiver.o obj/DRMSignalIO.o obj/DrmSimulation.o obj/DrmTransmitter.o obj/FAC.o obj/main.o obj/InputResample.o obj/BlockInterleaver.o obj/SymbolInterleaver.o obj/IQInputFilter.o obj/MatlibSigProToolbox.o obj/MatlibStdToolbox.o obj/AFPacketGenerator.o obj/MDIDecode.o obj/MDIInBuffer.o obj/MDIRSCI.o obj/MDITagItemDecoders.o obj/MDITagItems.o obj/PacketSinkFile.o obj/PacketSocket.o obj/PacketSourceFile.o obj/Pft.o obj/RCITagItems.o obj/RSCITagItemDecoders.o obj/RSISubscriber.o obj/TagPacketDecoder.o obj/TagPacketDecoderMDI.o obj/TagPacketDecoderRSCIControl.o obj/TagPacketGenerator.o obj/BitInterleaver.o obj/ChannelCode.o obj/ConvEncoder.o obj/EnergyDispersal.o obj/Metric.o obj/MLC.o obj/QAMMapping.o obj/TrellisUpdateMMX.o obj/TrellisUpdateSSE2.o obj/ViterbiDecoder.o obj/MSCMultiplexer.o obj/CellMappingTable.o obj/OFDMCellMapping.o obj/OFDM.o obj/Parameter.o obj/PlotManager.o obj/ReceptLog.o obj/Resample.o obj/ResampleFilter.o obj/Scheduler.o obj/SDCReceive.o obj/SDCTransmit.o obj/ServiceInformation.o obj/SimulationParameters.o obj/audiofilein.o obj/aac_codec.o obj/AudioCodec.o obj/AudioSourceDecoder.o obj/AudioSourceEncoder.o obj/null_codec.o obj/opus_codec.o obj/FreqSyncAcq.o obj/SyncUsingPil.o obj/TimeSync.o obj/TimeSyncFilter.o obj/TimeSyncTrack.o obj/TableCarMap.o obj/TableFAC.o obj/TableStations.o obj/TextMessage.o obj/CRC.o obj/FileTyper.o obj/LogPrint.o obj/Reassemble.o obj/Settings.o obj/Utilities.o obj/Version.o obj/Logging.o obj/EPG.o obj/epgdec.o obj/Util.o obj/BWSViewer.o obj/AnalogDemDlg.o obj/CodecParams.o obj/CWindow.o obj/DialogUtil.o obj/DRMPlot.o obj/EPGDlg.o obj/EvaluationDlg.o obj/fdrmdialog.o obj/fmdialog.o obj/GeneralSettingsDlg.o obj/jlbrowser.o obj/JLViewer.o obj/LiveScheduleDlg.o obj/MultColorLED.o obj/MultSettingsDlg.o obj/Schedule.o obj/SlideShowViewer.o obj/SoundCardSelMenu.o obj/StationsDlg.o obj/TransmDlg.o obj/moc_Rig.o obj/moc_RigDlg.o obj/moc_Logging.o obj/moc_BWSViewer.o obj/moc_AnalogDemDlg.o obj/moc_CodecParams.o obj/moc_CWindow.o obj/moc_DialogUtil.o obj/moc_DRMPlot.o obj/moc_EPGDlg.o obj/moc_EvaluationDlg.o obj/moc_fdrmdialog.o obj/moc_fmdialog.o obj/moc_GeneralSettingsDlg.o obj/moc_jlbrowser.o obj/moc_JLViewer.o obj/moc_LiveScheduleDlg.o obj/moc_MultColorLED.o obj/moc_MultSettingsDlg.o obj/moc_SlideShowViewer.o obj/moc_SoundCardSelMenu.o obj/moc_StationsDlg.o obj/moc_TransmDlg.o obj/qrc_icons.o -L/usr/lib/arm-linux-gnueabihf -L/home/dream/dream/lib -ldl -lrt -lfftw3 -lz -lhamlib -lpulse -L/usr/lib -lqwt -lQtWebKit -lQtSvg -lQtXml -lQtGui -lQtNetwork -lQtCore -lpthread
obj/RSCITagItemDecoders.o: In function
CTagItemDecoderCdmo::DecodeTag(CVector<unsigned char>&, int)': RSCITagItemDecoders.cpp:(.text+0xa36): undefined reference to
CDRMReceiver::SetReceiverMode(ERecMode)'RSCITagItemDecoders.cpp:(.text+0xa40): undefined reference to
CDRMReceiver::SetReceiverMode(ERecMode)' RSCITagItemDecoders.cpp:(.text+0xa82): undefined reference to
CDRMReceiver::SetReceiverMode(ERecMode)'obj/RSCITagItemDecoders.o: In function
CTagItemDecoderCrec::DecodeTag(CVector<unsigned char>&, int)': RSCITagItemDecoders.cpp:(.text+0xc14): undefined reference to
CDRMReceiver::SetRSIRecording(bool, char)'RSCITagItemDecoders.cpp:(.text+0xc5e): undefined reference to
CDRMReceiver::SetIQRecording(bool)' obj/RSCITagItemDecoders.o: In function
CTagItemDecoderCfre::DecodeTag(CVector<unsigned char="">&, int)':RSCITagItemDecoders.cpp:(.text+0x1c0): undefined reference to
CDRMReceiver::SetFrequency(int)' obj/AnalogDemDlg.o: In function
AnalogDemDlg::OnRadioDemodulation(int)':AnalogDemDlg.cpp:(.text+0x7a2): undefined reference to
CDRMReceiver::SetAMDemodType(CAMDemodulation::EDemodType)' AnalogDemDlg.cpp:(.text+0x7b6): undefined reference to
CDRMReceiver::SetAMDemodType(CAMDemodulation::EDemodType)'AnalogDemDlg.cpp:(.text+0x7ca): undefined reference to
CDRMReceiver::SetAMDemodType(CAMDemodulation::EDemodType)' AnalogDemDlg.cpp:(.text+0x7de): undefined reference to
CDRMReceiver::SetAMDemodType(CAMDemodulation::EDemodType)'AnalogDemDlg.cpp:(.text+0x7f2): undefined reference to
CDRMReceiver::SetAMDemodType(CAMDemodulation::EDemodType)' obj/AnalogDemDlg.o: In function
AnalogDemDlg::OnSliderBWChange(int)':AnalogDemDlg.cpp:(.text+0x8be): undefined reference to
CDRMReceiver::SetAMFilterBW(int)' obj/AnalogDemDlg.o: In function
AnalogDemDlg::OnChartxAxisValSet(double)':AnalogDemDlg.cpp:(.text+0xc58): undefined reference to
CDRMReceiver::SetAMDemodAcq(double)' AnalogDemDlg.cpp:(.text+0xc72): undefined reference to
CDRMReceiver::SetAMDemodAcq(double)'obj/fmdialog.o: In function
FMDialog::OnTune()': fmdialog.cpp:(.text+0xdc): undefined reference to
CDRMReceiver::SetFrequency(int)'obj/SoundCardSelMenu.o: In function
CFileMenu::UpdateMenu() [clone .part.5]': SoundCardSelMenu.cpp:(.text+0x6): undefined reference to
CDRMReceiver::GetInputStatus()'obj/SoundCardSelMenu.o: In function
CFileMenu::OnOpenFile()': SoundCardSelMenu.cpp:(.text+0xae6): undefined reference to
CDRMReceiver::SetInputFile(std::string const&)'obj/SoundCardSelMenu.o: In function
CFileMenu::OnCloseFile()': SoundCardSelMenu.cpp:(.text+0xbf6): undefined reference to
CDRMReceiver::ClearInputFile()'obj/StationsDlg.o: In function
StationsDlg::SetFrequencyFromGUI(int)': StationsDlg.cpp:(.text+0x1fa8): undefined reference to
CDRMReceiver::SetReceiverMode(ERecMode)'StationsDlg.cpp:(.text+0x1fc8): undefined reference to
CDRMReceiver::SetReceiverMode(ERecMode)' obj/StationsDlg.o: In function
StationsDlg::OnFreqCntNewValue(double)':StationsDlg.cpp:(.text+0x1d44): undefined reference to
CDRMReceiver::SetFrequency(int)' obj/main.o: In function
main':main.cpp:(.text.startup+0x2ba): undefined reference to
CDRMReceiver::CDRMReceiver(CSettings*)' main.cpp:(.text.startup+0x2d6): undefined reference to
CDRMReceiver::LoadSettings()'main.cpp:(.text.startup+0x334): undefined reference to
CDRMReceiver::SaveSettings()' main.cpp:(.text.startup+0x34a): undefined reference to
CDRMReceiver::~CDRMReceiver()'main.cpp:(.text.startup+0x5c8): undefined reference to
CDRMReceiver::~CDRMReceiver()' obj/Parameter.o: In function
CParameter::SetWaveMode(ERobMode)':Parameter.cpp:(.text+0x15a): undefined reference to
CDRMReceiver::InitsForWaveMode()' obj/Parameter.o: In function
CParameter::SetAudioParam(int, CAudioParam const&)':Parameter.cpp:(.text+0x516): undefined reference to
CDRMReceiver::InitsForAudParam()' obj/Parameter.o: In function
CParameter::SetNumOfServices(unsigned int, unsigned int)':Parameter.cpp:(.text+0x1f78): undefined reference to
CDRMReceiver::InitsForMSCDemux()' Parameter.cpp:(.text+0x1f94): undefined reference to
CDRMReceiver::InitsForMSCDemux()'obj/Parameter.o: In function
CParameter::SetServiceID(int, unsigned int)': Parameter.cpp:(.text+0x1fea): undefined reference to
CDRMReceiver::InitsForMSC()'Parameter.cpp:(.text+0x2046): undefined reference to
CDRMReceiver::InitsForAudParam()' obj/Parameter.o: In function
CParameter::SetSpectrumOccup(ESpecOcc)':Parameter.cpp:(.text+0x1b0): undefined reference to
CDRMReceiver::InitsForSpectrumOccup()' obj/Parameter.o: In function
CParameter::SetStreamLen(int, int, int)':Parameter.cpp:(.text+0x1e0): undefined reference to
CDRMReceiver::InitsForMSC()' obj/Parameter.o: In function
CParameter::SetNumDecodedBitsMSC(int)':Parameter.cpp:(.text+0x21a): undefined reference to
CDRMReceiver::InitsForMSCDemux()' obj/Parameter.o: In function
CParameter::SetNumDecodedBitsSDC(int)':Parameter.cpp:(.text+0x232): undefined reference to
CDRMReceiver::InitsForNoDecBitsSDC()' obj/Parameter.o: In function
CParameter::SetNumBitsHieraFrTot(int)':Parameter.cpp:(.text+0x24a): undefined reference to
CDRMReceiver::InitsForMSCDemux()' obj/Parameter.o: In function
CParameter::SetMSCProtLev(CMSCProtLev, bool)':Parameter.cpp:(.text+0x292): undefined reference to
CDRMReceiver::InitsForMSC()' obj/Parameter.o: In function
CParameter::SetDataParam(int, CDataParam const&)':Parameter.cpp:(.text+0x6c2): undefined reference to
CDRMReceiver::InitsForDataParam()' obj/Parameter.o: In function
CParameter::SetInterleaverDepth(CParameter::ESymIntMod)':Parameter.cpp:(.text+0x72e): undefined reference to
CDRMReceiver::InitsForInterlDepth()' obj/Parameter.o: In function
CParameter::SetMSCCodingScheme(ECodScheme)':Parameter.cpp:(.text+0x742): undefined reference to
CDRMReceiver::InitsForMSCCodSche()' obj/Parameter.o: In function
CParameter::SetSDCCodingScheme(ECodScheme)':Parameter.cpp:(.text+0x756): undefined reference to
CDRMReceiver::InitsForSDCCodSche()' obj/Parameter.o: In function
CParameter::SetCurSelAudioService(int)':Parameter.cpp:(.text+0x78e): undefined reference to
CDRMReceiver::InitsForAudParam()' obj/Parameter.o: In function
CParameter::SetCurSelDataService(int)':Parameter.cpp:(.text+0x7ce): undefined reference to
CDRMReceiver::InitsForDataParam()' obj/Parameter.o: In function
CParameter::SetAudDataFlag(int, CService::ETyOServ)':Parameter.cpp:(.text+0x7ee): undefined reference to
CDRMReceiver::InitsForMSC()' obj/Parameter.o: In function
CParameter::SetServiceID(int, unsigned int)':Parameter.cpp:(.text+0x2026): undefined reference to
CDRMReceiver::InitsForDataParam()' obj/fdrmdialog.o: In function
FDRMDialog::OnScheduleTimer()':fdrmdialog.cpp:(.text+0x69a): undefined reference to
CDRMReceiver::SetFrequency(int)' obj/fdrmdialog.o: In function
FDRMDialog::UpdateWindowTitle()':fdrmdialog.cpp:(.text+0xe18): undefined reference to
CDRMReceiver::GetInputFileName()' obj/fdrmdialog.o: In function
FDRMDialog::OnSwitchMode(int)':fdrmdialog.cpp:(.text+0x158c): undefined reference to `CDRMReceiver::SetReceiverMode(ERecMode)'
collect2: error: ld returned 1 exit status
Makefile:408: recipe for target 'dream' failed
make: *** [dream] Error 1
Any hint is appreciated.
Hi Julian,
I'm using Ubuntu 15.10 and after compile the Dream and FAAC and FAAD libraries using the following script https://gist.github.com/onetransistor/4cbe3a8ab5d47da22cde#file-dream_install-sh I could notice the following:
1- Dream closes unexpectally when I try to decode any file that is AAC. I repeated the steps for building the FAAD (available on Dream's Wiki) and I've double checked the files exists on /usr/local/lib/libfaac_drm.so. The exampĺes of OPUS codec runs normally.
Here is the error message on the console:
....
CSoundInPulse::close_HW()
dream: symbol lookup error: dream: undefined symbol: NeAACDecInitDRM
daniel@Ubuntu-Desktop:~/Downloads$
2- On transmitter mode dream -t I don't have the AAC codec available, only Opus. I also made the steps to build the FAAC, but seems something get strange. I suspect that both problems are somehow connected.
I suspect that the following instructions may be the problem:
4. Build and install Dream
wget http://downloads.sourceforge.net/drm/dream-2.1.1-svn808.tar.gz
tar zxf dream-2.1.1-svn808.tar.gz
cd dream
sed -i -- 's#$$OUT_PWD#/usr#g' dream.pro
sed -i -- 's#faad_drm#faad2_drm#g' dream.pro
$QMAKE_EXEC
make $MAKE_ARGS
sudo cp dream /usr/local/bin/dream
Thank you in advance for your help!
Last edit: Daniel Antoniazzi 2016-07-08
Hi Daniel. We made some changes to FAAD2 a while back so it creates both the DRM and normal versions of the library so it is possible you are copying the non-DRM version to /usr/local/lib. Have a look in the libfaad/.libs folder and see if there is an _drm.so file there.
It is possible that the FAAD2 package in 15.10 already includes this new version so it is worth removing your libraries and apt-get installing the default ones and seeing if you get an _drm.so
I don't think we did the same with FAAC, but you could look at the FAAC change log on sourceforge.
Another option would be to step back to previous versions of FAAD2 and FAAC - they should work with your script.
Last edit: Julian Cable 2016-07-08
Hi julian!
I couldn't understand why it was not working after several tries. I've checked and the _drm.so generated are the same.
So to not loose more time, I make a fresh install of Ubuntu 16.04.
After that I repeated the script and could make the transmitter working fine with both AAC and Opus. However the dream receiver mode continues with the same error closing when open a AAC file.
I tried to copy the dream files from Andy Ham Linux disribution that has Dream working fine. I've copied the files libs and the executable.
I replace them on my version, and guess what? Stills not working. The executable didn't work. The message was "file not found on /usr/local/bin/dream".
Only the libraries changes didn't change my problem. AAC files was closing dream.
I noticed that the dream on Andy's distribution has about 2.5Mb and mine compliled has 40Mb! So it was a clue that my compilation may have a issue.
Then I used the instructions on Dream wiki and then (finally!!!! :) ) it worked fine: drm.sourceforge.net/wiki/index.php/Building_on_apt_based_distros
The questions:
1) Why my compiled executable dream has 40Mb? Shouldn't it have around 2.5 to 3.0 Mb? What I'm doing wrong?
2) On Andy Ham Linux I couldn't find the libfaac2_drm.so on /usr/local/lib. But it works. This lib was placed in other directory. How dream works with this library?
3) I always need to execute dream with "sudo dream". If I don't do it the menu bar doesn't appear. What are the permissions that I should give to work on any user? Which files should have permissions changed?
Here is the dream extracted folder used to compile.
daniel@daniel-VPCW210AB:~/Downloads/dream$ ls -l
total 39504
-rw-r--r-- 1 daniel daniel 255 Nov 11 2013 AUTHORS
-rw-r--r-- 1 daniel daniel 8184 Nov 11 2013 ChangeLog
-rw-r--r-- 1 daniel daniel 15131 Nov 11 2013 COPYING
-rw-r--r-- 1 daniel daniel 186 Nov 11 2013 Desktop.ini
-rwxrwxr-x 1 daniel daniel 39988088 Jul 12 01:12 dream
-rw-r--r-- 1 daniel daniel 23297 Nov 11 2013 dream.pro
-rw-r--r-- 1 daniel daniel 389 Nov 11 2013 INSTALL
drwxr-xr-x 2 daniel daniel 4096 Nov 11 2013 libs
drwxr-xr-x 3 daniel daniel 4096 Nov 11 2013 linux
drwxr-xr-x 2 daniel daniel 4096 Nov 11 2013 macx
-rw-rw-r-- 1 daniel daniel 181854 Jul 12 00:52 Makefile
drwxrwxr-x 2 daniel daniel 4096 Jul 12 01:12 moc
-rw-r--r-- 1 daniel daniel 831 Nov 11 2013 NEWS
drwxrwxr-x 2 daniel daniel 4096 Jul 12 01:12 obj
-rw-rw-r-- 1 daniel daniel 164690 Jul 12 01:12 qrc_icons.cpp
-rw-r--r-- 1 daniel daniel 5719 Nov 11 2013 README
drwxr-xr-x 24 daniel daniel 4096 Nov 11 2013 src
-rw-r--r-- 1 daniel daniel 105 Nov 11 2013 TODO
drwxrwxr-x 2 daniel daniel 4096 Jul 12 00:52 ui
drwxr-xr-x 2 daniel daniel 4096 Nov 11 2013 windows
Last edit: Daniel Antoniazzi 2016-07-12
Probably you have compiled with the debug option on (gcc -g). Dream uses the operating system to find the AAC library - it may work as long as it is in the path. You shouldn't need sudo. Make sure there are no 'S' bits set on the files.
Hi everybody,
first of all sorry if this isn't the right place to post the issue but I sent a new discussion post a few days ago and I can't see it.
I'm trying to compile Dream with ALSA and FAAC supoort. After modify "dream.pro" file to compile Dream for ALSA and FAAC support I've to modify the files "dream/src/linux/soundin.h" and "dream/src/linux/soundout.h" to according the line
#include "../sound/soundinterface.h"
instead of
#include "../soundinterface.h"
But I still get the next compile errors:
hi Vic - its the right place.
Which version are you trying to compile?
Why do you want to use the alsa driver? For Linux we recommend the pulseaudio driver and the portaudio driver is also better than the alsa driver.
You should be able to select alsa and faac without modifying the dream.pro file.
qtmake CONFIG+=alsa CONFIG+=faac should do it.
Julian
Hi Julian,
I'm trying to compile svn1021.
I need ALSA support to decode from CubicSDR in my distro 'cos it doesn't work with PulseAudio devices.
Thanks.
PulseAudio is just a layer on top of alsa so it should be possible. What distro? I'll try and build svn1021 in a docker image.
Debian Testing with 4.19.0-1-amd64 kernel.
I've confirmed alsa is broken in 1021. Try https://sourceforge.net/projects/drm/files/dream/SNAPSHOTS/dream-935.tar.gz/download and I'll get it fixed in the development branch.
But you could also try pulseaudio. It should automatically detect any pure alsa devices.
With dream-935 I followed the next steps:
where it says
exists($$OUT_PWD/include/faac.h) {
I changed to
qmake CONFIG+=alsa
where it says
#include "../soundinterface.h"
I changed to
#include "../sound/soundinterface.h"
In file included from src/linux/alsa.cpp:27:
src/linux/soundin.h:55:21: error: conflicting return type specified for ‘virtual int CSoundIn::GetDev()’
virtual int GetDev();
^~~~~~
In file included from src/linux/../sound/soundinterface.h:32,
from src/linux/soundin.h:32,
from src/linux/alsa.cpp:27:
src/linux/../sound/selectioninterface.h:68:25: note: overridden function is ‘virtual std::cxx11::string CSelectionInterface::GetDev()’
virtual string GetDev()=0;
^~~~~~
In file included from src/linux/alsa.cpp:28:
src/linux/soundout.h:53:21: error: conflicting return type specified for ‘virtual int CSoundOut::GetDev()’
virtual int GetDev();
^~~~~~
In file included from src/linux/../sound/soundinterface.h:32,
from src/linux/soundin.h:32,
from src/linux/alsa.cpp:27:
src/linux/../sound/selectioninterface.h:68:25: note: overridden function is ‘virtual std::cxx11::string CSelectionInterface::GetDev()’
virtual string GetDev()=0;
^~~~~~
src/linux/alsa.cpp: In member function ‘void CSoundIn::Init_HW()’:
src/linux/alsa.cpp:102:56: error: ‘Parameters’ was not declared in this scope
err = snd_pcm_hw_params_set_rate(handle, hwparams, Parameters.GetSampleRate(), dir);
^~~~~~~~~~
src/linux/alsa.cpp:161:63: warning: ‘int snd_pcm_sw_params_set_xfer_align(snd_pcm_t, snd_pcm_sw_params_t, snd_pcm_uframes_t)’ is deprecated [-Wdeprecated-declarations]
err = snd_pcm_sw_params_set_xfer_align(handle, swparams, 1);
^
In file included from /usr/include/alsa/asoundlib.h:54,
from src/linux/soundcommon.h:37,
from src/linux/soundin.h:34,
from src/linux/alsa.cpp:27:
/usr/include/alsa/pcm.h:1331:5: note: declared here
int snd_pcm_sw_params_set_xfer_align(snd_pcm_t pcm, snd_pcm_sw_params_t params, snd_pcm_uframes_t val) attribute((deprecated));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/linux/alsa.cpp:161:63: warning: ‘int snd_pcm_sw_params_set_xfer_align(snd_pcm_t, snd_pcm_sw_params_t, snd_pcm_uframes_t)’ is deprecated [-Wdeprecated-declarations]
err = snd_pcm_sw_params_set_xfer_align(handle, swparams, 1);
^
In file included from /usr/include/alsa/asoundlib.h:54,
from src/linux/soundcommon.h:37,
from src/linux/soundin.h:34,
from src/linux/alsa.cpp:27:
/usr/include/alsa/pcm.h:1331:5: note: declared here
int snd_pcm_sw_params_set_xfer_align(snd_pcm_t pcm, snd_pcm_sw_params_t params, snd_pcm_uframes_t val) attribute((deprecated));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/linux/alsa.cpp: In member function ‘void CSoundOut::Init_HW()’:
src/linux/alsa.cpp:300:56: error: ‘Parameters’ was not declared in this scope
err = snd_pcm_hw_params_set_rate(handle, hwparams, Parameters.GetSampleRate(), dir);
^~~~~~~~~~
make: *** [Makefile:2851: obj/alsa.o] Error 1
I'll try with only PulseAudio in this SVN.
Thanks for your help.