Closed kutu closed 1 year ago
This might be a problem with WinFsp: https://github.com/winfsp/winfsp/issues/427#issuecomment-1145880940
You could try changing the arguments of the launchctl task to mount the drive on \\.\R:
for instance and see if it works.
thanks for quick reply, that did solve streamlink
issue
ninja
failed with different file that cannot be found, and on 2nd attempt to compile aseprite, cmd hanged
this is not first time hang happened, but currently i dont have any reproduceable steps to provide
then, i launched memefs with debugging flags
"C:\Program Files (x86)\WinFsp\bin\memefs-x64.exe" -i -F NTFS -l Ram -u "" -m "\\.\R:" -d -1 -D h:\memefs.log
ninja
gives different error on each run
R:\1\aseprite\build
$ ninja aseprite
[1/1500] Building C object third_party\CMakeFiles\tinyexpr.dir\tinyexpr\tinyexpr.c.obj
R:\1\aseprite\third_party\tinyexpr\tinyexpr.c(462): warning C4090: 'initializing': different 'const' qualifiers
R:\1\aseprite\third_party\tinyexpr\tinyexpr.c(479): warning C4090: 'initializing': different 'const' qualifiers
R:\1\aseprite\third_party\tinyexpr\tinyexpr.c(494): warning C4090: 'initializing': different 'const' qualifiers
[65/1500] Building C object third_party\jpeg\CMakeFiles\jpeg.dir\jdmaster.c.obj
ninja: build stopped: GetFileAttributesEx(third_party/jpeg/CMakeFiles/jpeg.dir/jdmaster.c.obj): The filename, directory name, or volume label syntax is incorrect.
.
R:\1\aseprite\build
$ ninja aseprite
[39/1436] Generating scripts/symbols.out
Microsoft (R) C/C++ Optimizing Compiler Version 19.33.31629 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
symbols.c
[46/1436] Generating pnglibconf.out
FAILED: third_party/libpng/pnglibconf.out R:/1/aseprite/build/third_party/libpng/pnglibconf.out
cmd.exe /C "cd /D R:\1\aseprite\build\third_party\libpng && D:\programs\cmake\bin\cmake.exe -DINPUT=R:/1/aseprite/build/third_party/libpng/pnglibconf.c -DOUTPUT=R:/1/aseprite/build/third_party/libpng/pnglibconf.out -P R:/1/aseprite/build/third_party/libpng/scripts/genout.cmake"
Microsoft (R) C/C++ Optimizing Compiler Version 19.33.31629 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
pnglibconf.c
awk: error: can't open source file `R:/1/aseprite/third_party/libpng/scripts/dfn.awk' for reading (No such file or directory)
CMake Error at scripts/genout.cmake:86 (message):
Failed to generate
R:/1/aseprite/build/third_party/libpng/pnglibconf.out.tf2
[59/1436] Building CXX object third_party\tinyxml\CMakeFiles\tinyxml.dir\tinyxmlerror.cpp.obj
ninja: build stopped: subcommand failed.
R:\1\aseprite\build
$ ninja aseprite
[3/1378] Generating pnglibconf.out
Microsoft (R) C/C++ Optimizing Compiler Version 19.33.31629 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
pnglibconf.c
[5/1378] Generating scripts/vers.out
Microsoft (R) C/C++ Optimizing Compiler Version 19.33.31629 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
vers.c
[9/1378] Generating scripts/sym.out
Microsoft (R) C/C++ Optimizing Compiler Version 19.33.31629 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
sym.c
[11/1378] Generating scripts/prefix.out
Microsoft (R) C/C++ Optimizing Compiler Version 19.33.31629 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
prefix.c
[16/1378] Generating scripts/intprefix.out
Microsoft (R) C/C++ Optimizing Compiler Version 19.33.31629 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
intprefix.c
[27/1378] Building C object third_party\curl\lib\CMakeFiles\libcurl.dir\curl_ntlm_core.c.obj
FAILED: third_party/curl/lib/CMakeFiles/libcurl.dir/curl_ntlm_core.c.obj
C:\PROGRA~2\MICROS~2\2022\BUILDT~1\VC\Tools\MSVC\1433~1.316\bin\Hostx64\x64\cl.exe /nologo -DBUILDING_LIBCURL -DCMARK_STATIC_DEFINE -DCURL_HIDDEN_SYMBOLS -DHAVE_CONFIG_H -DNDEBUG -DPNG_NO_MMX_CODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_USRDLL -D_WIN32_WINNT=0x0600 -IR:\1\aseprite\third_party\zlib -IR:\1\aseprite\build\third_party\zlib -IR:\1\aseprite\third_party\libpng -IR:\1\aseprite\build\third_party\libpng -IR:\1\aseprite\third_party\tinyxml -IR:\1\aseprite\third_party\pixman\pixman -IR:\1\aseprite\build -IR:\1\aseprite\third_party\giflib -IR:\1\aseprite\third_party\jpeg -IR:\1\aseprite\third_party\curl\include -IR:\1\aseprite\third_party\simpleini -IR:\1\aseprite\third_party\. -IR:\1\aseprite\build\third_party\curl\lib\..\include -IR:\1\aseprite\third_party\curl\lib\.. -IR:\1\aseprite\third_party\curl\lib\..\include -IR:\1\aseprite\build\third_party\curl\lib\.. -IR:\1\aseprite\third_party\curl\lib -IR:\1\aseprite\build\third_party\curl\lib /DWIN32 /D_WINDOWS /W4 /MP /MT /Zi /O2 /Ob1 /D NDEBUG -MT /showIncludes /Fothird_party\curl\lib\CMakeFiles\libcurl.dir\curl_ntlm_core.c.obj /Fdthird_party\curl\lib\CMakeFiles\libcurl.dir\libcurl.pdb /FS -c R:\1\aseprite\third_party\curl\lib\curl_ntlm_core.c
R:\1\aseprite\third_party\curl\lib\curl_setup_once.h(324): fatal error C1083: Cannot open include file: 'curl_ctype.h': No such file or directory
[40/1378] Building C object third_party\libpng\CMakeFiles\png_static.dir\pngrtran.c.obj
ninja: build stopped: subcommand failed.
This might be because of concurrency issues with memefs, I assume. When building with ninja, can you make sure that it only uses one thread in total (maybe there are some command line arguments for that)? Does building with ninja work on a normal hard drive?
Does building with ninja work on a normal hard drive?
yes
you were right, i limited ninja to only run one job at a time, and compilation succeeded, but that eliminates the whole benefit of running it in ram
thanks for your help, i will keep using hdd for parallel compilations like this
please add \\.\R:
hint to readme, and maybe mention about concurrency file access limitation
The reworked version that will be released soon does not have this problem anymore.
if you mean fixing concurrency issue, i can do test on my pc, if you provide memefs-x64.exe
test file
following question, do i need to use newest winfsp, i'm currently on 1.11.x
I will still need to fix many things before I can release it. You will also need the latest WinFsp version, whereas updating requires uninstalling with restarting your computer and then installing the latest version.
@kutu You can now try it out if you want to https://github.com/Ceiridge/WinFsp-MemFs-Extended/releases
worked with first try aseprite compiled within 1min thanks for this addition
When trying to save video streams on ramdisk, i get this error
same command on usual hdd
This is simplest example i found to reproduce this error. I also use your program to compile apps with
msbuild
, when i try to compile aseprite,msbuild
step goes fine, but thenninja
fails, and i think it is the same error as with saving video streams.this is ninja failed compile output
at the end of
FAILED
block you can seeCannot open include file: 'setup-win32.h': No such file or directory
but file exists
R:\1\aseprite\third_party\curl\lib\setup-win32.h
when i do the same steps to compile aseprite on hdd, everything is working as expected
i launch memfs as "Recommended Installation" from your project description