Ninja compilation problems

Hello, I was trying to compile the source code for the linux version of Aseprite for use on a raspberry pi (3 b+) running Ubuntu Mate, and followed this (https://www.youtube.com/watch?v=s3hhkcDOASc) tutorial. I was successful, all the way up to when I had to do the final compilation with ninja. It stopped and this is the final few lines of the output:

ninja: build stopped: subcommand failed.```

If you need any more information, let me know.

Thanks!
1 Like

You can get aseprite working on a pi that’s epic welcome to the community (:slight_smile:

1 Like

No, the problem is that I can’t quite get it working. Do you have any idea on how to fix the problem mentioned in the original post?

1 Like

Oh that’s a shame sadly I have no idea

ok, so I’ve traced the problem down to what seems to be its source, and that is the compilation of skia. I go through all of the steps listed on the github page (https://github.com/aseprite/skia#readme), and everything seems to work fine, up until this step:
gn gen out/Release-x64 --args="is_debug=false is_official_build=true skia_use_system_expat=false skia_use_system_icu=false skia_use_system_libjpeg_turbo=false skia_use_system_libpng=false skia_use_system_libwebp=false skia_use_system_zlib=false"

I run that, and this is the error message that pops up:
Traceback (most recent call last): File "/home/cade/deps/depot_tools/gn.py", line 75, in <module> sys.exit(main(sys.argv)) File "/home/cade/deps/depot_tools/gn.py", line 70, in main return subprocess.call([gn_path] + args[1:]) File "/usr/lib/python2.7/subprocess.py", line 172, in call return Popen(*popenargs, **kwargs).wait() File "/usr/lib/python2.7/subprocess.py", line 394, in __init__ errread, errwrite) File "/usr/lib/python2.7/subprocess.py", line 1047, in _execute_child raise child_exception OSError: [Errno 8] Exec format error

Any help would be appreciated, maybe @dacap could help?

1 Like

Ok, nevermind, I fixed that by just using the pre-compiled version of skia, and then the compilation part worked fine, but now whenever I run ninja aseprite I get this:
[109/1496] Building C object third_par...rl/lib/CMakeFiles/libcurl.dir/file.c.o FAILED: third_party/curl/lib/CMakeFiles/libcurl.dir/file.c.o /usr/bin/cc -DBUILDING_LIBCURL -DCMARK_STATIC_DEFINE -DHAVE_CONFIG_H -DNDEBUG -DPNG_NO_MMX_CODE -I../third_party/zlib -Ithird_party/zlib -I../third_party/libpng -Ithird_party/libpng -I../third_party/libwebp/src -I../third_party/tinyxml -I../third_party/pixman/pixman -I. -I../third_party/freetype2/include -I../third_party/harfbuzz/src -I../third_party/giflib/lib -I../third_party/jpeg -Ithird_party/cmark -I../third_party/curl/include -I../third_party/simpleini -I../third_party/. -Ithird_party/curl/include/curl -Ithird_party/curl/lib/../include -I../third_party/curl/lib/.. -I../third_party/curl/lib/../include -Ithird_party/curl/lib/.. -I../third_party/curl/lib -Ithird_party/curl/lib -O2 -g -DNDEBUG -MD -MT third_party/curl/lib/CMakeFiles/libcurl.dir/file.c.o -MF third_party/curl/lib/CMakeFiles/libcurl.dir/file.c.o.d -o third_party/curl/lib/CMakeFiles/libcurl.dir/file.c.o -c ../third_party/curl/lib/file.c In file included from ../third_party/curl/lib/setup.h:126, from ../third_party/curl/lib/file.c:23: ../third_party/curl/include/curl/curlrules.h:79:4: error: #error "CURL_SIZEOF_LONG definition is missing!" 79 | # error "CURL_SIZEOF_LONG definition is missing!" | ^~~~~ ../third_party/curl/include/curl/curlrules.h:80:4: error: unknown type name ‘Error’ 80 | Error Compilation_aborted_CURL_SIZEOF_LONG_is_missing | ^~~~~ ../third_party/curl/include/curl/curlrules.h:94:4: error: #error "CURL_TYPEOF_CURL_OFF_T definition is missing!" 94 | # error "CURL_TYPEOF_CURL_OFF_T definition is missing!" | ^~~~~ ../third_party/curl/include/curl/curlrules.h:95:4: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘Error’ 95 | Error Compilation_aborted_CURL_TYPEOF_CURL_OFF_T_is_missing | ^~~~~ ../third_party/curl/include/curl/curlrules.h:95:4: error: unknown type name ‘Error’ ../third_party/curl/include/curl/curlrules.h:99:4: error: #error "CURL_FORMAT_CURL_OFF_T definition is missing!" 99 | # error "CURL_FORMAT_CURL_OFF_T definition is missing!" | ^~~~~ ../third_party/curl/include/curl/curlrules.h:104:4: error: #error "CURL_FORMAT_CURL_OFF_TU definition is missing!" 104 | # error "CURL_FORMAT_CURL_OFF_TU definition is missing!" | ^~~~~ ../third_party/curl/include/curl/curlrules.h:109:4: error: #error "CURL_FORMAT_OFF_T definition is missing!" 109 | # error "CURL_FORMAT_OFF_T definition is missing!" | ^~~~~ ../third_party/curl/include/curl/curlrules.h:114:4: error: #error "CURL_SIZEOF_CURL_OFF_T definition is missing!" 114 | # error "CURL_SIZEOF_CURL_OFF_T definition is missing!" | ^~~~~ ../third_party/curl/include/curl/curlrules.h:119:4: error: #error "CURL_SUFFIX_CURL_OFF_T definition is missing!" 119 | # error "CURL_SUFFIX_CURL_OFF_T definition is missing!" | ^~~~~ ../third_party/curl/include/curl/curlrules.h:124:4: error: #error "CURL_SUFFIX_CURL_OFF_TU definition is missing!" 124 | # error "CURL_SUFFIX_CURL_OFF_TU definition is missing!" | ^~~~~ ../third_party/curl/include/curl/curlrules.h:153:18: error: ‘curl_off_t’ undeclared here (not in a function); did you mean ‘loff_t’? 153 | [CurlchkszEQ(curl_off_t, CURL_SIZEOF_CURL_OFF_T)]; | ^~~~~~~~~~ ../third_party/curl/include/curl/curlrules.h:132:34: note: in definition of macro ‘CurlchkszEQ’ 132 | #define CurlchkszEQ(t, s) sizeof(t) == s ? 1 : -1 | ^ ../third_party/curl/include/curl/curlrules.h:153:30: error: ‘CURL_SIZEOF_CURL_OFF_T’ undeclared here (not in a function); did you mean ‘CURL_SIZEOF_CURL_SOCKLEN_T’? 153 | [CurlchkszEQ(curl_off_t, CURL_SIZEOF_CURL_OFF_T)]; | ^~~~~~~~~~~~~~~~~~~~~~ ../third_party/curl/include/curl/curlrules.h:132:40: note: in definition of macro ‘CurlchkszEQ’ 132 | #define CurlchkszEQ(t, s) sizeof(t) == s ? 1 : -1 | ^ [114/1496] Building C object third_par...ib/CMakeFiles/zlibstatic.dir/inflate.o ninja: build stopped: subcommand failed.

If anyone could help, ive been working on this for a few days now, and will appreciate any help I can get.
(The reason Im not just buying it is because the trial versions dont work on my raspberry pi, which is pretty much my only computer at the moment. I do plan on buying it later though, especially if i can get this to work.)

Ok, I was able to get it working by simply installing a fresh raspbian, and it is part of the default repo, however, it seems to be a very outdated version(1.1.9 or something like that.). The changelog in the program itself has the changelog for the latest version, but when I run aseprite --version, it gives a version number of 1. something. Does anybody know how I could update to the latest version, or tell if I am actually on the latest version?
Thanks!

1 Like

@dacap would you guys consider making a raspberry pi version(armv8 I believe) of aseprite available for purchase? I would love that if you could. The current only way I can find to use aseprite on a raspberry pi is through the default repo, which is a very outdated version(1.1.6-dev I think), and missing a lot of features that I need. I have tried to compile it from source, but it throws a lot of errors last I tried.
Thanks!