Opened 2 weeks ago

Last modified 2 weeks ago

#62276 assigned defect

optool @0.1: error: expected ';' after top level declarator

Reported by: RobK88 Owned by: raimue (Rainer Müller)
Priority: Normal Milestone:
Component: ports Version: 2.6.4
Keywords: lion Cc:
Port: optool

Description

optool fails to build on Lion. main.log is attached.

Grinchs-Mac-Pro:~ grinch$ sudo port clean optool
--->  Cleaning optool

Grinchs-Mac-Pro:~ grinch$ sudo port install optool
--->  Fetching distfiles for optool
--->  Verifying checksums for optool
--->  Extracting optool
--->  Applying patches to optool
--->  Configuring optool
--->  Building optool
Error: Failed to build optool: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_optool/optool/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
Error: Processing of port optool failed

Attachments (1)

main.log (313.7 KB) - added by RobK88 2 weeks ago.
main.log

Download all attachments as: .zip

Change History (5)

Changed 2 weeks ago by RobK88

Attachment: main.log added

main.log

comment:1 Changed 2 weeks ago by ryandesign (Ryan Schmidt)

Cc: raimue@… removed
Keywords: lion added; Lion removed
Owner: set to raimue
Status: newassigned
Summary: optool Fails to Build on Lionoptool @0.1: error: expected ';' after top level declarator

The first error in the log is:

optool/defines.h:68:22: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
typedef NS_ENUM(int, OPError) {
                     ^~~~~~~
optool/defines.h:68:9: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
typedef NS_ENUM(int, OPError) {
~~~~~~~ ^
optool/defines.h:68:30: error: expected ';' after top level declarator
typedef NS_ENUM(int, OPError) {
                             ^
                             ;
2 warnings and 1 error generated.

I'm aware that NS_ENUM is a "new" compiler feature, but I don't know how new. Presumably the version of clang available on Lion is not new enough. optool 0.1 was released in 2014 which is several years after Lion.

Rainer hasn't been interested lately in working on issues only affecting older systems, but if a solution can be found, he usually accepts it.

The developers of optool have a precompiled binary available on their site; you could see if that works.

comment:2 Changed 2 weeks ago by RobK88

Thanks Ryan. Unfortunately, the precompiled binary for optool from the developer's website just crashes on Lion.

Clang-9.0 etc is available on Lion. Perhaps, I can try to compile optool using a different compiler. Please let me know how I can easily try doing that.

Thanks.

comment:3 Changed 2 weeks ago by Wowfunhappy (Jonathan)

A newer version of clang would probably be able to compile it. The problem is running it. I have previously tried compiling optool on Mavericks (outside Macports; default Clang), with 10.7 specified as a minimum target. It builds fine, but it doesn't actually run on 10.7.

I too would love to have this working on Lion, but unfortunately it's likely in need of a real patch.

comment:4 Changed 2 weeks ago by RobK88

Hmm. Well I couldn't get it to build on Lion with clang 9.0 either

Here is the result:

sudo port clean optool
sudo port -v install optool configure.compiler=macports-clang-9.0

blah blah blah....

** BUILD FAILED **


The following build commands failed:
	CompileC build/optool.build/Release/optool.build/Objects-normal/x86_64/headers.o optool/headers.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
	CompileC build/optool.build/Release/optool.build/Objects-normal/x86_64/operations.o optool/operations.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
	CompileC build/optool.build/Release/optool.build/Objects-normal/x86_64/main.o optool/main.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(3 failures)
Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_optool/optool/work/optool-0.1" && /usr/bin/xcodebuild  -alltargets -configuration Deployment build INSTALL_PATH=/Applications/MacPorts  OBJROOT="/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_optool/optool/work/optool-0.1/build/" SYMROOT="/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_optool/optool/work/optool-0.1/build/" MACOSX_DEPLOYMENT_TARGET=10.7 ARCHS=x86_64 SDKROOT="" CLANG_CXX_LIBRARY="libc++" 
Exit code: 65
Error: Failed to build optool: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_optool/optool/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
Error: Processing of port optool failed
Last edited 2 weeks ago by RobK88 (previous) (diff)
Note: See TracTickets for help on using tickets.