compile issues

Helmut K. C. Tessarek's Avatar

Helmut K. C. Tessarek

09 Jun, 2016 08:19 PM

Compiling GPGKeychainAccess on MacOSX 10.11.5 errors out:

$ make
xcodebuild -project GPGKeychain.xcodeproj -target "GPG Keychain" build
=== BUILD TARGET GPG Keychain OF PROJECT GPGKeychain WITH THE DEFAULT CONFIGURATION (Release) ===

Check dependencies

CompileC build/GPGKeychain.build/Release/GPG\ Keychain.build/Objects-normal/x86_64/AppDelegate.o Source/AppDelegate.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
    cd /Users/kct/data/work/GPGTools/GPGKeychainAccess
    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=192 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -fcolor-diagnostics -std=gnu99 -fobjc-arc -Wno-trigraphs -fpascal-strings -Os -flto -Wno-missing-field-initializers -Wmissing-prototypes -Wno-implicit-atomic-properties -Wno-arc-repeated-use-of-weak -Wduplicate-method-match -Wno-format -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wshadow -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 -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 -fvisibility=hidden -Wno-sign-conversion -iquote /Users/kct/data/work/GPGTools/GPGKeychainAccess/build/GPGKeychain.build/Release/GPG\ Keychain.build/GPG\ Keychain-generated-files.hmap -I/Users/kct/data/work/GPGTools/GPGKeychainAccess/build/GPGKeychain.build/Release/GPG\ Keychain.build/GPG\ Keychain-own-target-headers.hmap -I/Users/kct/data/work/GPGTools/GPGKeychainAccess/build/GPGKeychain.build/Release/GPG\ Keychain.build/GPG\ Keychain-all-target-headers.hmap -iquote /Users/kct/data/work/GPGTools/GPGKeychainAccess/build/GPGKeychain.build/Release/GPG\ Keychain.build/GPG\ Keychain-project-headers.hmap -I/Users/kct/data/work/GPGTools/GPGKeychainAccess/build/Release/include -I/Users/kct/data/work/GPGTools/GPGKeychainAccess/build/GPGKeychain.build/Release/GPG\ Keychain.build/DerivedSources/x86_64 -I/Users/kct/data/work/GPGTools/GPGKeychainAccess/build/GPGKeychain.build/Release/GPG\ Keychain.build/DerivedSources -F/Users/kct/data/work/GPGTools/GPGKeychainAccess/build/Release -F/Library/Frameworks -F/Users/kct/Library/Frameworks -F/Users/kct/data/work/GPGTools/GPGKeychainAccess/Dependencies/Libmacgpg/build/Release -Xclang -fobjc-runtime-has-weak -include /var/folders/vy/kxs_g1ls45j727l50qsk17csgtbq59/C/com.apple.DeveloperTools/7.3.1-7D1014/Xcode/SharedPrecompiledHeaders/Prefix-dreqhghtonbftxcythecbohpvage/Prefix.pch -MMD -MT dependencies -MF /Users/kct/data/work/GPGTools/GPGKeychainAccess/build/GPGKeychain.build/Release/GPG\ Keychain.build/Objects-normal/x86_64/AppDelegate.d --serialize-diagnostics /Users/kct/data/work/GPGTools/GPGKeychainAccess/build/GPGKeychain.build/Release/GPG\ Keychain.build/Objects-normal/x86_64/AppDelegate.dia -c /Users/kct/data/work/GPGTools/GPGKeychainAccess/Source/AppDelegate.m -o /Users/kct/data/work/GPGTools/GPGKeychainAccess/build/GPGKeychain.build/Release/GPG\ Keychain.build/Objects-normal/x86_64/AppDelegate.o
In file included from /Users/kct/data/work/GPGTools/GPGKeychainAccess/Source/AppDelegate.m:23:
/Users/kct/data/work/GPGTools/GPGKeychainAccess/Source/PreferencesController.h:34:39: warning: 'retain (or strong)' attribute on property 'window' does not match the property inherited from
      'NSWindowController' [-Wproperty-attribute-mismatch]
@property (assign) IBOutlet NSWindow *window;
                                      ^


CompileC build/GPGKeychain.build/Release/GPG\ Keychain.build/Objects-normal/x86_64/ActionController.o Source/ActionController.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
    cd /Users/kct/data/work/GPGTools/GPGKeychainAccess
    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=192 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -fcolor-diagnostics -std=gnu99 -fobjc-arc -Wno-trigraphs -fpascal-strings -Os -flto -Wno-missing-field-initializers -Wmissing-prototypes -Wno-implicit-atomic-properties -Wno-arc-repeated-use-of-weak -Wduplicate-method-match -Wno-format -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wshadow -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 -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 -fvisibility=hidden -Wno-sign-conversion -iquote /Users/kct/data/work/GPGTools/GPGKeychainAccess/build/GPGKeychain.build/Release/GPG\ Keychain.build/GPG\ Keychain-generated-files.hmap -I/Users/kct/data/work/GPGTools/GPGKeychainAccess/build/GPGKeychain.build/Release/GPG\ Keychain.build/GPG\ Keychain-own-target-headers.hmap -I/Users/kct/data/work/GPGTools/GPGKeychainAccess/build/GPGKeychain.build/Release/GPG\ Keychain.build/GPG\ Keychain-all-target-headers.hmap -iquote /Users/kct/data/work/GPGTools/GPGKeychainAccess/build/GPGKeychain.build/Release/GPG\ Keychain.build/GPG\ Keychain-project-headers.hmap -I/Users/kct/data/work/GPGTools/GPGKeychainAccess/build/Release/include -I/Users/kct/data/work/GPGTools/GPGKeychainAccess/build/GPGKeychain.build/Release/GPG\ Keychain.build/DerivedSources/x86_64 -I/Users/kct/data/work/GPGTools/GPGKeychainAccess/build/GPGKeychain.build/Release/GPG\ Keychain.build/DerivedSources -F/Users/kct/data/work/GPGTools/GPGKeychainAccess/build/Release -F/Library/Frameworks -F/Users/kct/Library/Frameworks -F/Users/kct/data/work/GPGTools/GPGKeychainAccess/Dependencies/Libmacgpg/build/Release -Xclang -fobjc-runtime-has-weak -include /var/folders/vy/kxs_g1ls45j727l50qsk17csgtbq59/C/com.apple.DeveloperTools/7.3.1-7D1014/Xcode/SharedPrecompiledHeaders/Prefix-dreqhghtonbftxcythecbohpvage/Prefix.pch -MMD -MT dependencies -MF /Users/kct/data/work/GPGTools/GPGKeychainAccess/build/GPGKeychain.build/Release/GPG\ Keychain.build/Objects-normal/x86_64/ActionController.d --serialize-diagnostics /Users/kct/data/work/GPGTools/GPGKeychainAccess/build/GPGKeychain.build/Release/GPG\ Keychain.build/Objects-normal/x86_64/ActionController.dia -c /Users/kct/data/work/GPGTools/GPGKeychainAccess/Source/ActionController.m -o /Users/kct/data/work/GPGTools/GPGKeychainAccess/build/GPGKeychain.build/Release/GPG\ Keychain.build/Objects-normal/x86_64/ActionController.o
/Users/kct/data/work/GPGTools/GPGKeychainAccess/Source/ActionController.m:347:36: error: property 'data' not found on object of type 'GPGPacket *'
                        [dataToImport appendData:packet.data];
                                                        ^
1 error generated.

Then I tried to compile a newer version of Libmacgpg first, but this fails with: fatal error: 'openssl/x509.h' file not found

I'm using git HEAD for all dependencies: GPGKeychainAccess, GPGTools_Core, Libmacgpg

Any help would be appreciated. (latest Xcode, commnand line tools).

  1. 1 Posted by Mento on 13 Jun, 2016 08:31 AM

    Mento's Avatar

    Hi tessarek,

    to compile Libmacgpg on 10.11 you have currently two options:

    a.) Install openssl via homebrew and change the build settings for installerHelper:

    HEADER_SEARCH_PATHS = /usr/local/opt/openssl/include
    LIBRARY_SEARCH_PATHS = /usr/local/opt/openssl/lib
    

    or b.) Remove installerHelper from "Target Dependencies" and GPGTools.app from "Copy Bundle Resources".

    Regards, Mento

  2. 2 Posted by Helmut K. C. Te... on 04 Jul, 2016 07:38 PM

    Helmut K. C. Tessarek's Avatar

    Hello,

    Hmm, weird. I never got an email that the ticket was updated (although it's set in my profile). Thanks for the info.

    Unfortunately I've also noticed another issue. There are 2 resource directories for English: en_US.lproj and en.lproj. In Xcode MainMenu.xib and MainMenu.xib (English) point to en.lproj. But when you change something and re-compile, nothing happens.

    I took me 3 hours to find out that you can't change the GUI from Xcode unless you specifically open the xib files in the en_US.lproj directory.

    This is really a mess. Please clean this up. Either remove one of the directories or create a symlink. Currently Xcode shows only the one, which is not used. Totally strange.

    Cheers,
    K. C.

  3. 3 Posted by Mento on 06 Jul, 2016 09:51 AM

    Mento's Avatar

    Hi,

    en_US.lproj is a workaround for a problem with transifex. The plan is to remove it a soon as we have a working solution.
    If you make UI changes and want them to be merged into our repo, you have to edit en.lproj, because we generate en_US.lproj from it.

    Regards, Mento

  4. 4 Posted by Helmut K. C. Te... on 06 Jul, 2016 02:45 PM

    Helmut K. C. Tessarek's Avatar

    Hello Mento,

    Don't get me wrong, it's perfectly fine to have a workaround, but you have to add this information to the README. Furthermore you have to change the build process. If I run make, the changes have to show up in the resulting binary.

    People need to know that the build process is broken and that nothing they do will show up in the binary. How do you expect people to create a pull request when they can't even test their changes?

    I really thought I was going crazy for a while. I even showed this issue to several colleagues that when I changed the GUI, it didn't do anything. They were at a loss at well. I checked my git status and the .xib file was defintely changed. Then I thought make only takes comitted stuff from the dev branch.

    Please don't let others go through the same process as I. Please add at least one line of explanation to the README under the build section.

  5. 5 Posted by Mento on 07 Nov, 2016 10:49 AM

    Mento's Avatar

    We are using base internationalization now. I'm closing this discussion.

  6. Mento closed this discussion on 07 Nov, 2016 10:49 AM.

Comments are currently closed for this discussion. You can start a new one.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac