Still trying to compile Aseprite


#1

Hi, can anyone please help me. I tried to follow the steps presented in https://github.com/aseprite/aseprite/blob/master/INSTALL.md#skia-on-windows, and I don’t know why, but I’m having a problem with ninja.

C:\deps\skia>ninja -C out/Release dm
ninja: error: unknown target ‘dm’
ninja: Entering directory `out/Release’

…and nothing happens.
I don’t know if it’s related, but I’m getting an error message after “python bin/sync-and-gyp” input.

C:\deps\skia>python bin/sync-and-gyp
gclient.py 0.7
[‘gclient.bat’, ‘sync’]
Syncing projects: 100% (26/26), done.
GYP_GENERATORS environment variable not set, using default, ninja,msvs-ninja
Traceback (most recent call last):
File “./gyp_skia”, line 157, in
res = gyp.main(args)
File “C:\deps\skia\third_party\externals\gyp\pylib\gyp_init_.py”, line 538, in main
return gyp_main(args)
File “C:\deps\skia\third_party\externals\gyp\pylib\gyp_init_.py”, line 523, in gyp_main
generator.GenerateOutput(flat_list, targets, data, params)
File “C:\deps\skia\third_party\externals\gyp\pylib\gyp\generator\ninja. py”, line 2415, in GenerateOutput
pool.map(CallGenerateOutputForConfig, arglists)
File “C:\deps\depot_tools\win_tools-2_7_6_bin\python\bin\lib\multiprocessing\pool. py”, line 250, in map
return self.map_async(func, iterable, chunksize).get()
File “C:\deps\depot_tools\win_tools-2_7_6_bin\python\bin\lib\multiprocessing\pool. py”, line 554, in get
raise self._value
Exception: “[‘C:\Program Files (x86)\Windows Kits\10\Bin\SetEnv.Cmd’, ‘/x86’, ‘&&’, ‘set’]” failed with error 1
^HERE^

Thanks for your attention.


#2

I have similar problem with skia back-end. After running python bin/sync-and-gyp it will sync project fine for 100% but then it throws me this error about ninja:

C:\deps\skia>python bin/sync-and-gyp
GYP_GENERATORS environment variable not set, using default, ninja,msvs-ninja
Exception: EOL while scanning string literal while evaluating condition '"ninja" in "Active code page: 1252
' in skia.gyp at character 34.
Traceback (most recent call last):
  File "C:\deps\skia\third_party\externals\gyp\pylib\gyp\input.py", line 496, in CallLoadTargetBuildFile
    includes, depth, check, False)
  File "C:\deps\skia\third_party\externals\gyp\pylib\gyp\input.py", line 417, in LoadTargetBuildFile
    build_file_data, PHASE_EARLY, variables, build_file_path)
  File "C:\deps\skia\third_party\externals\gyp\pylib\gyp\input.py", line 1285, in ProcessVariablesAndConditionsInDict
    build_file, key)
  File "C:\deps\skia\third_party\externals\gyp\pylib\gyp\input.py", line 1266, in ProcessVariablesAndConditionsInDict
    ProcessConditionsInDict(the_dict, phase, variables, build_file)
  File "C:\deps\skia\third_party\externals\gyp\pylib\gyp\input.py", line 1145, in ProcessConditionsInDict
    variables, build_file)
  File "C:\deps\skia\third_party\externals\gyp\pylib\gyp\input.py", line 1266, in ProcessVariablesAndConditionsInDict
    ProcessConditionsInDict(the_dict, phase, variables, build_file)
  File "C:\deps\skia\third_party\externals\gyp\pylib\gyp\input.py", line 1139, in ProcessConditionsInDict
    build_file)
  File "C:\deps\skia\third_party\externals\gyp\pylib\gyp\input.py", line 1063, in EvalCondition
    cond_expr, true_dict, false_dict, phase, variables, build_file)
  File "C:\deps\skia\third_party\externals\gyp\pylib\gyp\input.py", line 1097, in EvalSingleCondition
    raise syntax_error
SyntaxError: EOL while scanning string literal while evaluating condition '"ninja" in "Active code page: 1252
' in skia.gyp at character 34.

Traceback (most recent call last):
  File "bin/sync-and-gyp", line 107, in <module>
    with open(hash_path, 'w') as o:
IOError: [Errno 2] No such file or directory: 'out\\gyp_hash'

and fails to generate build files for ninja (and therefore ninja fails after). Tried it a few times when I deleted everything and started over with clean status. Fails with this error everytime.


#3

I’ll try to compile Skia + Aseprite from scratch today with VS2017 (VS2015 is the supported one), so I’ll be commenting in case I’ve find some problem.


#4

Definitely Skia cannot be compiled with VS2017 in the current version (m55) (at least not without a patch). I’ll see what I can do about it (maybe updating the Skia version to its latest, anyway some months ago I tried to do this and found some performance lost on macOS port, a strange thing).


#5

Definitely Skia cannot be compiled with VS2017 in the current version (m55)

Okay thanks there will be the problem for me.


#6

Yesterday I’ve made some progress to start using the latest chrome/m62 branch, but Aseprite needs several changes to do it (and new INSTALL.md instructions). So soon there will be some news about this.


#7

So many thanks dacap, I saw your answer yesterday and I’ve been thinking of trying it again with VS2015.
I’ll stay tuned for updates.


#8

I’ve just updated the master branch to support the Skia aseprite-m62 branch. Please check the new instructions to compile Skia.

P.S.: Please write any problem you find compiling it, and as an advice, start with a fresh clone of all repositories/building directories.


#9

So I have just tried it and can confirm that it compiled and built like a charm. Thank you very much @dacap!

Just for information I used Windows 10 and VS2015 (I don’t have 2017 at work yet).


#10

Is there any way to compile it for 2017 without using skia??


#11

I’ve tried it and Skia compiled just fine. Unfortunately, I’m now having problems building with Cmake

C:\Program Files (x86)\Aseprite\build>cmake -DUSE_ALLEG4_BACKEND=OFF -DUSE_SKIA_BACKEND=ON -DSKIA_DIR=C:\deps\skia -G Ninja …

– The C compiler identification is MSVC 19.11.25507.1
– The CXX compiler identification is MSVC 19.11.25507.1
– Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.11.25503/bin/Hostx86/x86/cl.exe
– Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.11.25503/bin/Hostx86/x86/cl.exe – broken
CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.9/Modules/CMakeTestCCompiler.cmake:51 (message):
The C compiler “C:/Program Files (x86)/Microsoft Visual
Studio/2017/Community/VC/Tools/MSVC/14.11.25503/bin/Hostx86/x86/cl.exe” is
not able to compile a simple test program.

It fails with the following output:

Change Dir: C:/Program Files (x86)/Aseprite/build/CMakeFiles/CMakeTmp

Run Build Command:“C:/deps/depot_tools/ninja.exe” “cmTC_1263b”

ninja: error: build.ninja:30: loading ‘rules.ninja’: O sistema não pode encontrar o arquivo especificado. system cannot find the specified file.

include rules.ninja

                 ^ near here

CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:39 (project)

– Configuring incomplete, errors occurred!
See also “C:/Program Files (x86)/Aseprite/build/CMakeFiles/CMakeOutput.log”.
See also “C:/Program Files (x86)/Aseprite/build/CMakeFiles/CMakeError.log”.

What is this error I’m getting with ninja?


#12

Yes, you can use the allegro back-end, but it doesn’t work as the Skia one (-DUSE_ALLEG4_BACKEND=ON -DUSE_SKIA_BACKEND=OFF).


#13

I’m not sure about this problem, but I’d recommend you to build Aseprite in a directory with white spaces (try not using Program Files to compile it). So prefer something like C:\repos\aseprite instead.


#14

yeah… done that. Ninja is stil not finding build.ninja. Maybe I’ll try it again later in another computer.

ninja: error: loading ‘build.ninja’: O sistema nÒo pode encontrar o arquivo especificado.
system cannot find the specified file.