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

FIXED: Linking fails with undefined symbol on MacOS 10.7 #1

Open
wants to merge 49 commits into
base: master
Choose a base branch
from

Conversation

HounD
Copy link

@HounD HounD commented Mar 8, 2013

Linking CXX shared library libgnuradio-rds.dylib
Undefined symbols for architecture x86_64:
"boost::system::system_category()", referenced from:
global constructors keyed to gr_rds_bpsk_demod.cc in
gr_rds_bpsk_demod.cc.o
__Z41__static_initialization_and_destruction_0ii.clone.79 in
gr_rds_data_decoder.cc.o
global constructors keyed to gr_rds_data_encoder.cc in
gr_rds_data_encoder.cc.o
global constructors keyed to gr_rds_rate_enforcer.cc in
gr_rds_rate_enforcer.cc.o
global constructors keyed to gr_rds_freq_divider.cc in
gr_rds_freq_divider.cc.o
"boost::system::generic_category()", referenced from:
global constructors keyed to gr_rds_bpsk_demod.cc in
gr_rds_bpsk_demod.cc.o
__Z41__static_initialization_and_destruction_0ii.clone.79 in
gr_rds_data_decoder.cc.o
global constructors keyed to gr_rds_data_encoder.cc in
gr_rds_data_encoder.cc.o
global constructors keyed to gr_rds_rate_enforcer.cc in
gr_rds_rate_enforcer.cc.o
global constructors keyed to gr_rds_freq_divider.cc in
gr_rds_freq_divider.cc.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make[2]: *** [src/lib/libgnuradio-rds.dylib] Error 1
make[1]: *** [src/lib/CMakeFiles/gnuradio-rds.dir/all] Error 2
make: *** [all] Error 2

HounD and others added 30 commits March 8, 2013 13:57
Linking CXX shared library libgnuradio-rds.dylib
Undefined symbols for architecture x86_64:
  "boost::system::system_category()", referenced from:
      global constructors keyed to gr_rds_bpsk_demod.cc in
gr_rds_bpsk_demod.cc.o
      __Z41__static_initialization_and_destruction_0ii.clone.79 in
gr_rds_data_decoder.cc.o
      global constructors keyed to gr_rds_data_encoder.cc in
gr_rds_data_encoder.cc.o
      global constructors keyed to gr_rds_rate_enforcer.cc in
gr_rds_rate_enforcer.cc.o
      global constructors keyed to gr_rds_freq_divider.cc in
gr_rds_freq_divider.cc.o
  "boost::system::generic_category()", referenced from:
      global constructors keyed to gr_rds_bpsk_demod.cc in
gr_rds_bpsk_demod.cc.o
      __Z41__static_initialization_and_destruction_0ii.clone.79 in
gr_rds_data_decoder.cc.o
      global constructors keyed to gr_rds_data_encoder.cc in
gr_rds_data_encoder.cc.o
      global constructors keyed to gr_rds_rate_enforcer.cc in
gr_rds_rate_enforcer.cc.o
      global constructors keyed to gr_rds_freq_divider.cc in
gr_rds_freq_divider.cc.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make[2]: *** [src/lib/libgnuradio-rds.dylib] Error 1
make[1]: *** [src/lib/CMakeFiles/gnuradio-rds.dir/all] Error 2
make: *** [all] Error 2
Changed x perms on files
…00 to 50000 Hz.

This greatly reduces CPU usage, and doesn't appear to have any effect on the
performance of the receiver.  Without this change, the flowgraph can't even
keep up on my relatively powerful system (Core i5-2520M CPU @ 2.50GHz),
resulting in stuttering audio and RDS decoding errors.
This reduces noise, and ensures that the pilot amplitude is equal
to one, so that the L-R signal is not attenuated.  Before this fix,
it was so low that stereo audio could not be heard.
According to this document, the transmitter uses an RRC filter with
alpha=1, so I assume the receiver would work best with a matched
RRC filter:

http://www.db-thueringen.de/servlets/DerivateServlet/Derivate-18898/54_IWK_2009_1_0_08.pdf
Various improvements to the sample GRC flowgraph
The previous demodulator was using the stereo pilot as a phase reference
for the RDS PSK demodulator, but this doesn't always work because some
stations (several in my area) do not seem to have their RDS modulator
locked to their stereo pilot.  GNU Radio's MPSK receiver block uses a
Costas loop to recover the PSK carrier and decodes these stations well.
Various improvements to the sample GRC flowgraph
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 this pull request may close these issues.

3 participants