Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[speexdsp] Update CMake script for macOS/Linux #14758

Merged
merged 3 commits into from
Nov 30, 2020

Conversation

LRFLEW
Copy link
Contributor

@LRFLEW LRFLEW commented Nov 25, 2020

The CMake build for SpeexDSP in vcpkg was designed very narrowly for building on Windows. This is pretty clear with the presence of the lines like add_definitions(-D_WINDOWS -D_USRDLL) in the CMake file. This caused the build to fail for macOS and Linux. I went through, analyzing and understanding the project's autoconf setup, and writing a new CMake file that's more platform agnostic.

To make it simpler, I have the script make certain assumptions about the build setup. The CMake file generally assumes that the compiler is either MSVC, GCC, or Clang. This is mostly present in conditions for the different definitions of EXPORT and VAR_ARRAYS.

The original script used file(GLOB_RECURSE ...) to list the source and header files for the project. I switched this to explicitly listing the files instead. Looking through the autoconf files of the project, there were some minor differences from what the original was doing. Some source files were only compiled for specific FFT's (smallft.c, kiss_fft.c, and kiss_fftr.c), and one of the header files in the include directory is not actually set to install (speex_buffer.h).

The public header file speexdsp_types.h includes the integer type definitions for Windows and macOS, but Linux is expected to have speexdsp_config_types.h present. This file is generated by the autoconf configuration based on the headers and integer types available. If <stdint.h> is available (and has the fixed-size integer types), the configuration generated header will use it. For the CMake config file, I assume that it is available and configure the file directly to make it work correctly on Linux.

The download source for the project was change from the official source to the Github mirror with #11218. This appears to have been a workaround for an issue with CMake at the time which has since been resolved. Using a Git source does have the advantage of making --head builds possible, but the Github mirror is not kept up-to-date very well. (It was significantly behind until I made a PR that brought attention to the mirror). The official Git for the project is xiph's Gitlab. I asked on xiph's IRC about using it as the source in vcpkg, and they said that the original download url used is the preferred download source, and didn't want the Gitlab instance to be the main source, as the hosting for it is "donated" and they didn't want to send too much load onto it. As a compromise, I updated the portfile to use the official download link for release builds and the Gitlab instance for --head builds.

@JackBoosY JackBoosY added the category:port-bug The issue is with a library, which is something the port should already support label Nov 25, 2020
@LRFLEW
Copy link
Contributor Author

LRFLEW commented Nov 25, 2020

The CI ran into an error for the Windows builds. I don't get what's going on or what the appropriate fix should be. The error is as follows:

CMake Error: Could not open file for write in copy operation D:/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/include/speex/speexdsp_config_types.h.tmp
CMake Error: : System Error: Permission denied
CMake Error at CMakeLists.txt:92 (configure_file):
  configure_file Problem configuring file

I'm not sure why it would have permission errors, but I'm looking into changing the output location for the configure_file call.

EDIT: While writing this I had a realization of what I should do to fix this. I've pushed the change, so if I'm correct, the CI error should be gone now.

@LRFLEW LRFLEW force-pushed the speexdsp branch 2 times, most recently from 56e9f01 to 9aaf27b Compare November 26, 2020 19:40
@LRFLEW
Copy link
Contributor Author

LRFLEW commented Nov 26, 2020

The CI had build errors for the Windows ARM targets. Apparently the Neon support in SpeexDSP is written for GCC's inline ASM syntax and is not compatible with MSVC. I updated the portfile to not enable the explicit Neon optimizations when using MSVC.

@JackBoosY JackBoosY added the info:reviewed Pull Request changes follow basic guidelines label Nov 30, 2020
@strega-nil strega-nil merged commit 7313144 into microsoft:master Nov 30, 2020
@strega-nil
Copy link
Contributor

Cool, thanks @LRFLEW !

@BillyONeal
Copy link
Member

The linux build of speexdsp still fails for me; it was missed here because speexdsp is in ci.baseline.txt as failed.

BillyONeal added a commit to BillyONeal/vcpkg that referenced this pull request Dec 7, 2020
From most recent completed nightly build:
https://dev.azure.com/vcpkg/public/_build/results?buildId=46182

PASSING, REMOVE FROM FAIL LIST: ignition-msgs5:x64-linux (.\scripts\ci.baseline.txt)

I'm assuming this got fixed by @strega-nil 's llvm changes: microsoft#14399

PASSING, REMOVE FROM FAIL LIST: libraqm:x64-windows-static (.\scripts\ci.baseline.txt)

Cause unknown.

PASSING, REMOVE FROM FAIL LIST: openssl-windows:arm-uwp (.\scripts\ci.baseline.txt)
PASSING, REMOVE FROM FAIL LIST: openssl-windows:x64-uwp (.\scripts\ci.baseline.txt)

Probably fixed by microsoft#14308 ; also removed Supports: excluded entries for these.

PASSING, REMOVE FROM FAIL LIST: speexdsp:x64-osx (.\scripts\ci.baseline.txt)

Probably fixed by microsoft#14758

PASSING, REMOVE FROM FAIL LIST: sundials:arm64-windows (.\scripts\ci.baseline.txt)
PASSING, REMOVE FROM FAIL LIST: sundials:x64-windows (.\scripts\ci.baseline.txt)
PASSING, REMOVE FROM FAIL LIST: sundials:x86-windows (.\scripts\ci.baseline.txt)

Probably fixed by microsoft#14618

PASSING, REMOVE FROM FAIL LIST: wepoll:arm-uwp (.\scripts\ci.baseline.txt)
PASSING, REMOVE FROM FAIL LIST: wepoll:x64-uwp (.\scripts\ci.baseline.txt)

Probably fixed by microsoft#14456 -- and also fixed missing Supports.

REGRESSION: ceres:x64-windows. If expected, add ceres:x64-windows=fail to .\scripts\ci.baseline.txt.
REGRESSION: ceres:x86-windows. If expected, add ceres:x86-windows=fail to .\scripts\ci.baseline.txt.

Probably broken by microsoft#14719 ; ceres has:

```
if (BUILD_BENCHMARKS)
  find_package(benchmark QUIET)
  if (benchmark_FOUND)
     message("-- Found Google benchmark library. Building Ceres benchmarks.")
  else()
     message("-- Failed to find Google benchmark library, disabling build of benchmarks.")
     update_cache_variable(BUILD_BENCHMARKS OFF)
  endif()
  mark_as_advanced(benchmark_DIR)
endif()
```

so it passed there because Google Benchmark was not also installed. Worked around by `-DBUILD_BENCHMARKS=OFF`.

REGRESSION: dirent:arm64-windows. If expected, add dirent:arm64-windows=fail to .\scripts\ci.baseline.txt.

Transient:

```
-- Downloading https://github.com/tronkko/dirent/archive/1.23.2.tar.gz...
-- Downloading https://github.com/tronkko/dirent/archive/1.23.2.tar.gz... Failed. Status: 28;"Timeout was reached"
CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:184 (message):
```

REGRESSION: discord-rpc:arm64-windows. If expected, add discord-rpc:arm64-windows=fail to .\scripts\ci.baseline.txt.

Transient:

```
-- Downloading https://github.com/discordapp/discord-rpc/archive/v3.4.0.tar.gz...
-- Downloading https://github.com/discordapp/discord-rpc/archive/v3.4.0.tar.gz... Failed. Status: 28;"Timeout was reached"
CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:184 (message):
```

REGRESSION: libunibreak:x86-windows. If expected, add libunibreak:x86-windows=fail to .\scripts\ci.baseline.txt.

Transient:

```
-- Note: libunibreak only supports static library linkage. Building static library.
-- Downloading https://github.com/adah1972/libunibreak/archive/8df6ef4ebe5dbd2a49539d05366337ab7fb57ae3.tar.gz...
-- Downloading https://github.com/adah1972/libunibreak/archive/8df6ef4ebe5dbd2a49539d05366337ab7fb57ae3.tar.gz... Failed. Status: 28;"Timeout was reached"
```

REGRESSION: libzip:x86-windows. If expected, add libzip:x86-windows=fail to .\scripts\ci.baseline.txt.

Transient:

```
-- Downloading https://github.com/nih-at/libzip/archive/66e496489bdae81bfda8b0088172871d8fda0032.tar.gz...
-- Downloading https://github.com/nih-at/libzip/archive/66e496489bdae81bfda8b0088172871d8fda0032.tar.gz... Failed. Status: 28;"Timeout was reached"
CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:184 (message):
```

REGRESSION: ocilib:x64-windows-static. If expected, add ocilib:x64-windows-static=fail to .\scripts\ci.baseline.txt.

Probably broken by microsoft#13158 but it passed there:

       (Link target) ->
         chromium_base.lib(stack_trace_win.obj) : error LNK2001: unresolved external symbol __imp_SymCleanup [D:\buildtrees\ocilib\x64-windows-static-rel\4fc7a69e6d-337dbe59ca.clean\proj\dll\ocilib_dll_vs2019.vcxproj]

Looks like it was skipped before that PR because the port conflicts with chromium-base which couldn't have been caught in that PR. Putting it back on ci.baseline.txt.

REGRESSION: osgearth:x64-windows. If expected, add osgearth:x64-windows=fail to .\scripts\ci.baseline.txt.
REGRESSION: osgearth:x86-windows. If expected, add osgearth:x86-windows=fail to .\scripts\ci.baseline.txt.

Cause unknown. I think we should skip this one in ci.baseline.txt since I've never seen it work OK.

REGRESSION: qt5-tools:x64-windows-static. If expected, add qt5-tools:x64-windows-static=fail to .\scripts\ci.baseline.txt.

Last I heard @ras0219 was investigating this one but that's been a while now. I pinged him again.
BillyONeal added a commit that referenced this pull request Dec 7, 2020
From most recent completed nightly build:
https://dev.azure.com/vcpkg/public/_build/results?buildId=46182

PASSING, REMOVE FROM FAIL LIST: ignition-msgs5:x64-linux (.\scripts\ci.baseline.txt)

I'm assuming this got fixed by @strega-nil 's llvm changes: #14399

PASSING, REMOVE FROM FAIL LIST: libraqm:x64-windows-static (.\scripts\ci.baseline.txt)

Cause unknown.

PASSING, REMOVE FROM FAIL LIST: openssl-windows:arm-uwp (.\scripts\ci.baseline.txt)
PASSING, REMOVE FROM FAIL LIST: openssl-windows:x64-uwp (.\scripts\ci.baseline.txt)

Probably fixed by #14308 ; also removed Supports: excluded entries for these.

PASSING, REMOVE FROM FAIL LIST: speexdsp:x64-osx (.\scripts\ci.baseline.txt)

Probably fixed by #14758

PASSING, REMOVE FROM FAIL LIST: sundials:arm64-windows (.\scripts\ci.baseline.txt)
PASSING, REMOVE FROM FAIL LIST: sundials:x64-windows (.\scripts\ci.baseline.txt)
PASSING, REMOVE FROM FAIL LIST: sundials:x86-windows (.\scripts\ci.baseline.txt)

Probably fixed by #14618

PASSING, REMOVE FROM FAIL LIST: wepoll:arm-uwp (.\scripts\ci.baseline.txt)
PASSING, REMOVE FROM FAIL LIST: wepoll:x64-uwp (.\scripts\ci.baseline.txt)

Probably fixed by #14456 -- and also fixed missing Supports.

REGRESSION: ceres:x64-windows. If expected, add ceres:x64-windows=fail to .\scripts\ci.baseline.txt.
REGRESSION: ceres:x86-windows. If expected, add ceres:x86-windows=fail to .\scripts\ci.baseline.txt.

Probably broken by #14719 ; ceres has:

```
if (BUILD_BENCHMARKS)
  find_package(benchmark QUIET)
  if (benchmark_FOUND)
     message("-- Found Google benchmark library. Building Ceres benchmarks.")
  else()
     message("-- Failed to find Google benchmark library, disabling build of benchmarks.")
     update_cache_variable(BUILD_BENCHMARKS OFF)
  endif()
  mark_as_advanced(benchmark_DIR)
endif()
```

so it passed there because Google Benchmark was not also installed. Worked around by `-DBUILD_BENCHMARKS=OFF`.

REGRESSION: dirent:arm64-windows. If expected, add dirent:arm64-windows=fail to .\scripts\ci.baseline.txt.

Transient:

```
-- Downloading https://github.com/tronkko/dirent/archive/1.23.2.tar.gz...
-- Downloading https://github.com/tronkko/dirent/archive/1.23.2.tar.gz... Failed. Status: 28;"Timeout was reached"
CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:184 (message):
```

REGRESSION: discord-rpc:arm64-windows. If expected, add discord-rpc:arm64-windows=fail to .\scripts\ci.baseline.txt.

Transient:

```
-- Downloading https://github.com/discordapp/discord-rpc/archive/v3.4.0.tar.gz...
-- Downloading https://github.com/discordapp/discord-rpc/archive/v3.4.0.tar.gz... Failed. Status: 28;"Timeout was reached"
CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:184 (message):
```

REGRESSION: libunibreak:x86-windows. If expected, add libunibreak:x86-windows=fail to .\scripts\ci.baseline.txt.

Transient:

```
-- Note: libunibreak only supports static library linkage. Building static library.
-- Downloading https://github.com/adah1972/libunibreak/archive/8df6ef4ebe5dbd2a49539d05366337ab7fb57ae3.tar.gz...
-- Downloading https://github.com/adah1972/libunibreak/archive/8df6ef4ebe5dbd2a49539d05366337ab7fb57ae3.tar.gz... Failed. Status: 28;"Timeout was reached"
```

REGRESSION: libzip:x86-windows. If expected, add libzip:x86-windows=fail to .\scripts\ci.baseline.txt.

Transient:

```
-- Downloading https://github.com/nih-at/libzip/archive/66e496489bdae81bfda8b0088172871d8fda0032.tar.gz...
-- Downloading https://github.com/nih-at/libzip/archive/66e496489bdae81bfda8b0088172871d8fda0032.tar.gz... Failed. Status: 28;"Timeout was reached"
CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:184 (message):
```

REGRESSION: ocilib:x64-windows-static. If expected, add ocilib:x64-windows-static=fail to .\scripts\ci.baseline.txt.

Probably broken by #13158 but it passed there:

       (Link target) ->
         chromium_base.lib(stack_trace_win.obj) : error LNK2001: unresolved external symbol __imp_SymCleanup [D:\buildtrees\ocilib\x64-windows-static-rel\4fc7a69e6d-337dbe59ca.clean\proj\dll\ocilib_dll_vs2019.vcxproj]

Looks like it was skipped before that PR because the port conflicts with chromium-base which couldn't have been caught in that PR. Putting it back on ci.baseline.txt.

REGRESSION: osgearth:x64-windows. If expected, add osgearth:x64-windows=fail to .\scripts\ci.baseline.txt.
REGRESSION: osgearth:x86-windows. If expected, add osgearth:x86-windows=fail to .\scripts\ci.baseline.txt.

Cause unknown. I think we should skip this one in ci.baseline.txt since I've never seen it work OK.

REGRESSION: qt5-tools:x64-windows-static. If expected, add qt5-tools:x64-windows-static=fail to .\scripts\ci.baseline.txt.

Last I heard @ras0219 was investigating this one but that's been a while now. I pinged him again.
@LRFLEW
Copy link
Contributor Author

LRFLEW commented Dec 8, 2020

@BillyONeal I was working on a macOS machine, so I hadn't tested it on Linux myself. I had assumed that it would work based on my analysis of the automake script. If you can provide logs of the errors you're getting, I can take a look. Otherwise, I'll see if I get issues in a Docker instance, but it might take me some time to get around to it.

@BillyONeal
Copy link
Member

@LRFLEW Here you go:

billy@bion-ubuntu-18-04:~/vcpkg$ ./vcpkg install speexdsp
Computing installation plan...
The following packages will be built and installed:
    speexdsp[core]:x64-linux -> 1.2.0#3
Detecting compiler hash for triplet x64-linux...
Could not locate cached archive: /home/billy/.cache/vcpkg/archives/2d/2d63e6218aad1e3394293db35189b4f67c35fd1e.zip
Starting package 1/1: speexdsp:x64-linux
Building package speexdsp[core]:x64-linux...
-- Using cached /home/billy/vcpkg/downloads/speexdsp-1.2.0.tar.gz
-- Cleaning sources at /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source /home/billy/vcpkg/downloads/speexdsp-1.2.0.tar.gz
-- Using source at /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean
-- Configuring x64-linux-dbg
-- Configuring x64-linux-rel
-- Building x64-linux-dbg
CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:145 (message):
    Command failed: /home/billy/vcpkg/downloads/tools/cmake-3.18.4-linux/cmake-3.18.4-Linux-x86_64/bin/cmake --build . --config Debug --target install -- -v -j65
    Working Directory: /home/billy/vcpkg/buildtrees/speexdsp/x64-linux-dbg
    See logs for more information:
      /home/billy/vcpkg/buildtrees/speexdsp/install-x64-linux-dbg-out.log

Call Stack (most recent call first):
  scripts/cmake/vcpkg_build_cmake.cmake:96 (vcpkg_execute_build_process)
  scripts/cmake/vcpkg_install_cmake.cmake:27 (vcpkg_build_cmake)
  ports/speexdsp/portfile.cmake:41 (vcpkg_install_cmake)
  scripts/ports.cmake:136 (include)


Error: Building package speexdsp:x64-linux failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `./vcpkg update`, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
  Package: speexdsp:x64-linux
  Vcpkg version: 2020.11.12-unknownhash

Additionally, attach any relevant sections from the log files above.
billy@bion-ubuntu-18-04:~/vcpkg$ cat /home/billy/vcpkg/buildtrees/speexdsp/install-x64-linux-dbg-out.log
[1/11] /usr/bin/cc -DEXPORT="" -DFLOATING_POINT -DUSE_SMALLFT -DUSE_SSE -DUSE_SSE2 -DVAR_ARRAYS -I/home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/include -fPIC -g -MD -MT CMakeFiles/speexdsp.dir/libspeexdsp/mdf.c.o -MF CMakeFiles/speexdsp.dir/libspeexdsp/mdf.c.o.d -o CMakeFiles/speexdsp.dir/libspeexdsp/mdf.c.o -c /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/mdf.c
FAILED: CMakeFiles/speexdsp.dir/libspeexdsp/mdf.c.o
/usr/bin/cc -DEXPORT="" -DFLOATING_POINT -DUSE_SMALLFT -DUSE_SSE -DUSE_SSE2 -DVAR_ARRAYS -I/home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/include -fPIC -g -MD -MT CMakeFiles/speexdsp.dir/libspeexdsp/mdf.c.o -MF CMakeFiles/speexdsp.dir/libspeexdsp/mdf.c.o.d -o CMakeFiles/speexdsp.dir/libspeexdsp/mdf.c.o -c /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/mdf.c
In file included from /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/arch.h:70:0,
                 from /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/mdf.c:72:
/home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/include/speex/speexdsp_types.h:122:10: fatal error: speexdsp_config_types.h: No such file or directory
 #include "speexdsp_config_types.h"
          ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
[2/11] /usr/bin/cc -DEXPORT="" -DFLOATING_POINT -DUSE_SMALLFT -DUSE_SSE -DUSE_SSE2 -DVAR_ARRAYS -I/home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/include -fPIC -g -MD -MT CMakeFiles/speexdsp.dir/libspeexdsp/scal.c.o -MF CMakeFiles/speexdsp.dir/libspeexdsp/scal.c.o.d -o CMakeFiles/speexdsp.dir/libspeexdsp/scal.c.o -c /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/scal.c
FAILED: CMakeFiles/speexdsp.dir/libspeexdsp/scal.c.o
/usr/bin/cc -DEXPORT="" -DFLOATING_POINT -DUSE_SMALLFT -DUSE_SSE -DUSE_SSE2 -DVAR_ARRAYS -I/home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/include -fPIC -g -MD -MT CMakeFiles/speexdsp.dir/libspeexdsp/scal.c.o -MF CMakeFiles/speexdsp.dir/libspeexdsp/scal.c.o.d -o CMakeFiles/speexdsp.dir/libspeexdsp/scal.c.o -c /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/scal.c
In file included from /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/include/speex/speex_echo.h:40:0,
                 from /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/scal.c:47:
/home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/include/speex/speexdsp_types.h:122:10: fatal error: speexdsp_config_types.h: No such file or directory
 #include "speexdsp_config_types.h"
          ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
[3/11] /usr/bin/cc -DEXPORT="" -DFLOATING_POINT -DUSE_SMALLFT -DUSE_SSE -DUSE_SSE2 -DVAR_ARRAYS -I/home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/include -fPIC -g -MD -MT CMakeFiles/speexdsp.dir/libspeexdsp/fftwrap.c.o -MF CMakeFiles/speexdsp.dir/libspeexdsp/fftwrap.c.o.d -o CMakeFiles/speexdsp.dir/libspeexdsp/fftwrap.c.o -c /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/fftwrap.c
FAILED: CMakeFiles/speexdsp.dir/libspeexdsp/fftwrap.c.o
/usr/bin/cc -DEXPORT="" -DFLOATING_POINT -DUSE_SMALLFT -DUSE_SSE -DUSE_SSE2 -DVAR_ARRAYS -I/home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/include -fPIC -g -MD -MT CMakeFiles/speexdsp.dir/libspeexdsp/fftwrap.c.o -MF CMakeFiles/speexdsp.dir/libspeexdsp/fftwrap.c.o.d -o CMakeFiles/speexdsp.dir/libspeexdsp/fftwrap.c.o -c /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/fftwrap.c
In file included from /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/arch.h:70:0,
                 from /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/fftwrap.c:39:
/home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/include/speex/speexdsp_types.h:122:10: fatal error: speexdsp_config_types.h: No such file or directory
 #include "speexdsp_config_types.h"
          ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
[4/11] /usr/bin/cc -DEXPORT="" -DFLOATING_POINT -DUSE_SMALLFT -DUSE_SSE -DUSE_SSE2 -DVAR_ARRAYS -I/home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/include -fPIC -g -MD -MT CMakeFiles/speexdsp.dir/libspeexdsp/filterbank.c.o -MF CMakeFiles/speexdsp.dir/libspeexdsp/filterbank.c.o.d -o CMakeFiles/speexdsp.dir/libspeexdsp/filterbank.c.o -c /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/filterbank.c
FAILED: CMakeFiles/speexdsp.dir/libspeexdsp/filterbank.c.o
/usr/bin/cc -DEXPORT="" -DFLOATING_POINT -DUSE_SMALLFT -DUSE_SSE -DUSE_SSE2 -DVAR_ARRAYS -I/home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/include -fPIC -g -MD -MT CMakeFiles/speexdsp.dir/libspeexdsp/filterbank.c.o -MF CMakeFiles/speexdsp.dir/libspeexdsp/filterbank.c.o.d -o CMakeFiles/speexdsp.dir/libspeexdsp/filterbank.c.o -c /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/filterbank.c
In file included from /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/arch.h:70:0,
                 from /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/filterbank.h:37,
                 from /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/filterbank.c:38:
/home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/include/speex/speexdsp_types.h:122:10: fatal error: speexdsp_config_types.h: No such file or directory
 #include "speexdsp_config_types.h"
          ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
[5/11] /usr/bin/cc -DEXPORT="" -DFLOATING_POINT -DUSE_SMALLFT -DUSE_SSE -DUSE_SSE2 -DVAR_ARRAYS -I/home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/include -fPIC -g -MD -MT CMakeFiles/speexdsp.dir/libspeexdsp/jitter.c.o -MF CMakeFiles/speexdsp.dir/libspeexdsp/jitter.c.o.d -o CMakeFiles/speexdsp.dir/libspeexdsp/jitter.c.o -c /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/jitter.c
FAILED: CMakeFiles/speexdsp.dir/libspeexdsp/jitter.c.o
/usr/bin/cc -DEXPORT="" -DFLOATING_POINT -DUSE_SMALLFT -DUSE_SSE -DUSE_SSE2 -DVAR_ARRAYS -I/home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/include -fPIC -g -MD -MT CMakeFiles/speexdsp.dir/libspeexdsp/jitter.c.o -MF CMakeFiles/speexdsp.dir/libspeexdsp/jitter.c.o.d -o CMakeFiles/speexdsp.dir/libspeexdsp/jitter.c.o -c /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/jitter.c
In file included from /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/arch.h:70:0,
                 from /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/jitter.c:57:
/home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/include/speex/speexdsp_types.h:122:10: fatal error: speexdsp_config_types.h: No such file or directory
 #include "speexdsp_config_types.h"
          ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
[6/11] /usr/bin/cc -DEXPORT="" -DFLOATING_POINT -DUSE_SMALLFT -DUSE_SSE -DUSE_SSE2 -DVAR_ARRAYS -I/home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/include -fPIC -g -MD -MT CMakeFiles/speexdsp.dir/libspeexdsp/resample.c.o -MF CMakeFiles/speexdsp.dir/libspeexdsp/resample.c.o.d -o CMakeFiles/speexdsp.dir/libspeexdsp/resample.c.o -c /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/resample.c
FAILED: CMakeFiles/speexdsp.dir/libspeexdsp/resample.c.o
/usr/bin/cc -DEXPORT="" -DFLOATING_POINT -DUSE_SMALLFT -DUSE_SSE -DUSE_SSE2 -DVAR_ARRAYS -I/home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/include -fPIC -g -MD -MT CMakeFiles/speexdsp.dir/libspeexdsp/resample.c.o -MF CMakeFiles/speexdsp.dir/libspeexdsp/resample.c.o.d -o CMakeFiles/speexdsp.dir/libspeexdsp/resample.c.o -c /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/resample.c
In file included from /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/include/speex/speex_resampler.h:89:0,
                 from /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/resample.c:76:
/home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/include/speex/speexdsp_types.h:122:10: fatal error: speexdsp_config_types.h: No such file or directory
 #include "speexdsp_config_types.h"
          ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
[7/11] /usr/bin/cc -DEXPORT="" -DFLOATING_POINT -DUSE_SMALLFT -DUSE_SSE -DUSE_SSE2 -DVAR_ARRAYS -I/home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/include -fPIC -g -MD -MT CMakeFiles/speexdsp.dir/libspeexdsp/buffer.c.o -MF CMakeFiles/speexdsp.dir/libspeexdsp/buffer.c.o.d -o CMakeFiles/speexdsp.dir/libspeexdsp/buffer.c.o -c /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/buffer.c
FAILED: CMakeFiles/speexdsp.dir/libspeexdsp/buffer.c.o
/usr/bin/cc -DEXPORT="" -DFLOATING_POINT -DUSE_SMALLFT -DUSE_SSE -DUSE_SSE2 -DVAR_ARRAYS -I/home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/include -fPIC -g -MD -MT CMakeFiles/speexdsp.dir/libspeexdsp/buffer.c.o -MF CMakeFiles/speexdsp.dir/libspeexdsp/buffer.c.o.d -o CMakeFiles/speexdsp.dir/libspeexdsp/buffer.c.o -c /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/buffer.c
In file included from /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/arch.h:70:0,
                 from /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/buffer.c:40:
/home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/include/speex/speexdsp_types.h:122:10: fatal error: speexdsp_config_types.h: No such file or directory
 #include "speexdsp_config_types.h"
          ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
[8/11] /usr/bin/cc -DEXPORT="" -DFLOATING_POINT -DUSE_SMALLFT -DUSE_SSE -DUSE_SSE2 -DVAR_ARRAYS -I/home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/include -fPIC -g -MD -MT CMakeFiles/speexdsp.dir/libspeexdsp/preprocess.c.o -MF CMakeFiles/speexdsp.dir/libspeexdsp/preprocess.c.o.d -o CMakeFiles/speexdsp.dir/libspeexdsp/preprocess.c.o -c /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/preprocess.c
FAILED: CMakeFiles/speexdsp.dir/libspeexdsp/preprocess.c.o
/usr/bin/cc -DEXPORT="" -DFLOATING_POINT -DUSE_SMALLFT -DUSE_SSE -DUSE_SSE2 -DVAR_ARRAYS -I/home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/include -fPIC -g -MD -MT CMakeFiles/speexdsp.dir/libspeexdsp/preprocess.c.o -MF CMakeFiles/speexdsp.dir/libspeexdsp/preprocess.c.o.d -o CMakeFiles/speexdsp.dir/libspeexdsp/preprocess.c.o -c /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/preprocess.c
In file included from /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/include/speex/speex_preprocess.h:46:0,
                 from /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/preprocess.c:63:
/home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/include/speex/speexdsp_types.h:122:10: fatal error: speexdsp_config_types.h: No such file or directory
 #include "speexdsp_config_types.h"
          ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
[9/11] /usr/bin/cc -DEXPORT="" -DFLOATING_POINT -DUSE_SMALLFT -DUSE_SSE -DUSE_SSE2 -DVAR_ARRAYS -I/home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/include -fPIC -g -MD -MT CMakeFiles/speexdsp.dir/libspeexdsp/smallft.c.o -MF CMakeFiles/speexdsp.dir/libspeexdsp/smallft.c.o.d -o CMakeFiles/speexdsp.dir/libspeexdsp/smallft.c.o -c /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/smallft.c
FAILED: CMakeFiles/speexdsp.dir/libspeexdsp/smallft.c.o
/usr/bin/cc -DEXPORT="" -DFLOATING_POINT -DUSE_SMALLFT -DUSE_SSE -DUSE_SSE2 -DVAR_ARRAYS -I/home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/include -fPIC -g -MD -MT CMakeFiles/speexdsp.dir/libspeexdsp/smallft.c.o -MF CMakeFiles/speexdsp.dir/libspeexdsp/smallft.c.o.d -o CMakeFiles/speexdsp.dir/libspeexdsp/smallft.c.o -c /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/smallft.c
In file included from /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/arch.h:70:0,
                 from /home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/libspeexdsp/smallft.c:37:
/home/billy/vcpkg/buildtrees/speexdsp/src/1.2.0-b3a579389f.clean/include/speex/speexdsp_types.h:122:10: fatal error: speexdsp_config_types.h: No such file or directory
 #include "speexdsp_config_types.h"
          ^~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
ninja: build stopped: subcommand failed.
billy@bion-ubuntu-18-04:~/vcpkg$

To be clear, I don't think we're clamoring to do anything specifically here; this port has always been in ci.baseline.txt. Just letting you know in case you were depending on that to work.

@LRFLEW
Copy link
Contributor Author

LRFLEW commented Dec 9, 2020

 include/speex/speexdsp_types.h:122:10: fatal error: speexdsp_config_types.h: No such file or directory
 #include "speexdsp_config_types.h"
          ^~~~~~~~~~~~~~~~~~~~~~~~~

I had added handling for speexdsp_config_types.h, so it is a bug if that's the issue. My guess is that the quick fix I made for this issue isn't working correctly. I'll issue a PR for it.

To be clear, I don't think we're clamoring to do anything specifically here; this port has always been in ci.baseline.txt. Just letting you know in case you were depending on that to work.

I'm not depending on Linux support for what I'm doing, but I was intending on making Linux support work, and I don't mind taking time to see that through.

Sungeun0318 pushed a commit to Sungeun0318/-vcpkg that referenced this pull request May 15, 2024
From most recent completed nightly build:
https://dev.azure.com/vcpkg/public/_build/results?buildId=46182

PASSING, REMOVE FROM FAIL LIST: ignition-msgs5:x64-linux (.\scripts\ci.baseline.txt)

I'm assuming this got fixed by @strega-nil 's llvm changes: microsoft/vcpkg#14399

PASSING, REMOVE FROM FAIL LIST: libraqm:x64-windows-static (.\scripts\ci.baseline.txt)

Cause unknown.

PASSING, REMOVE FROM FAIL LIST: openssl-windows:arm-uwp (.\scripts\ci.baseline.txt)
PASSING, REMOVE FROM FAIL LIST: openssl-windows:x64-uwp (.\scripts\ci.baseline.txt)

Probably fixed by microsoft/vcpkg#14308 ; also removed Supports: excluded entries for these.

PASSING, REMOVE FROM FAIL LIST: speexdsp:x64-osx (.\scripts\ci.baseline.txt)

Probably fixed by microsoft/vcpkg#14758

PASSING, REMOVE FROM FAIL LIST: sundials:arm64-windows (.\scripts\ci.baseline.txt)
PASSING, REMOVE FROM FAIL LIST: sundials:x64-windows (.\scripts\ci.baseline.txt)
PASSING, REMOVE FROM FAIL LIST: sundials:x86-windows (.\scripts\ci.baseline.txt)

Probably fixed by microsoft/vcpkg#14618

PASSING, REMOVE FROM FAIL LIST: wepoll:arm-uwp (.\scripts\ci.baseline.txt)
PASSING, REMOVE FROM FAIL LIST: wepoll:x64-uwp (.\scripts\ci.baseline.txt)

Probably fixed by microsoft/vcpkg#14456 -- and also fixed missing Supports.

REGRESSION: ceres:x64-windows. If expected, add ceres:x64-windows=fail to .\scripts\ci.baseline.txt.
REGRESSION: ceres:x86-windows. If expected, add ceres:x86-windows=fail to .\scripts\ci.baseline.txt.

Probably broken by microsoft/vcpkg#14719 ; ceres has:

```
if (BUILD_BENCHMARKS)
  find_package(benchmark QUIET)
  if (benchmark_FOUND)
     message("-- Found Google benchmark library. Building Ceres benchmarks.")
  else()
     message("-- Failed to find Google benchmark library, disabling build of benchmarks.")
     update_cache_variable(BUILD_BENCHMARKS OFF)
  endif()
  mark_as_advanced(benchmark_DIR)
endif()
```

so it passed there because Google Benchmark was not also installed. Worked around by `-DBUILD_BENCHMARKS=OFF`.

REGRESSION: dirent:arm64-windows. If expected, add dirent:arm64-windows=fail to .\scripts\ci.baseline.txt.

Transient:

```
-- Downloading https://github.com/tronkko/dirent/archive/1.23.2.tar.gz...
-- Downloading https://github.com/tronkko/dirent/archive/1.23.2.tar.gz... Failed. Status: 28;"Timeout was reached"
CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:184 (message):
```

REGRESSION: discord-rpc:arm64-windows. If expected, add discord-rpc:arm64-windows=fail to .\scripts\ci.baseline.txt.

Transient:

```
-- Downloading https://github.com/discordapp/discord-rpc/archive/v3.4.0.tar.gz...
-- Downloading https://github.com/discordapp/discord-rpc/archive/v3.4.0.tar.gz... Failed. Status: 28;"Timeout was reached"
CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:184 (message):
```

REGRESSION: libunibreak:x86-windows. If expected, add libunibreak:x86-windows=fail to .\scripts\ci.baseline.txt.

Transient:

```
-- Note: libunibreak only supports static library linkage. Building static library.
-- Downloading https://github.com/adah1972/libunibreak/archive/8df6ef4ebe5dbd2a49539d05366337ab7fb57ae3.tar.gz...
-- Downloading https://github.com/adah1972/libunibreak/archive/8df6ef4ebe5dbd2a49539d05366337ab7fb57ae3.tar.gz... Failed. Status: 28;"Timeout was reached"
```

REGRESSION: libzip:x86-windows. If expected, add libzip:x86-windows=fail to .\scripts\ci.baseline.txt.

Transient:

```
-- Downloading https://github.com/nih-at/libzip/archive/66e496489bdae81bfda8b0088172871d8fda0032.tar.gz...
-- Downloading https://github.com/nih-at/libzip/archive/66e496489bdae81bfda8b0088172871d8fda0032.tar.gz... Failed. Status: 28;"Timeout was reached"
CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:184 (message):
```

REGRESSION: ocilib:x64-windows-static. If expected, add ocilib:x64-windows-static=fail to .\scripts\ci.baseline.txt.

Probably broken by microsoft/vcpkg#13158 but it passed there:

       (Link target) ->
         chromium_base.lib(stack_trace_win.obj) : error LNK2001: unresolved external symbol __imp_SymCleanup [D:\buildtrees\ocilib\x64-windows-static-rel\4fc7a69e6d-337dbe59ca.clean\proj\dll\ocilib_dll_vs2019.vcxproj]

Looks like it was skipped before that PR because the port conflicts with chromium-base which couldn't have been caught in that PR. Putting it back on ci.baseline.txt.

REGRESSION: osgearth:x64-windows. If expected, add osgearth:x64-windows=fail to .\scripts\ci.baseline.txt.
REGRESSION: osgearth:x86-windows. If expected, add osgearth:x86-windows=fail to .\scripts\ci.baseline.txt.

Cause unknown. I think we should skip this one in ci.baseline.txt since I've never seen it work OK.

REGRESSION: qt5-tools:x64-windows-static. If expected, add qt5-tools:x64-windows-static=fail to .\scripts\ci.baseline.txt.

Last I heard @ras0219 was investigating this one but that's been a while now. I pinged him again.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-bug The issue is with a library, which is something the port should already support info:reviewed Pull Request changes follow basic guidelines
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants