MSYS2 0.9.0 Installation Problems

Hi!
I am trying to install 0.9.0 MSYS versión, but I come to a couple of problems.
First, very silly thing, the path suggested for

cd your_oF_directory/scripts/win_cb/msys2
./install_dependencies.sh`

Seems to be without win_cb, right? Or am I missing something?
Also the coma at the end of the file name, is it a typo?

Finally, my true issue comes when compiling oF libraries, this happens:

C:/msys64/home/Studio/of_v0.9.0_msys2_release/libs/openFrameworks/utils/ofUtils.cpp: In function ‘ofTargetPlatform ofGetTargetPlatform()’:
C:/msys64/home/Studio/of_v0.9.0_msys2_release/libs/openFrameworks/utils/ofUtils.cpp:1016:16: error: ‘OF_TARGET_WINGCC’ was not declared in this scope
return OF_TARGET_WINGCC;

makefileCommon/compile.core.mk:239: recipe for target ‘/home/Studio/of_v0.9.0_msys2_release/libs/openFrameworksCompiled/lib/msys2/obj/Debug/libs/openFrameworks/utils/ofUtis.o’ failed
make[2]: *** [/home/Studio/of_v0.9.0_msys2_release/libs/openFrameworksCompiled/lib/msys2/obj/Debug/libs/openFrameworks/utils/ofUtils.o] Error 1
makefileCommon/compile.core.mk:213: recipe for target ‘Debug’ failed
make[1]: *** [Debug] Error 2
makefileCommon/compile.core.mk:229: recipe for target ‘all’ failed
make: *** [all] Error 2

Any idea of what its happening? Is it a real problem?

Thanks a lot!
Diego

I just downloaded the last version on github and that problem disappeared.
Compiling an example -the very 3DPrimitiveExample- threw no problems but when executing it, look like it cannot find the libraries

C:/msys64/home/Studio/of_v0.9.0_msys2_release/examples/3d/3DPrimitivesExample/bin/3DPrimitivesExample.exe: error while loading shared libraries: ?: cannot open shared object file: No such file or directory

Seems it can not find fmodex.dll library

Copying the fmodex.dll found at /export/msys2 made the thing work.
This makes me think there is a problem with the importing of the dlls.

Using QT solves everything, it imports the dll.
Sorry for the really-begginer post, but I hope this help somebody if has to face the same process.
Best,
Diego

Thank you for all the feedback and I’m glad you’ve found the answers by yourself.
Concerning the OF_TARGET_WINGCC error, you just have to replace OF_TARGET_WINGCC by OF_TARGET_MINGW to solve it.
For the fmodex.dll, you can add the ‘export’ directory to your path to avoid copying it.

Hi,
Just this to let you know it helped indeed. I just had the same issues. :smile:
Thanks

Woah! Thanks a lot pob! I’m happy it helped!
Also thanks a lot oxillo for poiting to a solution to the problem!
Best,
Diego

after following MSYS2 setup guide with windows, I am having the same errors when trying make in libs/openFrameworksCompiled/project or any exemple. @dmelladom where do you copy fmodex.dll? I tried to copy it in myExample/bin but I still have the same make error. @oxillo where and how do you replace OF_TARGET_WINGCC by OF_TARGET_MINGW ? sorry if I am asking some basic beginner questions, I am being stuck. thank you for your help!

For the OF_TARGET_WINGCC, you have to edit ofUtils.c located in libs/openFrameworks/utils.
At the end (line 1016), in function ofGetTargetPlatform(), replace

return OF_TARGET_WINGCC;

by

return OF_TARGET_MINGW;

Missing fmodex.dll should not prevent you from compiling and linking. It will only popup/fail when running the example.

Thanks a lot for the details, it’s working now!

Hi! Sorry for not coming to this before.
I just copied it to the /bin/ folder and ran without problems.
Hope it works!
D!

Hey! I just wanna say thank you!
I am also just starting to learn OF, but I am pretty bad in programming.
Even though this seems like a beginner post, it is still very helpful for me.
Thank you so much for asking this question.

I’ve had the same problem and oxillo’s fix sorted it out. Thanks!

I found the file to modify was actually a .cpp rather than .c, but line 1016 was as described, and I modified it as instructed.

Presumably everyone who has tried to install 0.9.0 MSYS must have this problem? Perhaps a note in the MSYS guide is needed? Also, finding this post was not easy. Would a ‘Installation Problems’ category be useful?

seems the OF_TARGET_WINGCC error is already fixed in the master, only a matter of time before it shows up in the official downloads.

the problem with the missing dll files is fixable in a single place.
edit libs/openFrameworksCompiled/project/msys2/config.msys2.default.mk

search for “afterplatform:” and insert this line:

cp -r $(OF_EXPORT_PATH)/$(ABI_LIB_SUBPATH)/* bin

see also https://github.com/openframeworks/openFrameworks/issues/4720

1 Like

Hi,

I’m trying to install the most recent version (I cloned it from git, it’s after 0.9.3 though) with msys2 under windows 10. I followed the usual instructions with a brand new install of msys2. I’m getting the following error when compiling…

Compiling /home/john/projects/openFrameworks/libs/openFrameworks/3d/of3dPrimitives.cpp
/mingw32/bin/g++ -g3 -std=gnu++14 -DUNICODE -D_UNICODE -Wall -fexceptions -march=native -mtune=native -DPOCO_STATIC -mms-bitfields -IC:/msys64/mingw32/include/cairo -IC:/msys64/mingw32/include/pixman-1 -IC:/msys64/mingw32/include -I/mingw32/include/freetype2 -I/mingw32/include/libpng16 -I/mingw32/include/harfbuzz -I/mingw32/include/glib-2.0 -I/mingw32/lib/glib-2.0/include -IC:/msys64/mingw32/include -IC:/msys64/mingw32/include/freetype2 -IC:/msys64/mingw32/include -IC:/msys64/mingw32/include/harfbuzz -IC:/msys64/mingw32/include/glib-2.0 -IC:/msys64/mingw32/lib/glib-2.0/include -IC:/msys64/mingw32/include -IC:/msys64/mingw32/include/libpng16 -IC:/msys64/mingw32/include -I/home/john/projects/openFrameworks/libs/fmodex/include -I/home/john/projects/openFrameworks/libs/glfw/include -I/home/john/projects/openFrameworks/libs/glfw/include/GLFW -I/home/john/projects/openFrameworks/libs/glu/include -I/home/john/projects/openFrameworks/libs/json/include -I/home/john/projects/openFrameworks/libs/kiss/include -I/home/john/projects/openFrameworks/libs/rtAudio/include -I/home/john/projects/openFrameworks/libs/tess2/include -I/home/john/projects/openFrameworks/libs/utf8cpp/include -I/home/john/projects/openFrameworks/libs/utf8cpp/include/utf8 -I/home/john/projects/openFrameworks/libs/videoInput/include -I/home/john/projects/openFrameworks/libs/openFrameworks -I/home/john/projects/openFrameworks/libs/openFrameworks/3d -I/home/john/projects/openFrameworks/libs/openFrameworks/app -I/home/john/projects/openFrameworks/libs/openFrameworks/communication -I/home/john/projects/openFrameworks/libs/openFrameworks/events -I/home/john/projects/openFrameworks/libs/openFrameworks/gl -I/home/john/projects/openFrameworks/libs/openFrameworks/graphics -I/home/john/projects/openFrameworks/libs/openFrameworks/math -I/home/john/projects/openFrameworks/libs/openFrameworks/sound -I/home/john/projects/openFrameworks/libs/openFrameworks/types -I/home/john/projects/openFrameworks/libs/openFrameworks/utils -I/home/john/projects/openFrameworks/libs/openFrameworks/video -DDEBUG -MMD -MP -MF /home/john/projects/openFrameworks/libs/openFrameworksCompiled/lib/msys2/obj/Debug/libs/openFrameworks/3d/of3dPrimitives.d -MT/home/john/projects/openFrameworks/libs/openFrameworksCompiled/lib/msys2/obj/Debug/libs/openFrameworks/3d/of3dPrimitives.o -o /home/john/projects/openFrameworks/libs/openFrameworksCompiled/lib/msys2/obj/Debug/libs/openFrameworks/3d/of3dPrimitives.o -c /home/john/projects/openFrameworks/libs/openFrameworks/3d/of3dPrimitives.cpp
makefileCommon/compile.core.mk:239: recipe for target ‘/home/john/projects/openFrameworks/libs/openFrameworksCompiled/lib/msys2/obj/Debug/libs/openFrameworks/3d/of3dPrimitives.o’ failed

It appears that the compiler is just not producing anything. /home/john/projects/openFrameworks/libs/openFrameworksCompiled/lib/msys2/obj/Debug/libs/openFrameworks/3d/ is empty, yet there is no error message. I’m a bit lost at this point as the compiler options look unfamiliar. Any ideas? Thanks!

Hmmm… I tried generating my own minimal g++ command to just compile of3dPrimitives.o. It appears that it’s missing glx.h which is nowhere to be found on my system but is included in utils/ofConstants.h. For some reason the larger command is failing in that way and not producing an error message.