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

Fix Compile Issues on macOS High Sierra 10.13.4 #468

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Fix Compile Issues on macOS High Sierra 10.13.4 #468

wants to merge 2 commits into from

Conversation

Usaamah99
Copy link

These two commits will allow Heimdall to compile successfully on macOS 10.13.4. I have tested this. One of the commits is from @brainstorm. The other is my own.

@joeblau
Copy link

joeblau commented May 8, 2018

To be clear, the issue is with Xcode 9.3, not High Sierra. I'm on 10.13.4 and my build works fine with Xcode 9.0.1, but fails with Xcode 9.3. That being said, I just verified that this patch works.

@Usaamah99
Copy link
Author

Yeah. I kind of guessed that because I noticed the errors started to occur after an update.

Copy link

@amo13 amo13 left a comment

Choose a reason for hiding this comment

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

I am trying to merge a few chosen pull requests into a fork but the libpit commit seems to break compiling on linux and windows. I don't really know c++, cmake or the compilation process and there cannot say anything about why exactly it is failing. Maybe you can know something about this? See this log for reference.

@@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 2.8.4)
project(libpit)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Dnullptr=NULL")
Copy link

Choose a reason for hiding this comment

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

This seems to break compilation on linux and windows according to the newly introduced github action

Copy link

Choose a reason for hiding this comment

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

Using the changes from e.foundation is cleaner than the changes suggested here, since they don't break compilation for other platforms. This works and compiles well on my fork:

Comment on lines +21 to +22
else(NOT MINGW)
set(CMAKE_EXE_LINKER_FLAGS "-lobjc -framework IOKit -framework CoreFoundation")
Copy link

Choose a reason for hiding this comment

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

This also breaks compilation on linux. I have tried else((NOT MINGW) AND (NOT ${CMAKE_SYSTEM_NAME} MATCHES "Linux")) but it appears to make no difference: compilation still fails on linux.

Copy link

Choose a reason for hiding this comment

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

Using the changes from e.foundation is cleaner than the changes suggested here, since they don't break compilation for other platforms. This works and compiles well on my fork:

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.

3 participants