-
Notifications
You must be signed in to change notification settings - Fork 284
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Building exiv2 0.27.xxx on MSYS2 #1102
Comments
Thanks for reporting this. I have a couple of points of good news for you concerning 0.27.2 and 0.27-maintenance.
My suspicion is the toolchain for GCC 9.2.0. I don't have any comment to make concerning 'master' on MinGW. It sounds as though you don't want to use it at this time, so let's not bother with that and focus on
|
Thanks for answer.
So I think there was some commit between 0.27.2 and 0.27-maintenance that broke the build process |
I built a fresh clone of 0.27-maintenance with GCC 7.3.0 today. I'm more suspicious of GCC 9.2.0. Yesterday, a user reported successfully linking the 0.27.2 MinGW build with Qt, so there can't be much wrong. However, it was built with GCC 7.3.0 and it's possible that it cannot link with applications built with GCC 9.2.0 Can you try using GCC 7.3.0? |
Ah! something broke in my msys2 installation after downgrading. Don't know if it is linked! |
Downgrading GCC breaks Cmake. So not very possible. It doesn't seem a Windows problem but a exiv2 problem as some commits from 2.7.2 to 2.7- maintenance hinder the possibility to build with MSYS2/MINGW64/GCC9.2. Or perhaps it is a MINGW64 problem. |
It built OK for me with CMake 3.10.2 and GCC 7.3.0. The 0.27-maintenance branch is for development and doesn't promise to build every platform for every commit. The matrix of branches/releases/tools is infinite. No release (such as 0.27.2 or even 0.27) can promise to build with every future tool-set. |
It built OK for me with CMake 3.10.2 and GCC 7.3.0. |
No response from Luis (piponazo). I'm going to close this. @gaaned92 I'm working on Exiv2 v0.27.3 The schedule is to have a release candidate in early June and GM at the end of June. |
Trying to build on W10 Msys2 the last 0.27-maintenance branch, I get these errors:
|
Ah yes. GCC 9.3.0 doesn't build our code. I'm using GCC 7.4.0 which is provided in: http://repo.msys2.org/distrib/x86_64/msys2-x86_64-20190524.exe We've also had trouble with GCC 8.2.0 which was thoroughly investigated #421 The user reported a bug to GCC and I've heard nothing about it. I don't believe it's in the Exiv2 code, so regretfully, I can't do anything else about this. I recommend you install and build with GCC 7.4.0 If you need GCC 9.3.0 for your own purposes, you can build Exiv2 with 7.4.0 and install it. When you compile your code with 9.3.0, it will link to Exiv2/7.4.0 |
This looks like the mingw bug that requires you to link with -lssp if
you are using `FORTIFY_SOURCE=2` (which we are afaik adding).
Could you try to either remove `-DFORTIFY_SOURCE=` from the C/CXXFLAGS
or add -lssp to LDFLAGS?
|
@D4N Great insight. The msys2 build sets (from the output of CMake/msys2)
The code to set this is here:
@gaaned92 Can you try that, please. I can disable that in v0.27.3 RC, in much the same way that I've "tweaked" the compiler options for other platforms:
|
@clanmills
Build is ok. I will test ART with this version. If you want I test also the other modification, please show me where and how to |
The thanks go to (the brilliant, and pain-in-the-a***) @D4N
I'll submit that to branch 0.27-maintenance today. @gaaned92 FYI exiv2 v0.27.3 RC1 is on track for release on 2020-04-30 |
Fix submitted and merged in 0.27-maintenance #1175 |
I've been working with @piponazo on C++11 support for 0.27.3 RC2 (scheduled on 2020-05-30) in the branch |
Context:
see https://discuss.pixls.us/t/art-v1-0-is-out/16103/155
"the official exiv2 version in Mingw seems broken, or at least miscompiled. it seems libexiv2.dll doesn’t properly raise exceptions on error. if I compile it myself, everything works"
The tag 0.27.2 builds ok on Mingw64 even if I get warnings.
As it is rather old, I tried to build 0.27.-maintenance branch commit hash 5360d82, hoping to benefit from last updates in metadata decoding.
Unfortunately I get errors.
cmake step:
Errors:
Master branch cannot be built either due to other errors, but I understand that API change compared to 0.27 so it is not a concern now.
The text was updated successfully, but these errors were encountered: