G'day,
build of svn revision 5249 fails with following error message:
[...]
/bin/ksh ../../../../libtool --tag=CXX --mode=compile
g++ -DHAVE_CONFIG_H -I. -I../../../.. -DOMNITHREAD_POSIX=1
-I../../../../omnithread -I../../../../pmt/src/lib -I../../../../mblock/src/lib
-I../../../../usrp/host/lib/legacy -I../../../../usrp/host/lib/inband
-I../../../../usrp/firmware/include -I/usr/pkg/include -I/usr/pkg/include -g
-O2 -Wall -Woverloaded-virtual -pthread -MT
usrp_server.lo -MD -MP -MF .deps/usrp_server.Tpo -c -o usrp_server.lo
usrp_server.cc
g++ -DHAVE_CONFIG_H -I. -I../../../.. -DOMNITHREAD_POSIX=1
-I../../../../omnithread -I../../../../pmt/src/lib -I../../../../mblock/src/lib
-I../../../../usrp/host/lib/legacy -I../../../../usrp/host/lib/inband
-I../../../../usrp/firmware/include -I/usr/pkg/include -I/usr/pkg/include -g
-O2 -Wall -Woverloaded-virtual -pthread -MT
usrp_server.lo -MD -MP -MF .deps/usrp_server.Tpo -c
usrp_server.cc -fPIC -DPIC -o .libs/usrp_server.o
../../../../usrp/host/lib/legacy/usrp_bytesex.h:43: error: expected `)'
before '(' token
usrp_server.cc: In member function 'virtual void
usrp_server::handle_message(mb_message_sptr)':
[...]
This appears to be due to a typo in usrp_bytesex.h in line 43 where the
declaration of bswap32 should be bswap_32?
NetBSD does support byte-order swapping functions see excerpt of relevant man
page below. The GNU Radio configure script checks for byteswap.h to determine
support for these functions. NetBSD declares these functions in sys/bswap.h
and an appropriate fix would be to modify config/grc_usrp.m4 and
usrp/host/lib/legacy/usrp_bytesex.h, see attached diff files.
The source tree built and installed fine after implementing changes described
above. "make check" fails with errors in mblock module. I will have to
investigate this further.
sysinfo: NetBSD-i386 4.99.17, gnuradio svn revision 4259
cheerio Berndt
man 3 bswap
----------------------- 8< ---------------------------
NAME
bswap16, bswap32, bswap64 -- byte-order swapping functions
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <sys/types.h>
#include <machine/bswap.h>
uint16_t
bswap16(uint16_t);
uint32_t
bswap32(uint32_t);
uint64_t
bswap64(uint64_t);
----------------------- 8< ---------------------------
--- grc_usrp.m4.orig 2007-05-06 10:47:05.000000000 +0930
+++ grc_usrp.m4 2007-05-06 10:58:54.000000000 +0930
@@ -51,7 +51,7 @@
# These checks don't fail
AC_C_BIGENDIAN
- AC_CHECK_HEADERS([byteswap.h linux/compiler.h])
+ AC_CHECK_HEADERS([byteswap.h sys/bswap.h linux/compiler.h])
AC_CHECK_FUNCS([getrusage sched_setscheduler])
AC_CHECK_FUNCS([sigaction snprintf])
--- usrp_bytesex.h.orig 2007-05-06 10:28:04.000000000 +0930
+++ usrp_bytesex.h 2007-05-06 11:10:55.000000000 +0930
@@ -32,6 +32,8 @@
#ifdef HAVE_BYTESWAP_H
#include <byteswap.h>
+#elif HAVE_SYS_BSWAP_H
+#include <sys/bswap.h>
#else
static inline unsigned short int
bswap_16 (unsigned short int x)
@@ -40,7 +42,7 @@
}
static inline unsigned int
-bswap32 (unsigned int x)
+bswap_32 (unsigned int x)
{
return ((((x) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) \
| (((x) & 0x0000ff00) << 8) | (((x) & 0x000000ff) << 24));
*********************************************************************
The following GNU Radio components have been successfully configured:
config
omnithread
gnuradio-core
pmt
mblock
usrp
gr-usrp
gr-audio-jack
gr-audio-oss
gr-audio-portaudio
gr-atsc
gr-cvsd-vocoder
gr-gsm-fr-vocoder
gr-pager
gr-radio-astronomy
gr-trellis
gr-video-sdl
gr-qtgui
gr-wxgui
gr-sounder
gnuradio-examples
You my now run the make command to build these components.
*********************************************************************
The following components were skipped either because you asked not
to build them or they didn't pass configuration checks:
gr-audio-alsa
gr-audio-osx
gr-audio-windows
gr-comedi
These components will not be built.
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio