Giter Club home page Giter Club logo

libilbc's Introduction

libilbc

Build Status

This is a packaging-friendly copy of the iLBC codec from the WebRTC project. It provides a base for distribution packages and can be used as drop-in replacement for the code from RFC 3591.

Compiling

libilbc requires the following to compile:

Abseil Common C++ Libraries is also a prerequisite, but it comes bundled with release tarballs (or provided as a submodule for Git users) so there's no need to install it separately.

  1. If you are not using a release tarball, you can clone this repo with:

    git clone --depth=1 https://github.com/TimothyGu/libilbc.git
    git submodule update --init
  2. Generate build files: cmake .

    If you instead want a static library, instead run cmake -DBUILD_SHARED_LIBS=OFF . per CMake docs.

  3. Build it: cmake --build .

    You should now get a library file (.so, .dylib, .dll, .a, or .lib depending on your platform) as well as a ilbc_test program.

  4. (optional) Try it out. This repo comes a sample.pcm audio file that is in a form ilbc_test accepts (raw signed 16-bit PCM, mono, sampled at 8000 Hz). The following command encodes sample.pcm to encoded.ilbc, and then decode it again to decoded.pcm.

    ./ilbc_test 20 sample.pcm encoded.ilbc decoded.pcm

    You can try to play the before/after audio with mpv:

    mpv --demuxer=rawaudio --demuxer-rawaudio-rate=8000 --demuxer-rawaudio-channels=1 sample.pcm
    mpv --demuxer=rawaudio --demuxer-rawaudio-rate=8000 --demuxer-rawaudio-channels=1 decoded.pcm

    You can create your own sample file too. The command I used was:

    ffmpeg -f pulse -i default -f s16le -filter:a "pan=1|c0=c0+c1,aresample=8000" sample.pcm

    which gets the audio input from Linux's PulseAudio, and then remixes and resamples it.

  5. (optional; for Unix-like systems) Installing. If you want to install the library and the ilbc_test utility to system locations, run either ninja install or make install depending on which build system you chose (or cmake --install . on CMake 3.15 or later). By default, the library gets installed to /usr/local; to tweak the install prefix, set -DCMAKE_INSTALL_PREFIX=<path> when running cmake; see docs.

Supported platforms

The following platforms are regularly run on CI and are thus supported:

  • Linux
    • ARMv5–7 (32-bit; soft and hard float)
    • ARMv8 (64-bit)
    • PowerPC (little-endian) (64-bit)
    • MIPS (little-endian) (64-bit)
    • x86-64
  • macOS on x86-64
  • Windows
    • x86-64 with Visual C++ 2019
    • x86-64 with clang-cl

The following architectures get cross-compiled on CI and thus probably work. But we don't know for sure if it actually runs:

  • Linux
    • MIPS (little-endian) (32-bit)
    • PowerPC (big-endian) (32/64-bit)
    • RISC-V (64-bit)
    • SPARC (64-bit)
  • Windows
    • ARM64 with Visual C++ 2019

These platforms are known to not work:

  • Linux
    • MIPS (big-endian) (32-bit)
  • Windows
    • ARM with Visual C++ 2019 (32-bit)

All other platforms may work out of the box. If they don't, a simple change to rtc_base/system/arch.h will most likely fix it up.

For packagers

There are some additional CMake options available to the fine folks packaging this library. For the most part, we use the GNUInstallDirs CMake module to determine where things are installed, which should generally do the right thing. If it doesn't, try:

  • -DCMAKE_INSTALL_PREFIX=<dir> for the prefix (usually defaults to /usr/local)
  • -DCMAKE_INSTALL_BINDIR=<dir> for executables and Windows DLLs
  • -DCMAKE_INSTALL_DOCDIR=<dir> for various Markdown documentation files
  • -DCMAKE_INSTALL_INCLUDEDIR=<dir> for C headers
  • -DCMAKE_INSTALL_LIBDIR=<dir> for static libraries (.a), Windows DLL import libraries (.lib), and non-Windows dynamic libraries (.so and .dylib)

libilbc's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

libilbc's Issues

[Request] PGP-sign tags and tarball sources

Thank you for PGP-signing the release commits, as this increases security.

Could you please also PGP-sign the tags? This will make it easier for packaging.

PGP-signing the tarball sources will be good too :)

Stop overwriting user compiler flags.

libilbc/CMakeLists.txt

Lines 53 to 64 in 6adb26d

if((CMAKE_C_COMPILER_ID STREQUAL "GNU") OR
(CMAKE_C_COMPILER_ID MATCHES "Clang" AND CMAKE_C_COMPILER_FRONTEND_VARIANT STREQUAL "GNU"))
set(CMAKE_C_FLAGS "-Wall -Wextra -Wmissing-prototypes -Wstrict-prototypes -Wno-unused-parameter -fno-strict-aliasing")
set(CMAKE_C_FLAGS_DEBUG "-g")
set(CMAKE_C_FLAGS_RELEASE "-O2")
endif()
if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR
(CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "GNU"))
set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wno-unused-parameter -fno-strict-aliasing")
set(CMAKE_CXX_FLAGS_DEBUG "-g")
set(CMAKE_CXX_FLAGS_RELEASE "-O2")
endif()

override toolchain settings. Please stop this!
Compiler flags like these don't belong into the CMakeLists.txt you either have a toolchain, preset or simply pass those via the cmd line.

Missing symbol from the shared library

The symbol WebRtcIlbcfix_InitDecode is missed from the shared library. The following command produces no output:

$ nm -D libilbc.so | grep 'WebRtcIlbcfix_InitDecode'

As a result, applications that uses this function and tries to link against libilbc.so fails to build. For example, FFmpeg is showing me this error:

/usr/bin/ld: /tmp/ffconf.mxjpOf0E/test.o: in function `check_WebRtcIlbcfix_InitDecode':
test.c:(.text+0x3): undefined reference to `WebRtcIlbcfix_InitDecode'
collect2: error: ld returned 1 exit status
ERROR: libilbc not found

This can be fixed by the following modification, but I'm not sure if it would be desirable for the project. Probably there could be a better solution.

--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -44,7 +44,6 @@ if(NOT CMAKE_BUILD_TYPE)
     set(CMAKE_BUILD_TYPE Release)
 endif()
 
-set(CMAKE_C_VISIBILITY_PRESET hidden)
 set(CMAKE_CXX_VISIBILITY_PRESET hidden)
 set(CMAKE_VISIBILITY_INLINES_HIDDEN 1)
 

New release?🤔

v3.0.4...main shows +340 commits since last release which was +2 years ago.

Do you have any plans to release new version? 🤔

error: ‘string_view’ in namespace ‘std’ does not name a type

My ENV:

~ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.4 LTS
Release:	22.04
Codename:	jammy
➜  ~ gcc --version
gcc (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

and I failed to build libilbc:

[  2%] Building CXX object CMakeFiles/ilbc.dir/rtc_base/checks.cc.o
/usr/bin/c++ -DWEBRTC_LINUX -DWEBRTC_POSIX -Dilbc_EXPORTS -I....../libilbc/. -I....../libilbc/abseil-cpp -I....../libilbc/build -Wall -Wextra -Wno-unused-parameter -fno-strict-aliasing -std=c++17 -O2 -std=gnu++14 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -MD -MT CMakeFiles/ilbc.dir/common_audio/signal_processing/dot_product_with_scale.cc.o -MF CMakeFiles/ilbc.dir/common_audio/signal_processing/dot_product_with_scale.cc.o.d -o CMakeFiles/ilbc.dir/common_audio/signal_processing/dot_product_with_scale.cc.o -c ....../libilbc/common_audio/signal_processing/dot_product_with_scale.cc
/usr/bin/c++ -DWEBRTC_LINUX -DWEBRTC_POSIX -Dilbc_EXPORTS -I....../libilbc/. -I....../libilbc/abseil-cpp -I....../libilbc/build -Wall -Wextra -Wno-unused-parameter -fno-strict-aliasing -std=c++17 -O2 -std=gnu++14 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -MD -MT CMakeFiles/ilbc.dir/rtc_base/checks.cc.o -MF CMakeFiles/ilbc.dir/rtc_base/checks.cc.o.d -o CMakeFiles/ilbc.dir/rtc_base/checks.cc.o -c ....../libilbc/rtc_base/checks.cc
In file included from ....../libilbc/./rtc_base/checks.h:58,
                 from ....../libilbc/./rtc_base/numerics/safe_conversions.h:18,
                 from ....../libilbc/common_audio/signal_processing/dot_product_with_scale.cc:13:
/usr/local/include/absl/strings/string_view.h:53:26: error: ‘string_view’ in namespace ‘std’ does not name a type
   53 | using string_view = std::string_view;
      |                          ^~~~~~~~~~~
/usr/local/include/absl/strings/string_view.h:53:21: note: ‘std::string_view’ is only available from C++17 onwards
   53 | using string_view = std::string_view;
      |                     ^~~
/usr/local/include/absl/strings/string_view.h:751:8: error: ‘string_view’ does not name a type
  751 | inline string_view ClippedSubstr(string_view s, size_t pos,
      |        ^~~~~~~~~~~
In file included from ....../libilbc/./rtc_base/checks.h:58,
                 from ....../libilbc/rtc_base/checks.cc:36:
/usr/local/include/absl/strings/string_view.h:53:26: error: ‘string_view’ in namespace ‘std’ does not name a type
   53 | using string_view = std::string_view;
      |                          ^~~~~~~~~~~
/usr/local/include/absl/strings/string_view.h:53:21: note: ‘std::string_view’ is only available from C++17 onwards
   53 | using string_view = std::string_view;
      |                     ^~~
/usr/local/include/absl/strings/string_view.h:762:11: error: ‘string_view’ does not name a type
  762 | constexpr string_view NullSafeStringView(absl::Nullable<const char*> p) {
      |           ^~~~~~~~~~~
/usr/local/include/absl/strings/string_view.h:751:8: error: ‘string_view’ does not name a type
  751 | inline string_view ClippedSubstr(string_view s, size_t pos,
      |        ^~~~~~~~~~~
/usr/local/include/absl/strings/string_view.h:762:11: error: ‘string_view’ does not name a type
  762 | constexpr string_view NullSafeStringView(absl::Nullable<const char*> p) {
      |           ^~~~~~~~~~~
....../libilbc/./rtc_base/checks.h:186:45: error: ISO C++ forbids declaration of ‘type name’ with no type [-fpermissive]
  186 | inline Val<CheckArgType::kStringView, const absl::string_view*> MakeVal(
      |                                             ^~~~
....../libilbc/./rtc_base/checks.h:186:63: error: template argument 2 is invalid
  186 | inline Val<CheckArgType::kStringView, const absl::string_view*> MakeVal(
      |                                                               ^
....../libilbc/./rtc_base/checks.h:187:17: error: ‘string_view’ in namespace ‘absl’ does not name a type
  187 |     const absl::string_view& x) {
      |                 ^~~~~~~~~~~
....../libilbc/./rtc_base/checks.h: In function ‘int rtc::webrtc_checks_impl::MakeVal(const int&)’:
....../libilbc/./rtc_base/checks.h:188:13: error: invalid conversion from ‘const int*’ to ‘int’ [-fpermissive]
  188 |   return {&x};
      |             ^
      |             |
      |             const int*
....../libilbc/./rtc_base/checks.h:186:45: error: ISO C++ forbids declaration of ‘type name’ with no type [-fpermissive]
  186 | inline Val<CheckArgType::kStringView, const absl::string_view*> MakeVal(
      |                                             ^~~~
....../libilbc/./rtc_base/checks.h:186:63: error: template argument 2 is invalid
  186 | inline Val<CheckArgType::kStringView, const absl::string_view*> MakeVal(
      |                                                               ^
....../libilbc/./rtc_base/checks.h:187:17: error: ‘string_view’ in namespace ‘absl’ does not name a type
  187 |     const absl::string_view& x) {
      |                 ^~~~~~~~~~~
....../libilbc/./rtc_base/checks.h: In function ‘int rtc::webrtc_checks_impl::MakeVal(const int&)’:
....../libilbc/./rtc_base/checks.h:188:13: error: invalid conversion from ‘const int*’ to ‘int’ [-fpermissive]
  188 |   return {&x};
      |             ^
      |             |
      |             const int*
....../libilbc/rtc_base/checks.cc: In function ‘bool rtc::webrtc_checks_impl::ParseArg(__va_list_tag (*)[1], const CheckArgType**, std::string*)’:
....../libilbc/rtc_base/checks.cc:116:19: error: ‘string_view’ in namespace ‘absl’ does not name a type
  116 |       const absl::string_view sv = *va_arg(*args, const absl::string_view*);
      |                   ^~~~~~~~~~~
....../libilbc/rtc_base/checks.cc:117:17: error: ‘sv’ was not declared in this scope; did you mean ‘s’?
  117 |       s->append(sv.data(), sv.size());
      |                 ^~
      |                 s
make[2]: *** [CMakeFiles/ilbc.dir/build.make:1115: CMakeFiles/ilbc.dir/common_audio/signal_processing/dot_product_with_scale.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [CMakeFiles/ilbc.dir/build.make:1465: CMakeFiles/ilbc.dir/rtc_base/checks.cc.o] Error 1
make[2]: Leaving directory '....../libilbc/build'
make[1]: *** [CMakeFiles/Makefile2:92: CMakeFiles/ilbc.dir/all] Error 2
make[1]: Leaving directory '....../libilbc/build'
make: *** [Makefile:139: all] Error 2

Can anybody help please?

Thank you

CMakeLists.txt proposed patch

In the upstream version CMake is used for the library creating.
CMake doesn't always fill the ${CMAKE_LIBRARY_ARCHITECTURE} variable (in fact on openSUSE it's empty). That's why a 64 bit library would go into /usr/lib which is wrong.

I suggest to apply this patch which determines if there is a need for lib64 or not:

--- CMakeLists.txt      2012-02-23 01:31:17.000000000 +0100
+++ CMakeLists.txt   2014-10-25 08:35:23.023656114 +0200
@@ -29,10 +29,16 @@
 set(CMAKE_C_FLAGS "-O2 -Wall -Wextra -Werror -fvisibility=hidden -Wno-unused-parameter -fno-strict-aliasing")

 set(prefix "${CMAKE_INSTALL_PREFIX}")
-set(exec_prefix "\${prefix}")
-set(libdir "\${exec_prefix}/lib")
-set(includedir "\${prefix}/include")
+set(exec_prefix "${prefix}")
+set(includedir "${prefix}/include")
+get_property(LIB64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
+if (${LIB64})
+    set(libdir "${exec_prefix}/lib64")
+else()
+    set(libdir "${exec_prefix}/lib")
+endif()
+
 configure_file(libilbc.pc.in libilbc.pc @ONLY)
-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libilbc.pc DESTINATION lib/${CMAKE_LIBRARY_ARCHITECTURE}/pkgconfig)
-install(FILES ilbc/interface/ilbc.h DESTINATION ${CMAKE_INSTALL_PREFIX}/include)
-install(TARGETS ilbc ilbc-static DESTINATION lib/${CMAKE_LIBRARY_ARCHITECTURE}/)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libilbc.pc DESTINATION ${libdir}/pkgconfig)
+install(FILES ilbc/interface/ilbc.h DESTINATION ${includedir})
+install(TARGETS ilbc ilbc-static DESTINATION ${libdir})

Issue with playing iLBC-encoded audio file

I am encountering an issue with playing an iLBC-encoded audio file. I have a piece of code that performs iLBC encoding and decoding on an input audio file. The code runs without any errors, and it generates an output file after encoding and decoding. However, I am unable to play the generated file using multiple media players.

I have verified that the input audio file is in 16-bit PCM format. I have also checked the parameters of the iLBC encoder and decoder, ensuring that they match the input file's sample rate, frame size, and other options. Despite these checks, the generated file remains unplayable.

I have tried using VLC media player, Windows Media Player, and Foobar2000, but none of them can play the file. Other audio files are playing fine on my system, indicating that there might be an issue specific to the iLBC-encoded file.

I would appreciate any guidance or suggestions on how to troubleshoot this problem. Additionally, if there are alternative approaches or tools to play iLBC-encoded audio files, please let me know.

Thank you for your assistance!

New release tarball

I believe we should release a new version of libilbc. Currently there is only one tag in the repo: upstream/1.1.1 which does not match anything I have found about WebRTC releases.

With a release it is easier for distros and system integrators to package libilbc.

CMake will fail if it is lower than CMake 3.12

When trying to build using CMake 3.9.6 it will fail because it does not recognize the HOMEPAGE_URL in the project() command in CMakeLists.txt. Recommendation is to either update cmake_minimum_required to version 3.12, which seems the first time the HOMEPAGE_URL keyword is recognized, or as i did to build on my side, remove the HOMEPAGE_URL in project() command.

Exact error in CMake GUI 3.9.6:
Missing variable is:
CMAKE_HOMEPAGE_URL_COMPILER_ENV_VAR
CMake Error: Error required internal CMake variable not set, cmake may not be built correctly.
Missing variable is:
CMAKE_HOMEPAGE_URL_COMPILER

no previous prototype for ‘WebRtcIlbcfix_DecodeImpl’ - error: expected identifier or ‘(’ before ‘int’

Failed to build libilbc.

My ENV:

~ uname -r
5.15.0-27-generic~ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04 LTS
Release:	22.04
Codename:	jammy~ gcc --version
gcc (Ubuntu 11.2.0-19ubuntu1) 11.2.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

I got the following error message while building libilbc.

libilbc 
....../libilbc/./modules/audio_coding/codecs/ilbc/decode.h:36:1: error: expected identifier or ‘(’ before ‘int’
....../libilbc/modules/audio_coding/codecs/ilbc/decode.c:44:5: warning: no previous prototype for ‘WebRtcIlbcfix_DecodeImpl’ [-Wmissing-prototypes]

Line 36 about WebRtcIlbcfix_DecodeImpl is as follows:

// Returns 0 on success, -1 on error.
ILBC_EXPORT
ABSL_MUST_USE_RESULT
int WebRtcIlbcfix_DecodeImpl(
    int16_t* decblock,         /* (o) decoded signal block */
    const uint16_t* bytes,     /* (i) encoded signal bits */
    IlbcDecoder* iLBCdec_inst, /* (i/o) the decoder state
                                           structure */
    int16_t mode               /* (i) 0: bad packet, PLC,
                                      1: normal */
);

Can anybody help please?

cmake error: config.h.cmakein does not exist.

Hi

On trying configure 2.0.1 with ccmake I get the following error:

CMake Error: File /root/14.1/libraries/libilbc/libilbc-2.0.1/config.h.cmakein does not exist.

CMake Error at CMakeLists.txt:52 (configure_file):
configure_file Problem configuring file

-Dave

Building on 32bit chroot on 64bit host produces objects in /usr/lib64

While building in a 32bit chroot on a 64bit host the shared object is installed in /usr/lib64 instead of /usr/lib.

I don't see any cmake option to specify libdir.

This line seems to be doing it:

get_property(LIB64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)

I can get around it by sedding the CMakeLists.txt for now, but wonder if there's a better way?

Unable to install generated ilbc_export.h

Hi,
Debian unstable amd64. The build fail with

-- Installing: /src/libilbc-3.0.1/debian/tmp/usr/lib/x86_64-linux-gnu/pkgconfig/libilbc.pc
-- Installing: /src/libilbc-3.0.1/debian/tmp/usr/include/ilbc.h
CMake Error at cmake_install.cmake:50 (file):
  file INSTALL cannot find "/src/libilbc-3.0.1/ilbc_export.h": No such file
  or directory.
FAILED: CMakeFiles/install.util

This simple patch fix this issue

--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -323,7 +323,9 @@ add_custom_target(ilbc_test-sample
 
 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libilbc.pc
         DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
-install(FILES ilbc.h ilbc_export.h
+install(FILES ilbc.h
+        DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/ilbc_export.h
         DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
 install(FILES CONTRIBUTING.md NEWS.md README.md
         DESTINATION ${CMAKE_INSTALL_DOCDIR})

typedefs.h for ppc/ppc64

--- libilbc-2.0.2/typedefs.h
+++ libilbc-2.0.2/typedefs.h
@@ -47,6 +47,13 @@
#elif defined(pnacl)
#define WEBRTC_ARCH_32_BITS
#define WEBRTC_ARCH_LITTLE_ENDIAN
+#elif defined(PPC)
+#define WEBRTC_ARCH_BIG_ENDIAN
+#if defined(PPC64)
+#define WEBRTC_ARCH_64_BITS
+#else
+#define WEBRTC_ARCH_32_BITS
+#endif
#else
#error Please add support for your architecture in typedefs.h
#endif

fails to build on cygwin:

$ autoreconf -i
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `.'.
libtoolize: copying file `./ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
libtoolize: copying file `m4/libtool.m4'
libtoolize: copying file `m4/ltoptions.m4'
libtoolize: copying file `m4/ltversion.m4'
libtoolize: copying file `m4/lt~obsolete.m4'
libtoolize: You should add the contents of `m4/lt~obsolete.m4' to `aclocal.m4'.
configure.ac:11: installing `./config.guess'
configure.ac:11: installing `./config.sub'
configure.ac:7: installing `./install-sh'
configure.ac:7: installing `./missing'
Makefile.am: installing `./depcomp'
$ cat m4/lt~obsolete.m4 >> aclocal.m4 
$ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking how to create a ustar tar archive... gnutar
checking whether make supports nested variables... yes
checking build system type... i686-pc-cygwin
checking host system type... i686-pc-cygwin
checking how to print strings... printf
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.exe
checking for suffix of executables... .exe
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/i686-pc-cygwin/bin/ld.exe
checking if the linker (/usr/i686-pc-cygwin/bin/ld.exe) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 8192
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert i686-pc-cygwin file names to i686-pc-cygwin format... func_convert_file_noop
checking how to convert i686-pc-cygwin file names to toolchain format... func_convert_file_noop
checking for /usr/i686-pc-cygwin/bin/ld.exe option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... file_magic ^x86 archive import|^x86 DLL
checking for dlltool... dlltool
checking how to associate runtime and link libraries... func_cygming_dll_for_implib
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for mt... no
checking if : is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -DDLL_EXPORT -DPIC
checking if gcc PIC flag -DDLL_EXPORT -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/i686-pc-cygwin/bin/ld.exe) supports shared libraries... yes
checking whether -lc should be explicitly linked in... yes
checking dynamic linker characteristics... Win32 ld.exe
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking dependency style of gcc... (cached) gcc3
checking for bash... /usr/bin/bash
checking if dolt supports this host... no, falling back to libtool
configure: creating ./config.status
config.status: creating Makefile
config.status: creating libilbc.pc
config.status: executing depfiles commands
config.status: executing libtool commands
$ make
  CC     abs_quant.lo
cc1: warnings being treated as errors
ilbc/abs_quant.c: In function 'WebRtcIlbcfix_AbsQuant':
ilbc/abs_quant.c:80:1: error: visibility attribute not supported in this configuration; ignored
Makefile:614: recipe for target `abs_quant.lo' failed
make: *** [abs_quant.lo] Error 1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.