[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#667079: uhd: FTBFS: error: 'rx_dsp_buff_size' was not declared in this scope



Hi!

"A. Maitland Bottoms" <bottoms@debian.org> writes:
>>>>>> Christoph Egger <christoph@debian.org> writes:
>> /build/buildd-uhd_3.4.0-2-kfreebsd-amd64-jnOr7B/uhd-3.4.0/host/examples/network_relay.cpp:210:111: error: 'rx_dsp_buff_size' was not declared in this scope
>
> Leading up to that is uhd-3.4.0/host/include/uhd/config.hpp
> // Platform defines for conditional parts of headers:
> // Taken from boost/config/select_platform_config.hpp,
> // however, we define macros, not strings for platforms.
> #if defined(linux) || defined(__linux) || defined(__linux__)
>     #define UHD_PLATFORM_LINUX
> #elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
>     #define UHD_PLATFORM_WIN32
> #elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
>     #define UHD_PLATFORM_MACOS
> #elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
>     #define UHD_PLATFORM_BSD
> #endif
>
> and uhd-3.4.0/host/examples/network_relay.cpp
> #if defined(UHD_PLATFORM_MACOS) || defined(UHD_PLATFORM_BSD)
>     //limit buffer resize on macos or it will error
>     const size_t rx_dsp_buff_size = size_t(1e6);
> #elif defined(UHD_PLATFORM_LINUX) || defined(UHD_PLATFORM_WIN32)
>     //set to half-a-second of buffering at max rate
>     const size_t rx_dsp_buff_size = size_t(50e6);
> #endif
>
>
>>From the error it looks like UHD_PLATFORM_BSD remained undefined.
> Isn't __FreeBSD__ defined in g++ for Debian's kfreebsd architectures?
>
> What do the debian-bsd folk recommend doing here?

__FreeBSD__ isn't defined on kfreebsd as it is used to both check for a
FreeBSD libc (which isn't present on kfreebsd) and a FreeBSD kernel
(which we have). Both Debian's kfreebsd and recent FreeBSD define
__FreeBSD_kernel__ to check for a FreeBSD kernel.

Depending on whether this conditional is for some kernel side difference
(and it looks like it is) you need to check for __FreeBSD_kernel__ in
addition to __FreeBSD__. If it was a check for libc properties you'd
probably want to add a (or replace the __linux__ with) __GLIBC__ that
does the same as linux.

Regards

    Christoph

-- 
9FED 5C6C E206 B70A 5857  70CA 9655 22B9 D49A E731
Debian Developer | Lisp Hacker | CaCert Assurer


Reply to: