Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#55510 closed defect (fixed)

cmake 3.10.0 fails to build on leopard

Reported by: rmottola (Riccardo) Owned by: michaelld (Michael Dickens)
Priority: Normal Milestone:
Component: ports Version:
Keywords: leopard Cc: ryandesign (Ryan Carsten Schmidt)
Port: cmake

Description

built of cmake on leopard/intel fail

:info:build Exit code: 2
:error:build Failed to build cmake: command execution failed
:debug:build Error code: CHILDSTATUS 48724 2
:debug:build Backtrace: command execution failed
:debug:build     while executing
:debug:build "system {*}$notty {*}$nice $fullcmdstring"
:debug:build     invoked from within
:debug:build "command_exec build"
:debug:build     (procedure "portbuild::build_main" line 8)
:debug:build     invoked from within
:debug:build "$procedure $targetname"
:debug:build could not read "/opt/local/lib/pkgconfig/libuv.pc": no such file or directory
:debug:build     while executing
:debug:build "::file type $file"
:error:build See /opt/local/var/macports/logs/

might it be due to pkgconfig and/or libuv?

port list active shows me:

libuv                          @1.18.0         devel/libuv
pkgconfig                      @0.29.2         devel/pkgconfig

Attachments (1)

main.log (1.6 MB) - added by rmottola (Riccardo) 6 years ago.
original build log

Download all attachments as: .zip

Change History (15)

Changed 6 years ago by rmottola (Riccardo)

Attachment: main.log added

original build log

comment:1 Changed 6 years ago by kencu (Ken)

I think you are the first person to try this build (gcc6 building cmake 3.10 on Intel). Doesn't work, obviously. You've run into some kind of build issue with the security framework.

For now, I would suggest you try building cmake 3.9 instead, which is still very capable and much easier to build. You can get it here <https://github.com/kencu/TigerPorts/tree/master/devel/cmake>.

Unfortunately, you will need to learn how to make a custom repo <https://guide.macports.org/chunked/development.local-repositories.html> , and peg ports at older versions, otherwise this will be a recurring issue.

Last edited 6 years ago by kencu (Ken) (previous) (diff)

comment:2 Changed 6 years ago by mf2k (Frank Schima)

Owner: set to michaelld
Status: newassigned

In the future, please Cc the port maintainers (port info --maintainers cmake), if any.

comment:3 in reply to:  description ; Changed 6 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to rmottola:

port list active shows me:

libuv                          @1.18.0         devel/libuv
pkgconfig                      @0.29.2         devel/pkgconfig

port list active does not show you the information you think it shows you. The command you want is port installed active. (list shows you what is available to install. installed shows you what is installed.)

comment:4 in reply to:  description Changed 6 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to rmottola:

:debug:build     invoked from within
:debug:build "$procedure $targetname"
:debug:build could not read "/opt/local/lib/pkgconfig/libuv.pc": no such file or directory
:debug:build     while executing
:debug:build "::file type $file"

might it be due to pkgconfig and/or libuv?

No. There is a bug in MacPorts base that often causes the last error message shown to be irrelevant; please ignore it. If I knew where in the MacPorts base code to fix this problem, I would, but I don't.

When looking in a log for the cause of a problem, you should be focusing on the first error, not the last one.

comment:5 Changed 6 years ago by ryandesign (Ryan Carsten Schmidt)

Dare I ask why you want to run Leopard on an Intel Mac? All Intel Macs that can run Leopard can run Snow Leopard, and Snow Leopard is a better operating system.

comment:6 Changed 6 years ago by kencu (Ken)

He is trying to get a system together to build TenFourFox on 10.6.8 Intel. As a bridge, he's using Leopard Intel as a step in that direction, as TenFourFox does build on 10.5 PPC.

comment:7 Changed 6 years ago by kencu (Ken)

Another option for cmake 3.10 on 10.5 Intel would be to build it with clang-3.4. Clang-3.4 builds without cmake, and supports c++11 when using libc++ as a stdlib.

The Intel code generation for clang-3.4 is fine, but it failed to generate workable PPC code, which is how it came to be blacklisted in the cmake 3.10 build for 10.5.

Also then would have to disable the universal build (which is i386 + ppc on that system).

I still think cmake 3.9 is your easier bet - and if you're running 10.5 Intel, you'll need to know how to peg ports anyway.

Last edited 6 years ago by kencu (Ken) (previous) (diff)

comment:8 in reply to:  3 Changed 6 years ago by rmottola (Riccardo)

Replying to ryandesign:

Replying to rmottola:

port list active shows me:

libuv                          @1.18.0         devel/libuv
pkgconfig                      @0.29.2         devel/pkgconfig

port list active does not show you the information you think it shows you. The command you want is port installed active. (list shows you what is available to install. installed shows you what is installed.)

Sorry... these would be the installed packages:

  libuv @1.18.0_0 (active)
  pkgconfig @0.29.2_0 (active)

means that I am up-to-date at least. I thought these two packages would be relevant given the error I am seeing.

I uploaded the build log in any case...

Looking better I think the issue is that cmake runs itself and fails thereby?

:info:build Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_cmake/cmake/work/cmake-3.10.0" && /usr/bin/make -j2 -w all VERBOSE=ON 
:info:build Exit code: 2
:error:build Failed to build cmake: command execution failed

I did a clean and am retrying. Perhaps I can try to run the temporary binary and see what happens and also check its file type, link (what is the ldd equivalent?)

comment:9 Changed 6 years ago by kencu (Ken)

No, the issue is that gcc6 can't build the security framework, at least as presently set up:

:info:build In file included from /Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/Security.framework/Headers/Security.h:57:0,
:info:build                  from /Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Headers/LSSharedFileList.h:32,
:info:build                  from /Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Headers/LaunchServices.h:37,
:info:build                  from /Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:41,
:info:build                  from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_cmake/cmake/work/cmake-3.10.0/Source/CPack/cmCPackDragNDropGenerator.cxx:23:
:info:build /Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:102:46: error: shift expression '(1853123693 << 8)' overflows [-fpermissive]
:info:build      kSecAuthenticationTypeNTLM             = AUTH_TYPE_FIX_ ('ntlm'),
:info:build                                               ^
:info:build /Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:102:46: error: enumerator value for 'kSecAuthenticationTypeNTLM' is not an integer constant
:info:build      kSecAuthenticationTypeNTLM             = AUTH_TYPE_FIX_ ('ntlm'),
:info:build                                               ^
:info:build /Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:103:46: error: shift expression '(1836281441 << 8)' overflows [-fpermissive]
:info:build      kSecAuthenticationTypeMSN              = AUTH_TYPE_FIX_ ('msna'),
:info:build                                               ^
:info:build /Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:103:46: error: enumerator value for 'kSecAuthenticationTypeMSN' is not an integer constant
:info:build      kSecAuthenticationTypeMSN              = AUTH_TYPE_FIX_ ('msna'),
:info:build                                               ^
:info:build /Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:104:46: error: shift expression '(1685086561 << 8)' overflows [-fpermissive]
:info:build      kSecAuthenticationTypeDPA              = AUTH_TYPE_FIX_ ('dpaa'),
:info:build                                               ^
:info:build /Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:104:46: error: enumerator value for 'kSecAuthenticationTypeDPA' is not an integer constant
:info:build      kSecAuthenticationTypeDPA              = AUTH_TYPE_FIX_ ('dpaa'),
:info:build                                               ^
:info:build /Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:105:46: error: shift expression '(1919967585 << 8)' overflows [-fpermissive]
:info:build      kSecAuthenticationTypeRPA              = AUTH_TYPE_FIX_ ('rpaa'),
:info:build                                               ^
:info:build /Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:105:46: error: enumerator value for 'kSecAuthenticationTypeRPA' is not an integer constant
:info:build      kSecAuthenticationTypeRPA              = AUTH_TYPE_FIX_ ('rpaa'),
:info:build                                               ^
:info:build /Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:106:46: error: shift expression '(1752462448 << 8)' overflows [-fpermissive]
:info:build      kSecAuthenticationTypeHTTPBasic        = AUTH_TYPE_FIX_ ('http'),
:info:build                                               ^
:info:build /Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:106:46: error: enumerator value for 'kSecAuthenticationTypeHTTPBasic' is not an integer constant
:info:build      kSecAuthenticationTypeHTTPBasic        = AUTH_TYPE_FIX_ ('http'),
:info:build                                               ^
:info:build /Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:107:46: error: shift expression '(1752462436 << 8)' overflows [-fpermissive]
:info:build      kSecAuthenticationTypeHTTPDigest       = AUTH_TYPE_FIX_ ('httd'),
:info:build                                               ^
:info:build /Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:107:46: error: enumerator value for 'kSecAuthenticationTypeHTTPDigest' is not an integer constant
:info:build      kSecAuthenticationTypeHTTPDigest       = AUTH_TYPE_FIX_ ('httd'),
:info:build                                               ^
:info:build /Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:108:46: error: shift expression '(1718579821 << 8)' overflows [-fpermissive]
:info:build      kSecAuthenticationTypeHTMLForm         = AUTH_TYPE_FIX_ ('form'),
:info:build                                               ^
:info:build /Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:108:46: error: enumerator value for 'kSecAuthenticationTypeHTMLForm' is not an integer constant
:info:build      kSecAuthenticationTypeHTMLForm         = AUTH_TYPE_FIX_ ('form'),
:info:build                                               ^
:info:build /Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:109:46: error: shift expression '(1684434036 << 8)' overflows [-fpermissive]
:info:build      kSecAuthenticationTypeDefault          = AUTH_TYPE_FIX_ ('dflt'),
:info:build                                               ^
:info:build /Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/Security.framework/Headers/SecKeychain.h:109:46: error: enumerator value for 'kSecAuthenticationTypeDefault' is not an integer constant
:info:build      kSecAuthenticationTypeDefault          = AUTH_TYPE_FIX_ ('dflt'),
:info:build                                               ^
Last edited 6 years ago by kencu (Ken) (previous) (diff)

comment:10 Changed 6 years ago by rmottola (Riccardo)

That looks nasty - it is failing inside Apple's header if I understand it right.

I found references to this error both elsewhere, e.g: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61759 but the poster says it "went away" and in other tickets on MacPorts: #54358

I understand that I should patch my system a little according to wiki:LeopardSDKFixes
I already fixed the Mac version define: I found that out some time ago while compiling some perfectly good software that works on 10.4 and 10.6 and mysteriously failed to compile on 10.5!

And switch to clang? or did somebody understand/fix gcc6 in the meanwhile. Perhaps gcc7 can be attempted? Can I easily change the port to test gcc7 or clang? Currently I have clang3.4 and gcc6 installed, not gcc7.

Last edited 6 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:11 Changed 6 years ago by kencu (Ken)

seriously, I would install cmake 3.9 and forget about fixing cmake 3.10 for 10.5 leopard for now.

Installing cmake 3.9 takes 10 minutes, and you're moving on. Come back to cmake 3.10 for 10.5 Leopard Intel someday if it ever matters to you in the future (my guess: it will never matter).

comment:12 Changed 6 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign added

comment:13 Changed 6 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: assignedclosed

In 603f4cb48a089a823cbbe840ca63e568faf8b3a6/macports-ports:

cmake: Fix build on Leopard on Intel

Closes: #55510

comment:14 Changed 6 years ago by ryandesign (Ryan Carsten Schmidt)

I verified with a small test program that the error gcc 6 is complaining about here is not really a problem; the bit shifting the old system headers do here still works fine. So I downgraded the error to a warning.

Note: See TracTickets for help on using tickets.