Problems building aseprite (Windows 8.1 + MinGW/MSYS)

822 views
Skip to first unread message

Travis Stewart

unread,
Nov 8, 2014, 5:20:25 PM11/8/14
to aseprite...@googlegroups.com
I have previously used aseprite in Ubuntu without problems, but I am fairly unfamiliar with MinGW, not having looked at it in many years. I have been trying to follow the instructions listed here, in the install.md file:

I tried to generate makefiles using both the MinGW and MSYS generators and both have given me the same errors. Initially I was receiving errors telling me I needed the DirectX SDK installed and that I needed dx80_mgw.zip. After unzipping this into my MinGW folder and overwriting the files that already existed (this error seemed to be an issue with Allegro, and this was suggested in instructions for building Allegro) I tried again but the same errors were present. I then downloaded the official Microsoft DirectX SDK (June 2010) and installed it. Sadly this just changed the errors I received. I redirected the output to a text file and attached it to this post, though cmake also sent some errors and warnings to console:
C:\Users\Travis\Documents\Development\aseprite-master\build>cmake .. -G "MSYS Ma
kefiles" > out.txt
CMake Warning at src/scripting/CMakeLists.txt:14 (message):
  V8 not found, compiling without JS scripting support


CMake Warning (dev) at third_party/curl/CMakeLists.txt:562 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "TIME_WITH_SYS_TIME" will no longer be dereferenced
  when the policy is set to NEW.  Since the policy is not set the OLD
  behavior will be used.
Call Stack (most recent call first):
  third_party/curl/CMakeLists.txt:664 (curl_internal_test)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at third_party/curl/CMake/CurlCheckCSourceCompiles.cmake:16
(if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "curl_cv_func_recv_test" will no longer be
  dereferenced when the policy is set to NEW.  Since the policy is not set
  the OLD behavior will be used.
Call Stack (most recent call first):
  third_party/curl/CMake/OtherTests.cmake:47 (curl_check_c_source_compiles)
  third_party/curl/CMakeLists.txt:792 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Error: File C:/Users/Travis/Documents/Development/aseprite-master/third_pa
rty/pixman-cmake/../pixman/pixman/pixman-version.h.in does not exist.
CMake Error at third_party/pixman-cmake/CMakeLists.txt:13 (configure_file):
  configure_file Problem configuring file


CMake Warning (dev) at third_party/CMakeLists.txt:51 (add_subdirectory):
  The source directory

    C:/Users/Travis/Documents/Development/aseprite-master/third_party/simpleini

  does not contain a CMakeLists.txt file.

  CMake does not support this case but it used to work accidentally and is
  being allowed for compatibility.

  Policy CMP0014 is not set: Input directories must have CMakeLists.txt.  Run
  "cmake --help-policy CMP0014" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.
This warning is for project developers.  Use -Wno-dev to suppress it.

I really do not see any exact error that helps me pin down what might be going wrong and was wondering if it is obvious to anyone else.
out.txt

Travis Stewart

unread,
Nov 8, 2014, 5:39:30 PM11/8/14
to aseprite...@googlegroups.com
I tried forking the project and downloaded it that way, rather than downloading the repository as a zip file, but that is also causing problems. After generating makefiles I ran mingw32-make, but this stopped at 19% with the error:
[ 19%] Built target net-lib
Scanning dependencies of target updater-lib
[ 19%] Building CXX object src/updater/CMakeFiles/updater-lib.dir/check_update.c
pp.obj
In file included from C:\Users\Travis\Documents\Development\aseprite\src\updater
\check_update.cpp:26:0:
C:/Users/Travis/Documents/Development/aseprite/src/./base/convert_to.h: In funct
ion 'To base::convert_to(const From&)':
C:/Users/Travis/Documents/Development/aseprite/src/./base/convert_to.h:21:60: er
ror: there are no arguments to 'static_assert' that depend on a template paramet
er, so a declaration of 'static_assert' must be available [-fpermissive]
     static_assert(false && sizeof(To), "Invalid conversion");
                                                            ^
C:/Users/Travis/Documents/Development/aseprite/src/./base/convert_to.h:21:60: no
te: (if you use '-fpermissive', G++ will accept your code, but allowing the use
of an undeclared name is deprecated)
src\updater\CMakeFiles\updater-lib.dir\build.make:54: recipe for target 'src/upd
ater/CMakeFiles/updater-lib.dir/check_update.cpp.obj' failed
mingw32-make[2]: *** [src/updater/CMakeFiles/updater-lib.dir/check_update.cpp.ob
j] Error 1
CMakeFiles\Makefile2:3662: recipe for target 'src/updater/CMakeFiles/updater-lib
.dir/all' failed
mingw32-make[1]: *** [src/updater/CMakeFiles/updater-lib.dir/all] Error 2
Makefile:116: recipe for target 'all' failed
mingw32-make: *** [all] Error 2

C:\Users\Travis\Documents\Development\aseprite\build>

David Capello

unread,
Nov 8, 2014, 6:28:03 PM11/8/14
to aseprite-discuss
Hi Travis,

I'm not sure that Aseprite can be compiled with MinGW (it's not even compiled on gcc on a regular basis).

The Windows version is compiled with VS2012 and the OS X version with Clang, and there are no plans to support MinGW. Anyway maybe with some special compiler and linker flags you will be able to compile it, but I cannot help you in this area. Sorry :(

- David

--
You received this message because you are subscribed to the Google Groups "aseprite-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to aseprite-discu...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Travis Stewart

unread,
Nov 8, 2014, 6:35:22 PM11/8/14
to aseprite...@googlegroups.com
While the install file does say it can be built using VS2012, I figured, as it also included these lines:

If you have MinGW + MSYS:

C:\...\aseprite-source\build>cmake .. -G "MSYS Makefiles"

If you have MinGW + mingw-make:

C:\...\aseprite-source\build>cmake .. -G "MinGW Makefiles"
that it might work using MinGW, otherwise I am not sure why they were included. I have VS2013 installed now, can that be used?

--
You received this message because you are subscribed to a topic in the Google Groups "aseprite-discuss" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/aseprite-discuss/aDolaYgfAYE/unsubscribe.
To unsubscribe from this group and all its topics, send an email to aseprite-discu...@googlegroups.com.

David Capello

unread,
Nov 8, 2014, 6:39:19 PM11/8/14
to aseprite-discuss
Oh sorry about that, I've to update the INSTALL.md. Old versions of Aseprite were compiled with MinGW, but after 1.0 we don't support it anymore.

VS2013 should do the work (I've tested it before and it compiles Aseprite successfully)

- David

Travis Stewart

unread,
Nov 8, 2014, 6:43:53 PM11/8/14
to aseprite...@googlegroups.com
Thanks, so far that seems to be working well, I was able to generate the project and it is building now, no problems yet. Probably should have just started with that, but I did not feel like downloading the entirely of VS, but probably would have saved me time in the end.

Travis Stewart

unread,
Nov 8, 2014, 6:50:24 PM11/8/14
to aseprite...@googlegroups.com
Spoke too soon, ended with 600 errors or so. But I found a tutorial using VS Express 2013 so I will look over that first and see if I forgot something.

helios tnak

unread,
Dec 9, 2014, 10:09:25 PM12/9/14
to aseprite...@googlegroups.com
Actually, there are two submodules in the third_party folder, namely pixman and simpleini... if you didnt go through git and simply downloaded one of those release zips (like I did) you need the source from these two repos to get rid of that file not found error.

I've got mine to build by opening a cmd prompt, navigate to my VC installation and run that vcvars32.bat to setup vars, and nagivate back to aseprite to run cmake and stuff.

Hope that helps.

David Capello

unread,
Dec 10, 2014, 6:26:57 AM12/10/14
to aseprite-discuss
There were an issue about this soon: https://github.com/aseprite/aseprite/issues/550#issuecomment-65781692

I've contacted GitHub to fix this, but I'll try again later.

About vcvars32.bat, I didn't mention about it on INSTALL.md because I hope that is common knowledge for a Visual Studio programmer that want to contribute to the Windows version of Aseprite.

--

Reply all
Reply to author
Forward
0 new messages