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

Windows build fails to link #53

Open
Be-ing opened this issue Jan 20, 2022 · 17 comments
Open

Windows build fails to link #53

Be-ing opened this issue Jan 20, 2022 · 17 comments

Comments

@Be-ing
Copy link

Be-ing commented Jan 20, 2022

[21/23] "C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/lib.exe" "csr" librubberband_objlib.a librubberband_objlib.a.p/src_rubberband-c.cpp.obj librubberband_objlib.a.p/src_RubberBandStretcher.cpp.obj librubberband_objlib.a.p/src_StretcherProcess.cpp.obj librubberband_objlib.a.p/src_StretchCalculator.cpp.obj librubberband_objlib.a.p/src_base_Profiler.cpp.obj librubberband_objlib.a.p/src_dsp_AudioCurveCalculator.cpp.obj librubberband_objlib.a.p/src_audiocurves_CompoundAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_SpectralDifferenceAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_HighFrequencyAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_SilentAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_ConstantAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_PercussiveAudioCurve.cpp.obj librubberband_objlib.a.p/src_dsp_Resampler.cpp.obj librubberband_objlib.a.p/src_dsp_FFT.cpp.obj librubberband_objlib.a.p/src_system_Allocators.cpp.obj librubberband_objlib.a.p/src_system_sysutils.cpp.obj librubberband_objlib.a.p/src_system_Thread.cpp.obj librubberband_objlib.a.p/src_StretcherChannelData.cpp.obj librubberband_objlib.a.p/src_StretcherImpl.cpp.obj librubberband_objlib.a.p/src_dsp_BQResampler.cpp.obj
FAILED: librubberband_objlib.a 
"C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/lib.exe" "csr" librubberband_objlib.a librubberband_objlib.a.p/src_rubberband-c.cpp.obj librubberband_objlib.a.p/src_RubberBandStretcher.cpp.obj librubberband_objlib.a.p/src_StretcherProcess.cpp.obj librubberband_objlib.a.p/src_StretchCalculator.cpp.obj librubberband_objlib.a.p/src_base_Profiler.cpp.obj librubberband_objlib.a.p/src_dsp_AudioCurveCalculator.cpp.obj librubberband_objlib.a.p/src_audiocurves_CompoundAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_SpectralDifferenceAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_HighFrequencyAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_SilentAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_ConstantAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_PercussiveAudioCurve.cpp.obj librubberband_objlib.a.p/src_dsp_Resampler.cpp.obj librubberband_objlib.a.p/src_dsp_FFT.cpp.obj librubberband_objlib.a.p/src_system_Allocators.cpp.obj librubberband_objlib.a.p/src_system_sysutils.cpp.obj librubberband_objlib.a.p/src_system_Thread.cpp.obj librubberband_objlib.a.p/src_StretcherChannelData.cpp.obj librubberband_objlib.a.p/src_StretcherImpl.cpp.obj librubberband_objlib.a.p/src_dsp_BQResampler.cpp.obj
Microsoft (R) Library Manager Version 14.29.30139.0
Copyright (C) Microsoft Corporation.  All rights reserved.

LINK : fatal error LNK1181: cannot open input file 'csr'

Discovered on vcpkg CI

Meson output:

DEPRECATION: c_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: cpp_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: c_link_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
DEPRECATION: cpp_link_args in the [properties] section of the machine file is deprecated, use the [built-in options] section.
WARNING: Recommend using either -Dbuildtype or -Doptimization + -Ddebug. Using both is redundant since they override each other. See: https://mesonbuild.com/Builtin-options.html#build-type-options
The Meson build system
Version: 0.58.1
Source dir: D:\buildtrees\rubberband\src\v2.0.1-78e2246311.clean
Build dir: D:\buildtrees\rubberband\x64-windows-dbg
Build type: native build
Project name: Rubber Band Library
Project version: 2.0.1
C compiler for the host machine: C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe (msvc 19.29.30139 "Microsoft (R) C/C++ Optimizing Compiler Version 19.29.30139 for x64")
C linker for the host machine: C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/link.exe link 14.29.30139.0
C++ compiler for the host machine: C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe (msvc 19.29.30139 "Microsoft (R) C/C++ Optimizing Compiler Version 19.29.30139 for x64")
C++ linker for the host machine: C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/link.exe link 14.29.30139.0
Host machine cpu family: x86_64
Host machine cpu: x86_64
Found pkg-config: D:/downloads/tools/msys2/aa5af7b2aa7e90e8/mingw32/bin/pkg-config.exe (0.29.2)
Found CMake: D:/downloads/tools/cmake-3.21.1-windows/cmake-3.21.1-windows-i386/bin/cmake.exe (3.21.1)
Run-time dependency fftw3 found: NO (tried pkgconfig and cmake)
Run-time dependency samplerate found: NO (tried pkgconfig and cmake)
Run-time dependency sndfile found: NO (tried pkgconfig and cmake)
Run-time dependency vamp-sdk found: NO (tried pkgconfig and cmake)
Run-time dependency threads found: YES
Has header "ladspa.h" : NO 
Has header "lv2.h" : NO 
Checking for function "sincos" : NO 
Has header "jni.h" : NO 
Program javac found: NO
Program jar found: NO
Message: For FFT: using built-in implementation
Message: For resampler: using built-in implementation
Has header "vamp-sdk.h" : NO 
Has header "vamp-sdk.h" : NO (cached)
Has header "sndfile.h" : NO 
Has header "sndfile.h" : NO (cached)
Message: Not building Rubber Band Library static library: default_library option is set to shared
Message: Will build Rubber Band Library dynamic library
Message: Not building Java Native Interface: jni.h header not found
Message: Not building LADSPA plugin: ladspa.h header not found
Message: Not building LV2 plugin: lv2.h header not found
Message: Not building Vamp plugin: Vamp dependency not found
Message: Not building command-line utility: libsndfile dependency not found
Build targets in project: 2

Rubber Band Library 2.0.1

  Directories
    prefix              : D:/packages/rubberband_x64-windows/debug
    bindir              : bin
    libdir              : lib
    datadir             : share

  Configuration
    FFT                 : Built-in
    Resampler           : Built-in
    Build type          : Debug
    Architecture        : x86_64

  Build targets
    Static library      : NO
    Dynamic library     : YES
                          Name: rubberband
    JNI library         : NO
    LADSPA plugin       : NO
    LV2 plugin          : NO
    Vamp plugin         : NO
    Command-line utility: NO

Option buildtype is: plain [default: release]
Option default_library is: shared [default: both]
Found ninja-1.10.2 at D:/downloads/tools/ninja/1.10.2-windows\ninja.EXE
@Be-ing Be-ing changed the title Windows build fails: Windows build fails Jan 20, 2022
@cannam
Copy link
Member

cannam commented Jan 20, 2022

Oh, Windows, Windows.

I don't recognise this error - I guess you are not using Windows yourself either, but does this CI flow suggest any obvious way to reproduce the flow locally?

There is a RB Windows CI build, and it is currently succeeding (example log here). It tests both Meson and "old-school" Visual Studio projects, using VS2019.

(Also of course I built and packaged the 2.0.1 command-line utility this morning on Windows with VS2019, so it clearly worked for me as well!)

The error looks a bit like the static archiver not recognising the options it's given - perhaps an unexpected archive tool in path, or something has detected it wrongly? The argument quoted (csr) looks like a Unix-style ar command sequence. It doesn't come from Rubber Band's own build file, so presumably has been generated by Meson. I wonder what args are being passed in the local successful build. I'll take a look.

@Be-ing
Copy link
Author

Be-ing commented Jan 20, 2022

Yeah there are no matches for csr anywhere in the Rubberband repository...

@Be-ing
Copy link
Author

Be-ing commented Jan 20, 2022

I downloaded the archive of all the logs from vcpkg's CI and the only time the string csr appears is that link command that fails...

~/Downloads/failure logs for x64-windows 
❯ rg -i csr
rubberband/package-x64-windows-dbg-out.log
426:[21/23] "C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/lib.exe" "csr" librubberband_objlib.a librubberband_objlib.a.p/src_rubberband-c.cpp.obj librubberband_objlib.a.p/src_RubberBandStretcher.cpp.obj librubberband_objlib.a.p/src_StretcherProcess.cpp.obj librubberband_objlib.a.p/src_StretchCalculator.cpp.obj librubberband_objlib.a.p/src_base_Profiler.cpp.obj librubberband_objlib.a.p/src_dsp_AudioCurveCalculator.cpp.obj librubberband_objlib.a.p/src_audiocurves_CompoundAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_SpectralDifferenceAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_HighFrequencyAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_SilentAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_ConstantAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_PercussiveAudioCurve.cpp.obj librubberband_objlib.a.p/src_dsp_Resampler.cpp.obj librubberband_objlib.a.p/src_dsp_FFT.cpp.obj librubberband_objlib.a.p/src_system_Allocators.cpp.obj librubberband_objlib.a.p/src_system_sysutils.cpp.obj librubberband_objlib.a.p/src_system_Thread.cpp.obj librubberband_objlib.a.p/src_StretcherChannelData.cpp.obj librubberband_objlib.a.p/src_StretcherImpl.cpp.obj librubberband_objlib.a.p/src_dsp_BQResampler.cpp.obj
428:"C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/lib.exe" "csr" librubberband_objlib.a librubberband_objlib.a.p/src_rubberband-c.cpp.obj librubberband_objlib.a.p/src_RubberBandStretcher.cpp.obj librubberband_objlib.a.p/src_StretcherProcess.cpp.obj librubberband_objlib.a.p/src_StretchCalculator.cpp.obj librubberband_objlib.a.p/src_base_Profiler.cpp.obj librubberband_objlib.a.p/src_dsp_AudioCurveCalculator.cpp.obj librubberband_objlib.a.p/src_audiocurves_CompoundAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_SpectralDifferenceAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_HighFrequencyAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_SilentAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_ConstantAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_PercussiveAudioCurve.cpp.obj librubberband_objlib.a.p/src_dsp_Resampler.cpp.obj librubberband_objlib.a.p/src_dsp_FFT.cpp.obj librubberband_objlib.a.p/src_system_Allocators.cpp.obj librubberband_objlib.a.p/src_system_sysutils.cpp.obj librubberband_objlib.a.p/src_system_Thread.cpp.obj librubberband_objlib.a.p/src_StretcherChannelData.cpp.obj librubberband_objlib.a.p/src_StretcherImpl.cpp.obj librubberband_objlib.a.p/src_dsp_BQResampler.cpp.obj
432:LINK : fatal error LNK1181: cannot open input file 'csr'

@cannam
Copy link
Member

cannam commented Jan 20, 2022

The equivalent link command in my local build appears to be

[21/22] "lib" "/NOLOGO" /MACHINE:x64 /OUT:librubberband_objlib.a librubberband_objlib.a.p/src_rubberband-c.cpp.obj librubberband_objlib.a.p/src_RubberBandStretcher.cpp.obj librubberband_objlib.a.p/src_StretcherProcess.cpp.obj librubberband_objlib.a.p/src_StretchCalculator.cpp.obj librubberband_objlib.a.p/src_base_Profiler.cpp.obj librubberband_objlib.a.p/src_dsp_AudioCurveCalculator.cpp.obj librubberband_objlib.a.p/src_audiocurves_CompoundAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_SpectralDifferenceAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_HighFrequencyAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_SilentAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_ConstantAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_PercussiveAudioCurve.cpp.obj librubberband_objlib.a.p/src_dsp_Resampler.cpp.obj librubberband_objlib.a.p/src_dsp_FFT.cpp.obj librubberband_objlib.a.p/src_system_Allocators.cpp.obj librubberband_objlib.a.p/src_system_sysutils.cpp.obj librubberband_objlib.a.p/src_system_Thread.cpp.obj librubberband_objlib.a.p/src_StretcherChannelData.cpp.obj librubberband_objlib.a.p/src_StretcherImpl.cpp.obj librubberband_objlib.a.p/src_dsp_BQResampler.cpp.obj

which is quite different.

I configured with -Dbuildtype=plain -Ddefault_library=shared in order to match the failing run as far as possible. (I assume that my command is marked 21/22 while the failing one is 21/23 because the failing build is running ninja install rather than just building.)

@Be-ing
Copy link
Author

Be-ing commented Jan 20, 2022

Downloads/failure logs for x64-windows/rubberband 
❯ rg buildtype
meson-log-dbg.log
3:Build Options: -Ddebug=true '-Dcmake_prefix_path=['"'"'D:/installed/x64-windows/debug'"'"','"'"'D:/installed/x64-windows'"'"','"'"'D:/installed/x64-windows/share'"'"']' -Dprefix=D:/packages/rubberband_x64-windows/debug -Dincludedir=../include -Dlibdir=lib -Dbackend=ninja -Dbuildtype=plain -Ddefault_library=shared -Dwrap_mode=nodownload '--native-file D:/buildtrees/rubberband/meson-native-x64-windows.log' '--native-file D:/buildtrees/rubberband/meson-native-x64-windows-debug.log'
366:Option buildtype is: plain [default: release]

config-x64-windows-dbg-out.log
5:WARNING: Recommend using either -Dbuildtype or -Doptimization + -Ddebug. Using both is redundant since they override each other. See: https://mesonbuild.com/Builtin-options.html#build-type-options
71:Option buildtype is: plain [default: release]

config-x64-windows-rel-out.log
5:WARNING: Recommend using either -Dbuildtype or -Doptimization + -Ddebug. Using both is redundant since they override each other. See: https://mesonbuild.com/Builtin-options.html#build-type-options
71:Option buildtype is: plain [default: release]

meson-log-rel.log
3:Build Options: -Ddebug=false '-Dcmake_prefix_path=['"'"'D:/installed/x64-windows'"'"','"'"'D:/installed/x64-windows/debug'"'"','"'"'D:/installed/x64-windows/share'"'"']' -Dprefix=D:/packages/rubberband_x64-windows -Dlibdir=lib -Dbackend=ninja -Dbuildtype=plain -Ddefault_library=shared -Dwrap_mode=nodownload '--native-file D:/buildtrees/rubberband/meson-native-x64-windows.log' '--native-file D:/buildtrees/rubberband/meson-native-x64-windows-release.log'
374:Option buildtype is: plain [default: release]

@Be-ing Be-ing changed the title Windows build fails Windows build fails to link Jan 20, 2022
@cannam
Copy link
Member

cannam commented Jan 20, 2022

I suppose the most obvious difference is the version of Meson, but the successful runs are using both older (0.55, mine locally) and newer (0.60 on AppVeyor) versions of Meson than the failing one (0.58) which would seem to make that a little less likely a cause.

@cannam
Copy link
Member

cannam commented Jan 20, 2022

Anything suggestive in those native-file files? Those are used to define some aspects of the build environment, though I don't know whether "linker resembles ar / linker resembles link" is one of them.

@Be-ing
Copy link
Author

Be-ing commented Jan 20, 2022

Downloads/failure logs for x64-windows/rubberband took 6s 
❯ cat meson-native-x64-windows.log 
[binaries]
mt = 'C:/Program Files (x86)/Windows Kits/10/bin/10.0.19041.0/x64/mt.exe'
ar = 'C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/lib.exe'
c = 'C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe'
cpp = 'C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe'
windres = 'C:/Program Files (x86)/Windows Kits/10/bin/10.0.19041.0/x64/rc.exe'
c_ld = 'C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/link.exe'
cpp_ld = 'C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/link.exe'
cmake = 'D:/downloads/tools/cmake-3.21.1-windows/cmake-3.21.1-windows-i386/bin/cmake.exe'
python = 'D:/downloads/tools/python/python-3.10.1-x64/python.exe'
[built-in options]
c_winlibs = ['kernel32.lib', 'user32.lib', 'gdi32.lib', 'winspool.lib', 'shell32.lib', 'ole32.lib', 'oleaut32.lib', 'uuid.lib', 'comdlg32.lib', 'advapi32.lib']
cpp_winlibs = ['kernel32.lib', 'user32.lib', 'gdi32.lib', 'winspool.lib', 'shell32.lib', 'ole32.lib', 'oleaut32.lib', 'uuid.lib', 'comdlg32.lib', 'advapi32.lib']

Downloads/failure logs for x64-windows/rubberband 
❯ cat meson-native-x64-windows-debug.log 
[properties]
c_args = ['-nologo', '-DWIN32', '-D_WINDOWS', '-W3', '-utf-8', '-MP', '-D_DEBUG', '-MDd', '-Z7', '-Ob0', '-Od', '-RTC1', '-ID:/installed/x64-windows/include']
cpp_args = ['-nologo', '-DWIN32', '-D_WINDOWS', '-W3', '-utf-8', '-GR', '-EHsc', '-MP', '-D_DEBUG', '-MDd', '-Z7', '-Ob0', '-Od', '-RTC1', '-ID:/installed/x64-windows/include']
c_link_args = ['-machine:x64', '-nologo', '-debug', '-INCREMENTAL', '/LIBPATH:D:/installed/x64-windows/debug/lib']
cpp_link_args = ['-machine:x64', '-nologo', '-debug', '-INCREMENTAL', '/LIBPATH:D:/installed/x64-windows/debug/lib']
cmake_toolchain_file  = 'C:/a/1/s/scripts/buildsystems/vcpkg.cmake'
[cmake]
VCPKG_TARGET_TRIPLET = 'x64-windows'
VCPKG_CHAINLOAD_TOOLCHAIN_FILE = 'C:/a/1/s/scripts/toolchains/windows.cmake'
VCPKG_CRT_LINKAGE = 'dynamic'
[built-in options]
b_vscrt = 'mdd'

Downloads/failure logs for x64-windows/rubberband 
❯ cat meson-native-x64-windows-release.log 
[properties]
c_args = ['-nologo', '-DWIN32', '-D_WINDOWS', '-W3', '-utf-8', '-MP', '-MD', '-O2', '-Oi', '-Gy', '-DNDEBUG', '-Z7', '-ID:/installed/x64-windows/include']
cpp_args = ['-nologo', '-DWIN32', '-D_WINDOWS', '-W3', '-utf-8', '-GR', '-EHsc', '-MP', '-MD', '-O2', '-Oi', '-Gy', '-DNDEBUG', '-Z7', '-ID:/installed/x64-windows/include']
c_link_args = ['-machine:x64', '-nologo', '-DEBUG', '-INCREMENTAL:NO', '-OPT:REF', '-OPT:ICF', '/LIBPATH:D:/installed/x64-windows/lib']
cpp_link_args = ['-machine:x64', '-nologo', '-DEBUG', '-INCREMENTAL:NO', '-OPT:REF', '-OPT:ICF', '/LIBPATH:D:/installed/x64-windows/lib']
cmake_toolchain_file  = 'C:/a/1/s/scripts/buildsystems/vcpkg.cmake'
[cmake]
VCPKG_TARGET_TRIPLET = 'x64-windows'
VCPKG_CHAINLOAD_TOOLCHAIN_FILE = 'C:/a/1/s/scripts/toolchains/windows.cmake'
VCPKG_CRT_LINKAGE = 'dynamic'
[built-in options]
b_vscrt = 'md'

@Be-ing
Copy link
Author

Be-ing commented Jan 20, 2022

I am not passing any options to Meson, only using vcpkg's standard Meson macro.

@cannam
Copy link
Member

cannam commented Jan 20, 2022

It looks as if Meson tries to determine whether a static linker is the Visual Studio one by calling it with a /? flag and looking for /OUT: in the reply. I wonder whether that failed and why?

(edit) Is there a Meson config log file? Typically build/meson-logs/meson-log.txt. These are not always as informative as you'd like, but might have something.

@Be-ing
Copy link
Author

Be-ing commented Jan 20, 2022

@cannam
Copy link
Member

cannam commented Jan 20, 2022

Mm, nothing very useful there. My hypothesis is that because ar is specified in the native file Meson thinks it doesn't have to detect it, and so never detects that it is Visual Studio like rather than ar-like. But there are many possible static archivers and it seems unlikely that Meson would skip detecting all of their differences without anyone having noticed. I'll try to test this tomorrow (simply by supplying a native file in my Windows build) if I can find a moment.

@Be-ing
Copy link
Author

Be-ing commented Jan 20, 2022

Another vcpkg package using Meson also ran into this recently, unfortunately with no solution figured out: microsoft/vcpkg#22196 (comment)

@cannam
Copy link
Member

cannam commented Jan 21, 2022

My hypothesis is that because ar is specified in the native file Meson thinks it doesn't have to detect it, and so never detects that it is Visual Studio like rather than ar-like.

Yep, that seems to be right.

I create a native file specifying nothing except ar, and for that I give the same path as the lib.exe which is already in my environment and which Meson will be picking up anyway:

[binaries]
ar = 'C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/HostX64/x64/lib.exe'

Then I configure a new build directory and ninja -v and this happens:

[21/22] "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/HostX64/x64/lib.exe" "csr" librubberband_objlib.a librubberband_objlib.a.p/src_rubberband-c.cpp.obj librubberband_objlib.a.p/src_RubberBandStretcher.cpp.obj librubberband_objlib.a.p/src_StretcherProcess.cpp.obj librubberband_objlib.a.p/src_StretchCalculator.cpp.obj librubberband_objlib.a.p/src_base_Profiler.cpp.obj librubberband_objlib.a.p/src_dsp_AudioCurveCalculator.cpp.obj librubberband_objlib.a.p/src_audiocurves_CompoundAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_SpectralDifferenceAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_HighFrequencyAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_SilentAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_ConstantAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_PercussiveAudioCurve.cpp.obj librubberband_objlib.a.p/src_dsp_Resampler.cpp.obj librubberband_objlib.a.p/src_dsp_FFT.cpp.obj librubberband_objlib.a.p/src_system_Allocators.cpp.obj librubberband_objlib.a.p/src_system_sysutils.cpp.obj librubberband_objlib.a.p/src_system_Thread.cpp.obj librubberband_objlib.a.p/src_StretcherChannelData.cpp.obj librubberband_objlib.a.p/src_StretcherImpl.cpp.obj librubberband_objlib.a.p/src_dsp_BQResampler.cpp.obj
FAILED: librubberband_objlib.a
"C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/HostX64/x64/lib.exe" "csr" librubberband_objlib.a librubberband_objlib.a.p/src_rubberband-c.cpp.obj librubberband_objlib.a.p/src_RubberBandStretcher.cpp.obj librubberband_objlib.a.p/src_StretcherProcess.cpp.obj librubberband_objlib.a.p/src_StretchCalculator.cpp.obj librubberband_objlib.a.p/src_base_Profiler.cpp.obj librubberband_objlib.a.p/src_dsp_AudioCurveCalculator.cpp.obj librubberband_objlib.a.p/src_audiocurves_CompoundAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_SpectralDifferenceAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_HighFrequencyAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_SilentAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_ConstantAudioCurve.cpp.obj librubberband_objlib.a.p/src_audiocurves_PercussiveAudioCurve.cpp.obj librubberband_objlib.a.p/src_dsp_Resampler.cpp.obj librubberband_objlib.a.p/src_dsp_FFT.cpp.obj librubberband_objlib.a.p/src_system_Allocators.cpp.obj librubberband_objlib.a.p/src_system_sysutils.cpp.obj librubberband_objlib.a.p/src_system_Thread.cpp.obj librubberband_objlib.a.p/src_StretcherChannelData.cpp.obj librubberband_objlib.a.p/src_StretcherImpl.cpp.obj librubberband_objlib.a.p/src_dsp_BQResampler.cpp.obj
Microsoft (R) Library Manager Version 14.28.29337.0
Copyright (C) Microsoft Corporation.  All rights reserved.

LINK : fatal error LNK1181: cannot open input file 'csr'

I'll check using the latest version of Meson (even the newer one in the AppVeyor CI is not the very latest).

@cannam
Copy link
Member

cannam commented Jan 21, 2022

Still a problem with Meson 0.61.1.

@cannam
Copy link
Member

cannam commented Jan 21, 2022

This looks very like mesonbuild/meson#9730

@Be-ing
Copy link
Author

Be-ing commented Jan 21, 2022

Oof... thanks for looking into it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants