# Build fails

**URL:** <https://www.ruby-forum.com/t/build-fails/233557>\
**Category:** GNU Radio\
**Created:** [December 24, 2014, 8:43am UTC](https://www.ruby-forum.com/t/build-fails/233557 "2014-12-24T08:43:06Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![addis\_a](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/c4cdca/32.png) [@addis\_a](https://www.ruby-forum.com/u/addis_a)\
**Post date:** [December 24, 2014, 8:43am UTC](https://www.ruby-forum.com/t/build-fails/233557/1 "2014-12-24T08:43:06Z")

</div>

Hi all,

With latest sources (after a git pull) the build fails. Kubuntu 14.04 32  
bit, and a new gnuradio folder did not change things. Here the output:

[5%] Building C object  
volk/lib/CMakeFiles/volk.dir/volk\_machine\_avx\_32\_mmx\_orc.c.o

In file included from  
/home/ras/gnuradio/build/volk/lib/volk\_machine\_avx\_32\_mmx\_orc.c:65:0:

/home/ras/gnuradio/volk/kernels/volk/volk\_64u\_popcntpuppet\_64u.h: In  
function ‘volk\_64u\_popcntpuppet\_64u\_a\_sse4\_2’:

/home/ras/gnuradio/volk/kernels/volk/volk\_64u\_popcntpuppet\_64u.h:43:9:  
warning: implicit declaration of function ‘volk\_64u\_popcnt\_a\_sse4\_2’  
[-Wimplicit-function-declaration]

```
     volk_64u_popcnt_a_sse4_2(outVector+ii, num_points );

     ^

```

In file included from  
/home/ras/gnuradio/build/volk/lib/volk\_machine\_avx\_32\_mmx\_orc.c:149:0:

/home/ras/gnuradio/volk/kernels/volk/volk\_32f\_log2\_32f.h: At top level:

/home/ras/gnuradio/volk/kernels/volk/volk\_32f\_log2\_32f.h:64:0: warning:  
“LOG\_POLY\_DEGREE” redefined [enabled by default]

#define LOG\_POLY\_DEGREE 6

^

In file included from  
/home/ras/gnuradio/build/volk/lib/volk\_machine\_avx\_32\_mmx\_orc.c:140:0:

/home/ras/gnuradio/volk/kernels/volk/volk\_32f\_x2\_pow\_32f.h:35:0: note:  
this  
is the location of the previous definition

#define LOG\_POLY\_DEGREE 3

^

Linking C shared library libvolk.so

[5%] Built target volk

Scanning dependencies of target test\_all

[5%] Building CXX object volk/lib/CMakeFiles/test\_all.dir/testqa.cc.o

[5%] Building CXX object  
volk/lib/CMakeFiles/test\_all.dir/qa\_utils.cc.o

Linking CXX executable test\_all

libvolk.so.0.0.0: undefined reference to `volk\_64u\_popcnt\_a\_sse4\_2’

collect2: error: ld returned 1 exit status

make[2]: \*\*\* [volk/lib/test\_all] Error 1

make[1]: \*\*\* [volk/lib/CMakeFiles/test\_all.dir/all] Error 2

make: \*\*\* [all] Error 2

ras@ubuntu:~/gnuradio/build$

Ralph.

---

<div class="post-metadata">

**Author:** ![Ralph\_ASSchmidS\_dk](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/91b2a8/32.png) [@Ralph\_ASSchmidS\_dk](https://www.ruby-forum.com/u/Ralph_ASSchmidS_dk)\
**Post date:** [December 24, 2014, 9:43am UTC](https://www.ruby-forum.com/t/build-fails/233557/2 "2014-12-24T09:43:42Z")

</div>

A fix for this is to change line 39 in  
volk/kernels/volk/volk\_64u\_popcntpuppet\_64u.h

from

#ifdef LV\_HAVE\_SSE4\_2

to

#if LV\_HAVE\_SSE4\_2 && LV\_HAVE\_64

Ron

---

<div class="post-metadata">

**Author:** ![Ralph\_ASSchmidS\_dk](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/91b2a8/32.png) [@Ralph\_ASSchmidS\_dk](https://www.ruby-forum.com/u/Ralph_ASSchmidS_dk)\
**Post date:** [December 24, 2014, 10:28pm UTC](https://www.ruby-forum.com/t/build-fails/233557/3 "2014-12-24T22:28:58Z")

</div>

It’s a bug on 32-bit systems. Verified here on Ubuntu 13.10 32-bit.  
Re-running cmake is not going to help.

Ron

---

<div class="post-metadata">

**Author:** ![Ralph\_ASSchmidS\_dk](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/91b2a8/32.png) [@Ralph\_ASSchmidS\_dk](https://www.ruby-forum.com/u/Ralph_ASSchmidS_dk)\
**Post date:** [December 24, 2014, 4:05pm UTC](https://www.ruby-forum.com/t/build-fails/233557/4 "2014-12-24T16:05:15Z")

</div>

On Wed, Dec 24, 2014 at 2:42 AM, Ron E. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> bit, and a new gnuradio folder did not change things. Here the output:  
> /home/ras/gnuradio/volk/kernels/volk/volk\_64u\_popcntpuppet\_64u.h:43:9:  
> /home/ras/gnuradio/volk/kernels/volk/volk\_32f\_log2\_32f.h: At top level:
> 
> collect2: error: ld returned 1 exit status
> 
> Ralph.

You could also just rerun cmake.
