Still trying to compile Aseprite

Hi, can anyone please help me. I tried to follow the steps presented in aseprite/INSTALL.md at master · aseprite/aseprite · GitHub, 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.

1 Like

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.

1 Like

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.

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).

1 Like

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

Okay thanks there will be the problem for me.

2 Likes

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.

3 Likes

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.

1 Like

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.

1 Like

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).

1 Like

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

1 Like

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?

1 Like

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).

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.

1 Like

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.

2 Likes

An EOL ( End of Line ) error indicates that the Python interpreter expected a particular character or set of characters to have occurred in a specific line of code, but that those characters were not found before the end of the line . This results in Python stopping the program execution and throwing a syntax error .

The SyntaxError: EOL while scanning string literal error in python occurs when while scanning a string of a program the python hit the end of the line due to the following reasons:

  • Missing quotes
  • Strings spanning multiple lines