#51983 closed defect (fixed)
iTerm2 upgrade fails
Reported by: | watsodw | Owned by: | markemer (Mark Anderson) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.3.4 |
Keywords: | mountainlion mavericks yosemite | Cc: | Schamschula (Marius Schamschula), myint (Steven Myint), EJFielding (Eric Fielding) |
Port: | iTerm2 |
Description
Please see log.
Attachments (1)
Change History (14)
Changed 8 years ago by watsodw
comment:1 Changed 8 years ago by mf2k (Frank Schima)
Cc: | emer@… removed |
---|---|
Owner: | changed from macports-tickets@… to emer@… |
Port: | iTerm2 added; iterm2 removed |
comment:2 Changed 8 years ago by Schamschula (Marius Schamschula)
Cc: | mps@… added |
---|
comment:3 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)
Keywords: | mountainlion mavericks yosemite added |
---|
As I mentioned in comment:ticket:47965:10, iTerm2 @3.0.5 requires OS X 10.11 El Capitan or later to build. Your log shows you're on OS X 10.10 Yosemite. Since iTerm2 runs on OS X 10.8 and later, it's my hope that somehow it can be made to build on 10.8 and later as well, but I don't know how.
comment:4 follow-up: 6 Changed 8 years ago by markemer (Mark Anderson)
I really don't see a way around this. Maybe we can build a clang on 10.8 that will build iterm2? That path seems fraught with danger. Maybe we only allow source builds on 10.11 and higher, and keep a binary for 10.11-10.8.
comment:6 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | EJFielding added |
---|
Replying to markemer:
Maybe we can build a clang on 10.8 that will build iterm2?
I don't know that the compiler capabilities are the problem. It might be a requirement for the 10.11 or newer SDK.
If it is a compiler requirement, we have no way to use a MacPorts-provided compiler with xcodebuild (#40762), which is what iTerm2 builds with.
Has duplicate #53130.
comment:7 Changed 8 years ago by EJFielding (Eric Fielding)
I looked again at what I have already installed on my OS X 10.10.5 machine, and I have iTerm2 @3.0.5_0, so it seems the build of 3.0.5 was configured to run on 10.10. Maybe I got a 3.0.5 binary some time ago that was built on 10.11?
comment:8 Changed 8 years ago by myint (Steven Myint)
By the way, iTerm2 now (3.0.13) requires 10.12 to build. On 10.11, I get:
CompileC build/iTerm2.build/Default/iTerm2Shared.build/Objects-normal/x86_64/PTYWindow.o sources/PTYWindow.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler cd /tmp/iTerm2 export LANG=en_US.US-ASCII /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c -arch x86_64 -fmessage-length=156 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -fcolor-diagnostics -std=gnu99 -fmodules -fmodules-prune-interval=86400 -fmodules-prune-after=345600 -fbuild-session-file=/var/folders/np/bmcfccrd3996nvvrxrht818r0000gn/C/org.llvm.clang/ModuleCache/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror=non-modular-include-in-framework-module -Wno-trigraphs -fpascal-strings -Os -fno-common -Wno-missing-field-initializers -Wno-missing-prototypes -Werror=return-type -Wunreachable-code -Wno-implicit-atomic-properties -Werror=deprecated-objc-isa-usage -Werror=objc-root-class -Wno-arc-repeated-use-of-weak -Wduplicate-method-match -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-shorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wundeclared-selector -Wno-deprecated-implementations -DNS_BLOCK_ASSERTIONS=1 -DOBJC_OLD_DISPATCH_PROTOTYPES=0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -fasm-blocks -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -mmacosx-version-min=10.9 -g -Wno-sign-conversion -iquote /tmp/iTerm2/build/iTerm2.build/Default/iTerm2Shared.build/iTerm2Shared-generated-files.hmap -I/tmp/iTerm2/build/iTerm2.build/Default/iTerm2Shared.build/iTerm2Shared-own-target-headers.hmap -I/tmp/iTerm2/build/iTerm2.build/Default/iTerm2Shared.build/iTerm2Shared-all-target-headers.hmap -iquote /tmp/iTerm2/build/iTerm2.build/Default/iTerm2Shared.build/iTerm2Shared-project-headers.hmap -I/tmp/iTerm2/build/Default/include -I/tmp/iTerm2/build/iTerm2.build/Default/iTerm2Shared.build/DerivedSources/x86_64 -I/tmp/iTerm2/build/iTerm2.build/Default/iTerm2Shared.build/DerivedSources -Wall -F/tmp/iTerm2/build/Default -F/tmp/iTerm2 -F/tmp/iTerm2/ColorPicker -F/tmp/iTerm2/ThirdParty -include /var/folders/np/bmcfccrd3996nvvrxrht818r0000gn/C/com.apple.DeveloperTools/7.3.1-7D1014/Xcode/SharedPrecompiledHeaders/iTerm2-cdsvnqusejvsafdgqekplpsmulwc/iTerm2.pch -MMD -MT dependencies -MF /tmp/iTerm2/build/iTerm2.build/Default/iTerm2Shared.build/Objects-normal/x86_64/PTYWindow.d --serialize-diagnostics /tmp/iTerm2/build/iTerm2.build/Default/iTerm2Shared.build/Objects-normal/x86_64/PTYWindow.dia -c /tmp/iTerm2/sources/PTYWindow.m -o /tmp/iTerm2/build/iTerm2.build/Default/iTerm2Shared.build/Objects-normal/x86_64/PTYWindow.o In file included from /tmp/iTerm2/sources/PTYWindow.m:43: /tmp/iTerm2/sources/iTermWindowImpl.m:30:38: error: expected a type styleMask:(NSWindowStyleMask)aStyle ^ /tmp/iTerm2/sources/iTermWindowImpl.m:35:39: warning: incompatible pointer to integer conversion sending 'id' to parameter of type 'NSUInteger' (aka 'unsigned long') [-Wint-conversion] styleMask:aStyle ^~~~~~
comment:9 Changed 8 years ago by markemer (Mark Anderson)
Unless we can build binaries for 10.8-10.11, I think I might have to mark this as 10.12 only. Which sucks. Anyone have any ideas?
comment:10 Changed 8 years ago by EJFielding (Eric Fielding)
Seems like it would be better to mark the new version as 10.12 only to avoid the rest of us having the frustration of having MacPorts downloading the upgrade and having it fail to build on our machines. I don't mind sticking with the @3.0.5 until I do the full OS upgrade.
comment:11 Changed 8 years ago by mojca (Mojca Miklavec)
If the port requires a newer SDK, then the "best" you can do is probably to install and older version of iTerm2 on older OSes. You can keep the same Portfile and only change the version and checksums based on OS version in some if-else statements. It requires more maintenance effort, but for some port it might be worth it. Depends.
comment:12 follow-up: 13 Changed 8 years ago by markemer (Mark Anderson)
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:13 Changed 8 years ago by EJFielding (Eric Fielding)
With MacPorts 2.4.0, I now get this error on my 10.10 system:
---> Fetching distfiles for iTerm2 Error: iTerm2 @3.0.13 requires OS X 10.11 or newer Error: Failed to fetch iTerm2: unsupported Mac OS X version
This is good that it gives the warning right away and doesn't go off and try to download and build the @3.0.13 version, but it is still considered an error by MacPorts. I have to use "sudo port upgrade outdated and not iTerm2" same as before the fix. Maybe this is the expected behavior.
Replying to markemer:
Cc Me!