microsoft / vcpkg

C++ Library Manager for Windows, Linux, and MacOS
MIT License
22.17k stars 6.16k forks source link

[jack2] jack2:x64-windows build failure #39473

Open igetrakks opened 1 week ago

igetrakks commented 1 week ago

Operating system

Windows

Compiler

node-gyp

Steps to reproduce the behavior

`.\vcpkg install jack` and then attempting to use `ringbuffer.h`.

Failure logs

main.obj : error LNK2001: unresolved external symbol jack_ringbuffer_read [D:\Users\vivi\Desktop\voice\build\voice.vcxprojj] main.obj : error LNK2001: unresolved external symbol jack_ringbuffer_read_space [D:\Users\vivi\Desktop\voice\build\voice.vcxproj] main.obj : error LNK2001: unresolved external symbol jack_ringbuffer_write [D:\Users\vivi\Desktop\voice\build\voice.vcxproj] main.obj : error LNK2001: unresolved external symbol jack_ringbuffer_create [D:\Users\vivi\Desktop\voice\build\voice.vcxproj] main.obj : error LNK2001: unresolved external symbol jack_ringbuffer_free [D:\Users\vivi\Desktop\voice\build\voice.vcxproj] D:\Users\vivi\Desktop\voice\build\Release\voice.node : fatal error LNK1120: 5 unresolved externals [D:\Users\vivi\Desktop\voice\build\voice.vcxproj] gyp ERR! build error gyp ERR! stack Error: D:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe failed with exit code: 1 gyp ERR! stack at ChildProcess. (D:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:209:23) gyp ERR! stack at ChildProcess.emit (node:events:518:28) gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:294:12) gyp ERR! System Windows_NT 10.0.22631 gyp ERR! command "D:\Program Files\nodejs\node.exe" "D:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "rebuild" gyp ERR! cwd D:\Users\vivi\Desktop\voice gyp ERR! node -v v20.11.1 gyp ERR! node-gyp -v v10.0.1 gyp ERR! not ok

Additional context

Prior the failure logs there was no error.

I've tried reinstalling Jack using .\vcpkg remove jack && .\vcpkg install jack which was unsuccessful, I've looked into jack.lib (Opening it with Notepad || using Dumpbin) and there appears to be no ringbuffer mentioned whatsoever, however the ringbuffer.h include exists.

I've also looked into libjack.so on Linux and it appears to have ringbuffer mentioned in the file.

I don't believe this is an issue on my end.

WangWeiLin-MV commented 1 week ago

This functions ack_ringbuffer_* is not declared in common/JackWeakAPI.c, it is not defined in the def file either. Please use other public functions instead, or manually export related functions.