Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#36116 closed defect (fixed)

libstdcxx build error

Reported by: mf2k (Frank Schima) Owned by: jeremyhu (Jeremy Huddleston Sequoia)
Priority: Normal Milestone:
Component: ports Version: 2.1.2
Keywords: Cc: mww@…, neverpanic (Clemens Lang), cooljeanius (Eric Gallager), larryv (Lawrence Velázquez)
Port: libstdcxx

Description (last modified by mf2k (Frank Schima))

Mac OS X 10.8.1
Xcode 4.4.1

libstdcxx is not building for me. main.log attached.

Attachments (1)

main.log (6.5 MB) - added by mf2k (Frank Schima) 12 years ago.

Change History (20)

Changed 12 years ago by mf2k (Frank Schima)

Attachment: main.log added

comment:1 Changed 12 years ago by mf2k (Frank Schima)

Description: modified (diff)

comment:2 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)

:info:build fatal error: error in backend: ran out of registers during register allocation

<rdar://problem/12282296>

Can you please try this as a workaround:

Index: Portfile
===================================================================
--- Portfile	(revision 97700)
+++ Portfile	(working copy)
@@ -127,9 +127,6 @@
     configure.args-delete --enable-languages=c,c++,objc,obj-c++,lto,fortran,java
     configure.args-append --enable-languages=c++
 
-    configure.args-append --disable-bootstrap
-
-    build.target        all
     destroot.target     install-target-libstdc++-v3
 
     post-destroot {

comment:3 Changed 12 years ago by mf2k (Frank Schima)

It took a while but it worked. FYI, this was on a Mac Pro 2008 with 6 GB RAM.

comment:4 Changed 12 years ago by mf2k (Frank Schima)

I spoke too soon. Macports keeps finding linking errors and rebuilding it.

$ sudo port install libstdcxx
--->  Computing dependencies for libstdcxx
--->  Fetching distfiles for libstdcxx
--->  Verifying checksum(s) for libstdcxx
--->  Extracting libstdcxx
--->  Applying patches to libstdcxx
--->  Configuring libstdcxx
--->  Building libstdcxx
--->  Staging libstdcxx into destroot
--->  Installing libstdcxx @4.7.1_6
--->  Activating libstdcxx @4.7.1_6
--->  Cleaning libstdcxx
--->  Updating database of binaries: 100.0%
--->  Scanning binaries for linking errors: 100.0%
--->  Found 1 broken file(s), matching files to ports
--->  Found 1 broken port(s), determining rebuild order
--->  Rebuilding in order
     libstdcxx @4.7.1 
--->  Computing dependencies for libstdcxx
--->  Cleaning libstdcxx
--->  Scanning binaries for linking errors: 100.0%
--->  Found 1 broken file(s), matching files to ports
--->  Found 1 broken port(s), determining rebuild order
--->  Rebuilding in order
     libstdcxx @4.7.1 
--->  Computing dependencies for libstdcxx
--->  Cleaning libstdcxx
--->  Deactivating libstdcxx @4.7.1_6
--->  Cleaning libstdcxx
--->  Uninstalling libstdcxx @4.7.1_6
--->  Cleaning libstdcxx
--->  Computing dependencies for libstdcxx
--->  Fetching distfiles for libstdcxx
--->  Verifying checksum(s) for libstdcxx
--->  Extracting libstdcxx
--->  Applying patches to libstdcxx
--->  Configuring libstdcxx
--->  Building libstdcxx
--->  Staging libstdcxx into destroot
--->  Installing libstdcxx @4.7.1_6
--->  Activating libstdcxx @4.7.1_6
--->  Cleaning libstdcxx
--->  Updating database of binaries: 100.0%
--->  Scanning binaries for linking errors: 100.0%
--->  Found 1 broken file(s), matching files to ports
--->  Found 1 broken port(s), determining rebuild order
--->  Rebuilding in order
     libstdcxx @4.7.1 
--->  Computing dependencies for libstdcxx
--->  Cleaning libstdcxx
--->  Deactivating libstdcxx @4.7.1_6
--->  Cleaning libstdcxx
--->  Uninstalling libstdcxx @4.7.1_6
--->  Cleaning libstdcxx
--->  Computing dependencies for libstdcxx
--->  Fetching distfiles for libstdcxx
--->  Verifying checksum(s) for libstdcxx
--->  Extracting libstdcxx
...

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

Cc: cal@… added

Please install libstdcxx using port install --no-rev-upgrade libstdcxx, run port -d -y rev-upgrade and attach the output.

comment:6 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)

comment:7 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Resolution: fixed
Status: newclosed

comment:8 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)

This is fixed in llvm's r163761, so we'll just have to try future XCode releases to see when the fix makes it to us.

Version 0, edited 12 years ago by jeremyhu (Jeremy Huddleston Sequoia) (next)

comment:9 Changed 12 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:10 in reply to:  8 Changed 12 years ago by cooljeanius (Eric Gallager)

Replying to jeremyhu@…:

This is fixed in llvm's r163761, so we'll just have to try future XCode releases to see when the fix makes it to us.

So... there have been a few XCode releases since then... has the fix made it to us yet?

comment:11 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Yeah, it's fixed in clang-3.2 and clang-3.3

comment:12 in reply to:  11 Changed 12 years ago by cooljeanius (Eric Gallager)

Replying to jeremyhu@…:

Yeah, it's fixed in clang-3.2 and clang-3.3

So does this mean that libstdcxx can have --disable-bootstrap added back to it now? Bootstrapping it takes so long...

Last edited 12 years ago by cooljeanius (Eric Gallager) (previous) (diff)

comment:13 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Right now, we can either bootstrap libstdcxx or add clang-3.2 as a dependency.

XCode 4.6 contains clang-425.0.24 which is based on llvm-3.2, but I'm not sure if it was before or after r163761 was merged in ... you can always just give it a try ;)

I'll take a look at this when I get some free cycles, but cpu cycles are MUCH cheaper than human cycles ;)

comment:14 in reply to:  13 Changed 12 years ago by cooljeanius (Eric Gallager)

Replying to jeremyhu@…:

Right now, we can either bootstrap libstdcxx or add clang-3.2 as a dependency.

Would it be possible to add a variant to let the user choose? Or would that be too difficult considering that libstdcxx is already a sub-port?

comment:15 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)

I'm not a fan of compiler variants, so I'm going to say no for now. Please just be patient (or report back if clang-425 works).

comment:16 Changed 12 years ago by larryv (Lawrence Velázquez)

Cc: larryv@… added

Cc Me!

comment:17 in reply to:  15 Changed 12 years ago by larryv (Lawrence Velázquez)

clang-425.0.24 works fine, without bootstrapping.

comment:18 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)

great, thanks.

comment:19 Changed 12 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Note: See TracTickets for help on using tickets.