#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)
Change History (13)
Changed 13 years ago by pohl3@…
comment:1 Changed 13 years ago by mf2k (Frank Schima)
Keywords: | grass @6.4.0 (gis) removed |
---|---|
Resolution: | → duplicate |
Status: | new → closed |
comment:2 Changed 13 years ago by mf2k (Frank Schima)
Resolution: | duplicate |
---|---|
Status: | closed → reopened |
Keeping this one because it has a log.
comment:3 Changed 13 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 13 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: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: | reopened → closed |
Compiler workaround was added in r94769. Clang should probably be allowed again with future versions of Xcode or grass.
comment:9 Changed 12 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.
#32789