Skip to content

FileNotFoundError: [WinError 2] The system cannot find the file specified #26341

@juj

Description

@juj

After updating to latest main, I am getting

C:\emsdk\emscripten\main>emcc h.c -o a.html -sWASM_WORKERS
cache:INFO: generating system asset: sysroot\lib\wasm32-emscripten\crtbegin.o... (this will be cached in "C:\emsdk\emscripten\main\cache\sysroot\lib\wasm32-emscripten\crtbegin.o" for subsequent builds)
Traceback (most recent call last):
  File "C:\emsdk\emscripten\main\emcc.py", line 590, in <module>
    sys.exit(main(sys.argv))
             ^^^^^^^^^^^^^^
  File "C:\Python311\Lib\contextlib.py", line 81, in inner
    return func(*args, **kwds)
           ^^^^^^^^^^^^^^^^^^^
  File "C:\emsdk\emscripten\main\emcc.py", line 326, in main
    return link.run(options, linker_args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\emsdk\emscripten\main\tools\link.py", line 3128, in run
    system_libs = phase_calculate_system_libraries(options)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\contextlib.py", line 81, in inner
    return func(*args, **kwds)
           ^^^^^^^^^^^^^^^^^^^
  File "C:\emsdk\emscripten\main\tools\link.py", line 1882, in phase_calculate_system_libraries
    extra_files_to_link += system_libs.calculate(options)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\emsdk\emscripten\main\tools\system_libs.py", line 2478, in calculate
    libs_to_link = get_libs_to_link(options)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\emsdk\emscripten\main\tools\system_libs.py", line 2357, in get_libs_to_link
    add_library('crtbegin')
  File "C:\emsdk\emscripten\main\tools\system_libs.py", line 2353, in add_library
    libs_to_link.append((lib.get_link_flag(), whole_archive or need_whole_archive))
                         ^^^^^^^^^^^^^^^^^^^
  File "C:\emsdk\emscripten\main\tools\system_libs.py", line 447, in get_link_flag
    fullpath = self.build()
               ^^^^^^^^^^^^
  File "C:\emsdk\emscripten\main\tools\system_libs.py", line 436, in build
    return cache.get(self.get_path(), self.do_build, force=USE_NINJA == 2, quiet=USE_NINJA)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\emsdk\emscripten\main\tools\cache.py", line 181, in get
    creator(str(cachename))
  File "C:\emsdk\emscripten\main\tools\system_libs.py", line 573, in do_build
    create_lib(out_filename, self.build_objects(build_dir))
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\emsdk\emscripten\main\tools\system_libs.py", line 551, in build_objects
    run_build_commands(commands, num_inputs=len(objects), build_dir=build_dir)
  File "C:\emsdk\emscripten\main\tools\system_libs.py", line 111, in run_build_commands
    shared.run_multiple_processes(commands, env=clean_env(), cwd=build_dir)
  File "C:\emsdk\emscripten\main\tools\shared.py", line 158, in run_multiple_processes
    proc = subprocess.Popen(commands[i], stdout=stdout, stderr=None, env=env, cwd=cwd)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\subprocess.py", line 1024, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "C:\Python311\Lib\subprocess.py", line 1509, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [WinError 2] The system cannot find the file specified

Here, commands[i] is

['C:\\emsdk\\emscripten\\main\\emcc', '-c', '-O2', '-Wall', '-fno-unroll-loops', '-std=c99', '-D_XOPEN_SOURCE=700', '-Wno-unused-result', '-pthread', '-g', '-sSTRICT', '-Werror', '-ffile-prefix-map=C:\\emsdk\\emscripten\\main=/emsdk/emscripten', '-ffile-prefix-map=..\\..\\..=/emsdk/emscripten', '-fdebug-compilation-dir=/emsdk/emscripten', '-IC:\\emsdk\\emscripten\\main\\system\\lib\\libc\\musl\\src\\internal', '-IC:\\emsdk\\emscripten\\main\\system\\lib\\libc\\musl\\src\\include', '-IC:\\emsdk\\emscripten\\main\\system\\lib\\libc\\musl\\include', '-IC:\\emsdk\\emscripten\\main\\system\\lib\\libc', '-IC:\\emsdk\\emscripten\\main\\system\\lib\\pthread', '../../../system/lib/pthread/emscripten_tls_init.c']

This is maybe caused by #24858?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions