Ticket #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: | takeshi@… |
| 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
Change History
comment:1 Changed 17 months ago by macsforever2000@…
- Status changed from new to closed
- Keywords grass @6.4.0 (gis) removed
- Resolution set to duplicate
comment:2 Changed 17 months ago by macsforever2000@…
- Status changed from closed to reopened
- Resolution duplicate deleted
Keeping this one because it has a log.
comment:3 Changed 17 months ago by ryandesign@…
- Summary changed from grass port fails to install. shell command failed (see log for details) to 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 17 months 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:6 Changed 11 months ago by jmr@…
- Summary changed from grass: error in backend: Ran out of registers during register allocation! to grass @6.4.0: error in backend: Ran out of registers during register allocation!
comment:7 Changed 11 months ago by vince@…
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.

