Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#36443 closed defect (fixed)

textmate2: file not found: /opt/local/libexec/llvm-3.2/lib/arc/libarclite_macosx.a

Reported by: mojca (Mojca Miklavec) Owned by: neverpanic (Clemens Lang)
Priority: Normal Milestone:
Component: ports Version:
Keywords: lion haspatch Cc: ryandesign (Ryan Schmidt)
Port: textmate2

Description

When trying to build textmate2 on Mac OS X 10.7.4 with xcode 4.3.2 (I manually patched tcl file to recognize clang-3.2) it fails with the following error:

:info:configure [157/160] Archive objects ‘/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_editors_textmate2/textmate2/work/textmate-9315/build/Frameworks/network/libnetwork.a’…
:info:configure [158/160] Compile ‘Applications/bl/src/bl.cc’…
:info:configure [159/160] Archive objects ‘/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_editors_textmate2/textmate2/work/textmate-9315/build/Frameworks/updater/libupdater.a’…
:info:configure [160/160] Link executable ‘/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_editors_textmate2/textmate2/work/textmate-9315/build/Applications/bl/bl’…
:info:configure FAILED: '/opt/local/bin/clang++-mp-3.2' -o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_editors_textmate2/textmate2/work/textmate-9315/build/Applications/bl/bl /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_editors_textmate2/textmate2/work/textmate-9315/build/Frameworks/OakSystem/libOakSystem.a /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_editors_textmate2/textmate2/work/textmate-9315/build/Frameworks/cf/libcf.a /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_editors_textmate2/textmate2/work/textmate-9315/build/Frameworks/io/libio.a /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_editors_textmate2/textmate2/work/textmate-9315/build/Frameworks/network/libnetwork.a /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_editors_textmate2/textmate2/work/textmate-9315/build/Frameworks/plist/libplist.a /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_editors_textmate2/textmate2/work/textmate-9315/build/Frameworks/regexp/libregexp.a /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_editors_textmate2/textmate2/work/textmate-9315/build/Frameworks/text/libtext.a /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_editors_textmate2/textmate2/work/textmate-9315/build/Frameworks/updater/libupdater.a /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_editors_textmate2/textmate2/work/textmate-9315/build/Applications/bl/src/bl.o -m64 -mmacosx-version-min=10.7 -isysroot "" -fvisibility=hidden -Wl,-dead_strip -fobjc-link-runtime -framework ApplicationServices -framework Carbon -framework CoreFoundation -framework Security -framework SystemConfiguration -lc++ -lcrypto -lcurl -liconv
:info:configure ld: file not found: /opt/local/libexec/llvm-3.2/lib/arc/libarclite_macosx.a
:info:configure clang: error: linker command failed with exit code 1 (use -v to see invocation)
:info:configure ninja: build stopped: subcommand failed.
:debug:configure Privilege de-escalation not attempted as not running as root.
:debug:build build phase started at Wed Oct  3 14:18:41 CEST 2012
:notice:build --->  Building textmate2
:debug:build Executing org.macports.build (textmate2)
:debug:build Environment: CPATH='/opt/local/include' CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_editors_textmate2/textmate2/work/.CC_PRINT_OPTIONS' LIBRARY_PATH='/opt/local/lib' CC_PRINT_OPTIONS='YES' MACOSX_DEPLOYMENT_TARGET='10.7'
:debug:build Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_editors_textmate2/textmate2/work/textmate-9315" && ninja TextMate mate -j 2'
:debug:build Executing command line:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_editors_textmate2/textmate2/work/textmate-9315" && ninja TextMate mate -j 2 
:info:build [1/1008] Compile ‘Shared/PCH/prelude.m’…
:info:build [2/1008] Compile ‘Shared/PCH/prelude.mm’…
:info:build [3/1008] Compile ‘Shared/PCH/prelude.mm’…
:info:build [4/1008] Link dynamic library ‘/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_editors_textmate2/textmate2/work/textmate-9315/build/Frameworks/text/text.dylib’…
:info:build FAILED: '/opt/local/bin/clang++-mp-3.2' -o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_editors_textmate2/textmate2/work/textmate-9315/build/Frameworks/text/text.dylib /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_editors_textmate2/textmate2/work/textmate-9315/build/Frameworks/text/src/case.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_editors_textmate2/textmate2/work/textmate-9315/build/Frameworks/text/src/classification.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_editors_textmate2/textmate2/work/textmate-9315/build/Frameworks/text/src/ctype.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_editors_textmate2/textmate2/work/textmate-9315/build/Frameworks/text/src/decode.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_editors_textmate2/textmate2/work/textmate-9315/build/Frameworks/text/src/encode.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_editors_textmate2/textmate2/work/textmate-9315/build/Frameworks/text/src/format.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_editors_textmate2/textmate2/work/textmate-9315/build/Frameworks/text/src/indent.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_editors_textmate2/textmate2/work/textmate-9315/build/Frameworks/text/src/parse.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_editors_textmate2/textmate2/work/textmate-9315/build/Frameworks/text/src/ranker.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_editors_textmate2/textmate2/work/textmate-9315/build/Frameworks/text/src/trim.o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_editors_textmate2/textmate2/work/textmate-9315/build/Frameworks/text/src/types.o -m64 -mmacosx-version-min=10.7 -isysroot "" -fvisibility=hidden -Wl,-dead_strip -fobjc-link-runtime -install_name @executable_path/../Frameworks/text.dylib  -framework CoreFoundation -lc++ -dynamiclib -current_version 1.0.1 -compatibility_version 1.0.0
:info:build ld: file not found: /opt/local/libexec/llvm-3.2/lib/arc/libarclite_macosx.a
:info:build clang: error: linker command failed with exit code 1 (use -v to see invocation)
:info:build ninja: build stopped: subcommand failed.
:info:build Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_editors_textmate2/textmate2/work/textmate-9315" && ninja TextMate mate -j 2 
:info:build Exit code: 1
:error:build org.macports.build for port textmate2 returned: command execution failed
:debug:build Error code: CHILDSTATUS 9820 1
:debug:build Backtrace: command execution failed
    while executing
"system -nice 0 $fullcmdstring"
    ("eval" body line 1)
    invoked from within
"eval system $notty $nice \$fullcmdstring"
    invoked from within
"command_exec build"
    (procedure "portbuild::build_main" line 8)
    invoked from within
"$procedure $targetname"

(I can try to upgrade to a newer Xcode, but I would prefer to stick with version 4.3.something, and I can try to upgrade OS to 4.7.5, but I'm not sure if any of that would solve any problem.)

Attachments (1)

textmate2-xcode-4.4.diff (794 bytes) - added by ryandesign (Ryan Schmidt) 7 years ago.
proposed patch

Download all attachments as: .zip

Change History (10)

comment:1 in reply to:  description ; Changed 7 years ago by ryandesign (Ryan Schmidt)

Cc: ryandesign@… added; cal@… removed
Keywords: lion added
Owner: changed from macports-tickets@… to cal@…

Replying to mojca.miklavec.lists@…:

When trying to build textmate2 on Mac OS X 10.7.4 with xcode 4.3.2 (I manually patched tcl file to recognize clang-3.2) it fails with the following error:

What file did you patch and how? No patching should be needed since I fixed textmate2 in r98233 to work with non-trunk MacPorts on Lion.

:info:configure ld: file not found: /opt/local/libexec/llvm-3.2/lib/arc/libarclite_macosx.a

I got this too on Lion with Xcode 4.3.x.

(I can try to upgrade to a newer Xcode, but I would prefer to stick with version 4.3.something, and I can try to upgrade OS to 4.7.5, but I'm not sure if any of that would solve any problem.)

Upgrading to Xcode 4.4 or newer should fix the problem, since then the clang-3.2 port won't be necessary, and it'll use the clang in Xcode, and it'll find libarclite_macosx.a in /usr/lib/arc.

comment:2 Changed 7 years ago by neverpanic (Clemens Lang)

Does Xcode 4.3 ship the 10.8 SDK? TextMate needs to be built against the 10.8 SDK (even on 10.7).

TextMate's configure phase should print a warning, if it fails to find the correct SDK:

WARNING: Building without platform-specific SDK.

Can you take a look at your logfile (port logfile textmate2 tell you where it is) and see if that's the case?

comment:3 in reply to:  2 Changed 7 years ago by ryandesign (Ryan Schmidt)

Replying to cal@…:

Does Xcode 4.3 ship the 10.8 SDK? TextMate needs to be built against the 10.8 SDK (even on 10.7).

Xcode 4.3 was released before 10.8 so it does not include the 10.8 SDK. It includes the 10.6 and 10.7 SDKs.

TextMate's configure phase should print a warning, if it fails to find the correct SDK:

WARNING: Building without platform-specific SDK.

Yes, the log does contain that line.

Changed 7 years ago by ryandesign (Ryan Schmidt)

Attachment: textmate2-xcode-4.4.diff added

proposed patch

comment:4 Changed 7 years ago by ryandesign (Ryan Schmidt)

Keywords: haspatch added

So I guess the solution is to require Xcode 4.4 or newer on Lion. See attached patch.

comment:5 Changed 7 years ago by neverpanic (Clemens Lang)

Changed the textmate2 port to require Xcode >= 4.4 in r98372. This probably also means we could drop the code supporting MacPorts' clang 3.2, because Xcode >= 4.4 should have a recent enough clang available.

Ryan, do you have any idea why LLVM 3.2 doesn't have the ARC files?

comment:6 Changed 7 years ago by neverpanic (Clemens Lang)

Oh, your solution clearly is better. I'll apply that in a second.

comment:7 Changed 7 years ago by neverpanic (Clemens Lang)

Resolution: fixed
Status: newclosed

Reverted in r98374, commited your patch in r98375. Thanks, Ryan.

comment:8 in reply to:  5 Changed 7 years ago by ryandesign (Ryan Schmidt)

Replying to cal@…:

Ryan, do you have any idea why LLVM 3.2 doesn't have the ARC files?

I don't! You should ask jeremyhu.

comment:9 in reply to:  1 Changed 7 years ago by mojca (Mojca Miklavec)

Replying to ryandesign@…:

What file did you patch and how? No patching should be needed since I fixed textmate2 in r98233 to work with non-trunk MacPorts on Lion.

I patched /opt/local/share/macports/Tcl/port1.0/portconfigure.tcl:

         macports-clang-3.1 { set name "MacPorts clang 3.1" }
+        macports-clang-3.2 { set name "MacPorts clang 3.2" }
         default { return -code error "Invalid value for configure.compiler" }
         macports-clang-3.1 -
+        macports-clang-3.2 -
         macports-clang {
         macports-clang-3.1      clang-3.1
+        macports-clang-3.2      clang-3.2
 }
+        macports-clang-3.2 {
+            switch -exact ${type} {
+                cc   { set ret ${prefix}/bin/clang-mp-3.2 }
+                objc { set ret ${prefix}/bin/clang-mp-3.2 }
+                cxx  { set ret ${prefix}/bin/clang++-mp-3.2 }
+            }
+        }

But I guess this is irrelevant now. I wanted to keep SDK for 10.6, but it seems that I'll have to upgrade new Xcode anyway.

Note: See TracTickets for help on using tickets.