Opened 12 years ago

Closed 12 years ago

Last modified 10 years ago

#32790 closed defect (fixed)

grass @6.4.0: error in backend: Ran out of registers during register allocation!

Reported by: pohl3@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.0.3
Keywords: clang Cc: tenomoto (Takeshi Enomoto), jeremyhu (Jeremy Huddleston Sequoia), cooljeanius (Eric Gallager)
Port: grass

Description

Hello, I want to use the grass port but I am unable to install it. After a week of trying, I do not see getting anywhere. I was not able to find a solution in the other threads about the grass port. Here is the message I get when trying to install:

--->  Cleaning grass
mistral:~ pohl3$ sudo port install grass -d
--->  Computing dependencies for grass
--->  Fetching archive for grass
--->  Attempting to fetch grass-6.4.0_1.darwin_11.x86_64.tbz2 from http://packages.macports.org/grass
--->  Fetching grass
--->  Verifying checksum(s) for grass
--->  Extracting grass
--->  Applying patches to grass
--->  Configuring grass
--->  Building grass
Error: Target org.macports.build returned: shell command failed (see log for details)
Log for grass is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gis_grass/grass/main.log
Error: Status 1 encountered during processing.
To report a bug, see <http://guide.macports.org/#project.tickets>

I tried to get it running some weeks ago. Back then, I got error messages concerning wxpython. I installed those packages but again got an error about a wrong python version concerning the bits (64/32) and that i should install differently stating the other bit-version. I did not manage to do that back then. Now, I do not recreate that error message anyways. Instead, the above is what I get.

I did have a look in the main.log file but I do not even know what to look for. So if anyone has an idea I would highly appreciate. The main.log is attached.

I am running OS 10.7.2 on an Intel i7 dualcore.

Regards, Eric

Attachments (1)

main.log (2.6 MB) - added by pohl3@… 12 years ago.

Change History (13)

Changed 12 years ago by pohl3@…

Attachment: main.log added

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

Keywords: grass @6.4.0 (gis) removed
Resolution: duplicate
Status: newclosed

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

Resolution: duplicate
Status: closedreopened

Keeping this one because it has a log.

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

Summary: grass port fails to install. shell command failed (see log for details)grass: error in backend: Ran out of registers during register allocation!

The first error I see is:

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

Not enough registers is a problem some very complicated programs have when compiling on i386 because the i386 processor architecture doesn't have a lot of registers. However, that's not the problem here, because you're compiling for x86_64, which has more registers.

I also see you're compiling using clang. Does it help if you use a different compiler? Let us know.

P.S:

mistral:~ pohl3$ sudo port install grass -d

-d and other single-letter flags have no effect unless you place them immediately after the word port, as in:

sudo port -d install grass

comment:4 Changed 12 years ago by pohl3@…

Using the apple-gcc42 port works

pohl3$ sudo port install apple-gcc42
--->  Computing dependencies for apple-gcc42
--->  Cleaning apple-gcc42
pohl3$ sudo port install grass configure.compiler=apple-gcc-4.2 configure.cxx=g++-apple-4.2
--->  Computing dependencies for grass
--->  Fetching archive for grass
--->  Attempting to fetch grass-6.4.0_1.darwin_11.x86_64.tbz2 from http://packages.macports.org/grass
--->  Fetching grass
--->  Verifying checksum(s) for grass
--->  Extracting grass
--->  Applying patches to grass
--->  Configuring grass
--->  Building grass
--->  Staging grass into destroot
--->  Installing grass @6.4.0_1
--->  Activating grass @6.4.0_1
--->  Cleaning grass

Using llvm-gcc-4.2 did not work

Thanks, Eric

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

Has duplicate #34615.

comment:6 Changed 12 years ago by jmroot (Joshua Root)

Summary: grass: error in backend: Ran out of registers during register allocation!grass @6.4.0: error in backend: Ran out of registers during register allocation!

comment:7 Changed 12 years ago by Veence (Vincent)

This is a bug in the llvm backend, not in grass. Sometimes it can happen with mixed C/assembly code where the assembly takes too much registers and the C code cannot be run with what's left. But in this case, I guess there is no ASM involved. So, apart from reporting the bug to Apple and waiting for a fix, there is little hope.

comment:8 Changed 12 years ago by jmroot (Joshua Root)

Cc: takeshi@… added
Keywords: clang added
Resolution: fixed
Status: reopenedclosed

Compiler workaround was added in r94769. Clang should probably be allowed again with future versions of Xcode or grass.

comment:9 Changed 11 years ago by Veence (Vincent)

The bug is still plaguing new versions of clang. I have filed a radar with a TGZ file containing the minimal set of files for reproducing the issue. We’ll see.

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

Cc: jeremyhu@… added

Cc Me!

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

What is the radar number?

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

Cc: egall@… added

Cc Me!

Note: See TracTickets for help on using tickets.