[opus] Problem compiling opus-tools-0.1.7

bat guano batguano999 at hotmail.com
Tue Sep 24 03:09:39 PDT 2013


Hi
I'm having a problem compiling opus-tools-0.1.7.
Version opus-tools-0.1.6 seems to compile OK.

I've tried with opus-1.0.3 and opus-1.1-beta.

The errors are like this:-
"undefined reference to `sqrtf'" etc.

This OS is Peppermint Three, similar to Ubuntu 12.04.
It uses:-
gcc --version
gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3


Google says it's maybe something to do with the "linking process" which might be caused by the gcc compiler.
Can something be done with the opus code to overcome this, or shall I compile on a different/better/newer OS?


***********************************************************************************************
peppermint at peppermint ~/build/opus-tools-0.1.7 $ make
make  all-recursive
make[1]: Entering directory `/home/peppermint/build/opus-tools-0.1.7'
Making all in .
make[2]: Entering directory `/home/peppermint/build/opus-tools-0.1.7'
  CC       src/opusenc-opus_header.o
  CC       src/opusenc-opusenc.o
  CC       src/opusenc-picture.o
  CC       src/opusenc-resample.o
src/resample.c: In function ‘update_filter’:
src/resample.c:607:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
src/resample.c:688:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
src/resample.c:696:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
src/resample.c:699:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
src/resample.c:706:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
src/resample.c: In function ‘opustools_resampler_process_float’:
src/resample.c:872:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
src/resample.c:875:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
src/resample.c: In function ‘opustools_resampler_process_int’:
src/resample.c:928:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
src/resample.c:935:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
src/resample.c:945:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  CC       src/opusenc-audio-in.o
  CC       src/opusenc-diag_range.o
  CC       src/opusenc-flac.o
  CC       src/opusenc-lpc.o
  CC       win32/opusenc-unicode_support.o
  CCLD     opusenc
  CC       src/opusdec-opus_header.o
  CC       src/opusdec-wav_io.o
  CC       src/opusdec-wave_out.o
  CC       src/opusdec-opusdec.o
  CC       src/opusdec-resample.o
src/resample.c: In function ‘update_filter’:
src/resample.c:607:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
src/resample.c:688:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
src/resample.c:696:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
src/resample.c:699:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
src/resample.c:706:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
src/resample.c: In function ‘opustools_resampler_process_float’:
src/resample.c:872:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
src/resample.c:875:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
src/resample.c: In function ‘opustools_resampler_process_int’:
src/resample.c:928:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
src/resample.c:935:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
src/resample.c:945:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  CC       src/opusdec-diag_range.o
  CC       win32/opusdec-unicode_support.o
  CCLD     opusdec
  CC       src/opusinfo-opus_header.o
  CC       src/opusinfo-opusinfo.o
  CC       src/opusinfo-info_opus.o
  CC       src/opusinfo-picture.o
  CC       win32/opusinfo-unicode_support.o
  CCLD     opusinfo
  CC       src/opusrtp.o
  CCLD     opusrtp
/usr/local/lib/libopus.a(opus_decoder.o): In function `opus_decode_frame':
/home/peppermint/build/opus-1.1-beta/src/opus_decoder.c:536: undefined reference to `exp'
/usr/local/lib/libopus.a(celt_decoder.o): In function `celt_decode_lost':
/home/peppermint/build/opus-1.1-beta/celt/celt_decoder.c:610: undefined reference to `sqrtf'
/home/peppermint/build/opus-1.1-beta/celt/celt_decoder.c:539: undefined reference to `sqrtf'
/usr/local/lib/libopus.a(pitch.o): In function `remove_doubling':
/home/peppermint/build/opus-1.1-beta/celt/pitch.c:445: undefined reference to `sqrtf'
/home/peppermint/build/opus-1.1-beta/celt/pitch.c:481: undefined reference to `sqrtf'
/usr/local/lib/libopus.a(quant_bands.o): In function `quant_coarse_energy_impl':
/home/peppermint/build/opus-1.1-beta/celt/quant_bands.c:202: undefined reference to `floorf'
/usr/local/lib/libopus.a(quant_bands.o): In function `quant_fine_energy':
/home/peppermint/build/opus-1.1-beta/celt/quant_bands.c:375: undefined reference to `floorf'
/usr/local/lib/libopus.a(quant_bands.o): In function `amp2Log2':
/home/peppermint/build/opus-1.1-beta/celt/quant_bands.c:547: undefined reference to `log'
/usr/local/lib/libopus.a(vq.o): In function `exp_rotation':
/home/peppermint/build/opus-1.1-beta/celt/vq.c:81: undefined reference to `cosf'
/home/peppermint/build/opus-1.1-beta/celt/vq.c:82: undefined reference to `cosf'
/usr/local/lib/libopus.a(vq.o): In function `alg_quant':
/home/peppermint/build/opus-1.1-beta/celt/vq.c:227: undefined reference to `floorf'
/usr/local/lib/libopus.a(vq.o): In function `normalise_residual':
/home/peppermint/build/opus-1.1-beta/celt/vq.c:126: undefined reference to `sqrtf'
/usr/local/lib/libopus.a(vq.o): In function `renormalise_vector':
/home/peppermint/build/opus-1.1-beta/celt/vq.c:366: undefined reference to `sqrtf'
/usr/local/lib/libopus.a(vq.o): In function `stereo_itheta':
/home/peppermint/build/opus-1.1-beta/celt/vq.c:411: undefined reference to `atan2'
/home/peppermint/build/opus-1.1-beta/celt/vq.c:411: undefined reference to `floor'
/home/peppermint/build/opus-1.1-beta/celt/vq.c:406: undefined reference to `sqrtf'
/home/peppermint/build/opus-1.1-beta/celt/vq.c:405: undefined reference to `sqrtf'
/usr/local/lib/libopus.a(bands.o): In function `intensity_stereo':
/home/peppermint/build/opus-1.1-beta/celt/bands.c:349: undefined reference to `sqrtf'
/usr/local/lib/libopus.a(bands.o): In function `compute_band_energies':
/home/peppermint/build/opus-1.1-beta/celt/bands.c:165: undefined reference to `sqrtf'
/usr/local/lib/libopus.a(bands.o): In function `denormalise_bands':
/home/peppermint/build/opus-1.1-beta/celt/bands.c:229: undefined reference to `exp'
/usr/local/lib/libopus.a(bands.o): In function `anti_collapse':
/home/peppermint/build/opus-1.1-beta/celt/bands.c:272: undefined reference to `exp'
/home/peppermint/build/opus-1.1-beta/celt/bands.c:309: undefined reference to `exp'
/home/peppermint/build/opus-1.1-beta/celt/bands.c:273: undefined reference to `sqrt'
/usr/local/lib/libopus.a(bands.o): In function `quant_band':
/home/peppermint/build/opus-1.1-beta/celt/bands.c:1171: undefined reference to `sqrt'
/usr/local/lib/libopus.a(bands.o): In function `stereo_merge':
/home/peppermint/build/opus-1.1-beta/celt/bands.c:406: undefined reference to `sqrtf'
/usr/local/lib/libopus.a(bands.o): In function `quant_band_stereo':
/home/peppermint/build/opus-1.1-beta/celt/bands.c:408: undefined reference to `sqrtf'
collect2: ld returned 1 exit status
make[2]: *** [opusrtp] Error 1
make[2]: Leaving directory `/home/peppermint/build/opus-tools-0.1.7'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/peppermint/build/opus-tools-0.1.7'
make: *** [all] Error 2
peppermint at peppermint ~/build/opus-tools-0.1.7 $ 		 	   		  


More information about the opus mailing list