[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] Undefined reference to gr_fxpt
From: |
Eric Blossom |
Subject: |
Re: [Discuss-gnuradio] Undefined reference to gr_fxpt |
Date: |
Mon, 3 Oct 2005 18:09:51 -0700 |
User-agent: |
Mutt/1.5.6i |
On Mon, Oct 03, 2005 at 04:24:13PM -0600, Robitaille, Michael wrote:
> Hello all,
>
>
>
> I have been trying to get the Gnu Radio 2.5 core to compile under the Fedora
> 4 Core. I have been following the instruction given at KD7lmo and with
> some work; I have gotten the baseline packages to work. I am using the
> tarball files since our network will not allow me to download with CVS. I
> am getting the following errors:
>
> ../../src/lib/.libs/libgnuradio-core.so: undefined reference to
> `gr_fxpt::TWO_TO_THE_31'
>
> ../../src/lib/.libs/libgnuradio-core.so: undefined reference to `gr_fxpt::PI
>
> Checking the archive I found that Eric Blossom said "this is our
> problem...". I am using gcc 4.0.0. Is there a fix for this problem or do I
> need to use gcc 3.4.1?
>
>
> Michael A. Robitaille
> Senior Engineer
This is fixed in CVS.
Here's the current version of gr_fxpt.cc that I believe fixed the problem.
/* -*- c++ -*- */
/*
* Copyright 2004 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
* GNU Radio is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* GNU Radio is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with GNU Radio; see the file COPYING. If not, write to
* the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <gr_fxpt.h>
const float gr_fxpt::s_sine_table[1 << NBITS][2] = {
#include "sine_table.h"
};
// gcc 4.x fix
const float gr_fxpt::TWO_TO_THE_31;
const float gr_fxpt::PI;
#if 0
/*
* Compute sine using table lookup with linear interpolation.
* Each table entry contains slope and intercept.
*/
float
gr_fxpt::sin (gr_int32 x)
{
gr_uint32 ux = x;
int index = ux >> (WORDBITS - NBITS);
return s_sine_table[index][0] * (ux >> 1) + s_sine_table[index][1];
}
float
gr_fxpt::cos (gr_int32 x)
{
gr_uint32 ux = x + 0x40000000;
int index = ux >> (WORDBITS - NBITS);
return s_sine_table[index][0] * (ux >> 1) + s_sine_table[index][1];
}
#endif