Skip to content
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

MacOS Catalina Support + _CXX11 + GCC 8.4 #540

Merged
merged 7 commits into from Jul 8, 2020
Merged

Conversation

jonoomph
Copy link
Member

@jonoomph jonoomph commented Jul 7, 2020

Big changes to our Mac builder, including an upgrade to Catalina (10.15). This change was required due to new Gatekeeper changes on newer MacOS versions. Apple now requires all apps to be notarized, which involves many things, including a hardened runtime, more strict code signing, and entitlements. It also required a newer compiler than GCC 4.8 (our previous one), so I upgraded to GCC 8.4.

The libopenshot changes are mostly related to GCC 8.4 + Catalina changes to folder locations.

  • I had to manually include the XCode header files (since Apple removed /usr/include/, yup)
  • Updated CMake to use GCC 8.4
  • Disabled _GLIBCXX_USE_CXX11_ABI, due to breakage caused by symbol differences
  • Disabled find_package(Threads REQUIRED), since this breaks on MacOS now (and all OSes seem to be able to compile fine without it).
  • Related PR for openshot-qt changes: MacOS Catalina Support + Notarization + GCC 8.4 openshot-qt#3600

@jonoomph jonoomph changed the title MacOS Catalina Support + Notarization + GCC 8.4 MacOS Catalina Support + _CXX11 + GCC 8.4 Jul 7, 2020
@codecov
Copy link

codecov bot commented Jul 7, 2020

Codecov Report

Merging #540 into develop will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff            @@
##           develop     #540   +/-   ##
========================================
  Coverage    48.79%   48.79%           
========================================
  Files          129      129           
  Lines        10034    10034           
========================================
  Hits          4896     4896           
  Misses        5138     5138           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 517f289...aac43ec. Read the comment docs.

@@ -303,8 +305,6 @@ endforeach()
# Threading library -- uses IMPORTED target Threads::Threads (since CMake 3.1)
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
set(THREADS_PREFER_PTHREAD_FLAG TRUE)
find_package(Threads REQUIRED)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ferdnyc MacOS Catalina and GCC 8.4 did not like this at all. The only way I could get a passing build was to remove this line. However, it still appears that Linux and Windows build find with this missing. I still need to test those builds, and make sure they actually work, but the compilation passes. Any thoughts on this one?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jonoomph Only just saw this, sorry. The threading library configs were only ever there for OpenMP, since apparently not linking with pthreads could lead to link-time failures due to missing symbols. But I just ran a build with the current CMakeLists.txt and /usr/lib64/libpthread.so is right there next to /usr/lib/gcc/x86_64-redhat-linux/10/libgomp.so in the final linker command line, so clearly OpenMP::OpenMP_CXX is taking care of its dependencies now, the way it's supposed to.

In fact I just tried again after ripping out the variable-settings just above, and everything still built exactly the way it was supposed to, so we can probably dump those as well just to avoid confusion. Might as well let OpenMP handle everything for itself.

.gitlab-ci.yml Show resolved Hide resolved
@jonoomph jonoomph merged commit a0cfe2e into develop Jul 8, 2020
@jonoomph jonoomph deleted the mac-catalina-changes branch July 8, 2020 07:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants