Building from source

#1

Hey guys,

I’ve seen this topic a couple of times on the forum but being new to building projects from source, I’m not sure how to build OF.

I use windows and have built libraries like OpenCV, GLFW, Nana etc. from source using MINGW64 and CMAKE. But these have a CMAKE file in their root which lets you work with CMAKE to build them. I’ve downloaded the msys2 release and successfully (I think…) installed the dependencies with msys2 shell.
When I try using mingw32-make in the “your_oF_directory/libs/openFrameworksCompiled/project” directory I get errors like this:

HOST_OS=MSYS_NT-6.1-7601
FIND: Parameter format not correct
checking pkg-config libraries: cairo zlib openssl glew glfw3 libcurl
with PKG_CONFIG_LIBDIR=
FIND: Parameter format not correct
File not found - *.cpp
FIND: Parameter format not correct
File not found - *.cpp

Any ideas on what inhumanity I’m causing here?

Thanks a lot!

#2

Hi,
I’m not sure I understand your problem, but I try to reply because you’ve got no answers :wink:
Have you got a reason to not follow the setup tutorial ? For windows you have to use msys and make, not mingw32-make.

#3

Thanks for your response Lilive!

The installation script / steps still utilize MINGW (the install_dependencies batch file downloads the latest MINGW for your machine before downloading the corresponding dependencies).

What I was trying to do was to use my own version of MINGW which is (was) 64-bit version 7 but it was just not working out. I had to modify both the script and the makefile to make it work on my machine (the script was getting stuck tryng to set the system path so I got rid of that block of code) but I still had to switch to MINGW 64 bit version 9.

I would still be interested to find out what I need to do so I don’t have to be at MSYS2’s mercy to give me its version of MINGW. I’m also having difficulty figuring out how to modify the make file so I can generate a DLL instead of .a (this is probably a story for another thread).

#4

Thank you for the clarifications. What you are trying to do is far beyond my skills, I’m sorry.
Just a thought about the error message you’ve got: may it be possible that your “find” program is not the same than the one provided by msys ? Maybe this is the problem here.

#5

Thanks lilive. A different insight is always helpful! I’m not sure what a find program is, is that something I need to configure in msys?
I think I’ll try the whole process again at some point to try and figure out what the errors mean. It might just be that the source files work only with a specific version of GCC.

#6

Actually, OF is not supported on MINGW64.
From the initial logs

HOST_OS=MSYS_NT-6.1-7601

it seems that you are building in MSYS and not in MINGW32

FIND: Parameter format not correct

your PATH is not set correctly and scripts use Windows version of find instead of bash version. Make sure that MSYS2 directories are first in your PATH.

MSYS instructions have been updated in the master. Have a look at them.

#7

Thanks for your reply. I tried the command from the msys and mingw64 shell but I had issues with them.
I can’t recall exact errors anymore but I think I will need to do this again at some point to document things in detail.
So far running ok with the version of mingw that msys2 provides and also running ok with VS2017. I’ll start another thread once I have more information.