vlang / v

Simple, fast, safe, compiled language for developing maintainable software. Compiles itself in <1s with zero library dependencies. Supports automatic C => V translation. https://vlang.io
MIT License
35.71k stars 2.16k forks source link

builder error; v doesn't work #19851

Open russo-2025 opened 10 months ago

russo-2025 commented 10 months ago

Describe the bug

cannot compile `C:\_DEV\v\cmd\tools\vtest.v`: 
Microsoft (R) C/C++ Optimizing Compiler Version 19.37.32824 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.

cl -w /we4013 /volatile:ms /Fo"C:\Users\russo\AppData\Local\Temp\v_0\vtest.16073555014629207997.tmp.c.obj" /F 16777216 /MD /DNDEBUG "C:\Users\russo\AppData\Local\Temp\v_0\vtest.16073555014629207997.tmp.c" -I "C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt" -I "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\include" -I "C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\um" -I "C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\shared" /DGC_NOT_DLL=1 /DGC_WIN32_THREADS=1 /DGC_THREADS=1 -I "C:\_DEV\v\thirdparty\libatomic_ops" -I "C:\_DEV\v\thirdparty\libgc\include" -I "C:\_DEV\v\thirdparty\stdatomic\win" "C:\_DEV\v/thirdparty/libatomic_ops/atomic_ops.obj" "C:\_DEV\v/thirdparty/libgc/gc.obj" kernel32.lib user32.lib advapi32.lib ws2_32.lib dbghelp.lib ws2_32.lib advapi32.lib /link /NOLOGO /OUT:"C:\_DEV\v\cmd\tools\vtest.exe" /LIBPATH:"C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22621.0\ucrt\X64" /LIBPATH:"C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22621.0\um\X64" /LIBPATH:"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\lib\X64" /DEBUG:FULL

vtest.16073555014629207997.tmp.c
LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use /NODEFAULTLIB:library
gc.obj : error LNK2019: unresolved external symbol __imp__CrtDbgReport referenced in function GC_write
C:\_DEV\v\cmd\tools\vtest.exe : fatal error LNK1120: 1 unresolved externals

builder error: msvc error

Reproduction Steps

https://github.com/russo-2025/papyrus-compiler

v -stats test modules/tests/ast_test.v

Expected Behavior

ok

Current Behavior

error

V version

V 0.4.3 7c5d439

Environment details (OS name and version, etc.)

V full version: V 0.4.3 cd337e2.7c5d439 OS: windows, Microsoft Windows 11 Pro v22621 64-bit Processor: 12 cpus, 64bit, little endian,

getwd: C:_DEV\v vexe: C:_DEV\v\v.exe vexe mtime: 2023-11-12 12:02:42

vroot: OK, value: C:_DEV\v VMODULES: OK, value: C:\Users\russo.vmodules VTMP: OK, value: C:\Users\russo\AppData\Local\Temp\v_0

Git version: git version 2.42.0.windows.1 Git vroot status: weekly.2023.45.1-10-g7c5d4397 .git/config present: true

CC version: Error: 'cc' is not recognized as an internal or external command, operable program or batch file.

thirdparty/tcc: N/A

UPD: v doesn't work on my laptop.

module main
fn main() {
}

v -cc msvc main.v

Microsoft (R) C/C++ Optimizing Compiler Version 19.37.32824 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.

cl -w /we4013 /volatile:ms /Fo"C:\Users\russo\AppData\Local\Temp\v_0\main.3313205976271538436.tmp.c.obj" /F 16777216 /MD /DNDEBUG "C:\Users\russo\AppData\Local\Temp\v_0\main.3313205976271538436.tmp.c" -I "C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt" -I "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\include" -I "C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\um" -I "C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\shared" kernel32.lib user32.lib advapi32.lib ws2_32.lib dbghelp.lib /link /NOLOGO /OUT:"C:\Users\russo\OneDrive\Рабочий стол\main.exe" /LIBPATH:"C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22621.0\ucrt\X64" /LIBPATH:"C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22621.0\um\X64" /LIBPATH:"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\lib\X64" /DEBUG:FULL

main.3313205976271538436.tmp.c
LINK : fatal error LNK1104: cannot open file 'C:\Users\russo\OneDrive\Рабочий стол\main.exe'

builder error: msvc error

v main.v

==================
C:/Users/russo/AppData/Local/Temp/v_0/main.11060435102613419874.tmp.c:6808: warning: implicit declaration of function 'tcc_backtrace'
tcc: error: could not create 'C:\Users\russo\OneDrive\Рабочий стол\main.def': No such file or directory
...
==================
(Use `v -cg` to print the entire error message)

builder error:
==================
C error. This should never happen.

This is a compiler bug, please report it using `v bug file.v`.

https://github.com/vlang/v/issues/new/choose

You can also use #help on Discord: https://discord.gg/vlang

[!NOTE] You can use the 👍 reaction to increase the issue's priority for developers.

Please note that only the 👍 reaction to the issue itself counts as a vote. Other reactions and those to comments will not be taken into account.

russo-2025 commented 10 months ago

UPD:

I suspect that msvc compiler reacts inadequately to Russian characters in the path, changing the path fixes this problem. in windows 11 the desktop folder contains Russian characters, this means you can't do anything on the desktop =/

"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\bin\Hostx64\x64\cl.exe" "@C:\Users\russo\AppData\Local\Temp\v_0\main.9017041594909809422.tmp.c.rsp"
-w /we4013 /volatile:ms /Fo"C:\Users\russo\AppData\Local\Temp\v_0\main.9017041594909809422.tmp.c.obj" /F 16777216 /MD /DNDEBUG "C:\Users\russo\AppData\Local\Temp\v_0\main.9017041594909809422.tmp.c" -I "C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt" -I "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\include" -I "C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\um" -I "C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\shared" /DGC_NOT_DLL=1 /DGC_WIN32_THREADS=1 /DGC_THREADS=1 -I "C:\_DEV\v\thirdparty\libatomic_ops" -I "C:\_DEV\v\thirdparty\libgc\include" "C:\_DEV\v/thirdparty/libatomic_ops/atomic_ops.obj" "C:\_DEV\v/thirdparty/libgc/gc.obj" kernel32.lib user32.lib advapi32.lib ws2_32.lib dbghelp.lib /link /NOLOGO /OUT:"C:\Users\russo\OneDrive\Рабочий стол\main.exe" /LIBPATH:"C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22621.0\ucrt\X64" /LIBPATH:"C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22621.0\um\X64" /LIBPATH:"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\lib\X64" /DEBUG:FULL
russo-2025 commented 10 months ago

UPD2:

adding this line solves the problem with __imp__CrtDbgReport

#flag -lucrtd