Opened 13 years ago
Closed 13 years ago
#30455 closed defect (duplicate)
cairo-1.10.2_4+x11 does not build due to LLVM ERROR: Cannot yet select: 0x10392e210: f64 = ConstantFP<0.000000e+00> [ORD=117] [ID=4]
Reported by: | ballapete (Peter "Pete" Dyballa) | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.0.0 |
Keywords: | Cc: | opsecpublic@…, mcm@…, mattias.holm@… | |
Port: | cairo |
Description
Upgrading from cairo @1.10.2_3+x11 to the recent version fails. The same is true when I try to build cairo-devel @1.11.2: LLVM ERROR: Cannot yet select: 0x1039ac110: f64 = ConstantFP<0.000000e+00> [ORD=118] [ID=4]. It happens at the same place. See the attached main.log file!
Mac OS X 10.6.8, Core i7.
Attachments (1)
Change History (12)
Changed 13 years ago by ballapete (Peter "Pete" Dyballa)
comment:1 Changed 13 years ago by foo@…
I had the same issue with a clean install of macports 2.0.0 and a clean /opt/local directory. Commented out the universal_arch setting as instructed in the migration steps. Mac OS X 10.6.7, Core i5.
I then tried to install rev @74868 when cairo was first updated to 1.10.2, but that failed as well.
Rev @63991 with cairo 1.8.10 installed fine for me.
I used the instructions listed below to install the older versions. howto/InstallingOlderPort
comment:2 follow-up: 4 Changed 13 years ago by jmroot (Joshua Root)
Cc: | ryandesign@… removed |
---|---|
Owner: | changed from macports-tickets@… to ryandesign@… |
Port: | cairo added |
Please remember to fill in the Port field.
comment:3 follow-up: 5 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Perhaps this is a Core i5-/i7-specific issue.
comment:4 Changed 13 years ago by ballapete (Peter "Pete" Dyballa)
Replying to jmr@…:
Please remember to fill in the Port field.
Sorry! Many weeks without bugs made me forget this subtlety.
comment:5 follow-up: 6 Changed 13 years ago by ballapete (Peter "Pete" Dyballa)
Replying to ryandesign@…:
Perhaps this is a Core i5-/i7-specific issue.
Is it possible to change the Portfile in a way that a different compiler, gcc-4.2, gets used?
I tried to compile GNU Emacs 24.0.50 with LLVM GCC 4.2 (CFLAGS="-g -H -pipe -fPIC -fno-common -fomit-frame-pointer -m64 -mtune=core2 -march=core2 -Os -ftree-vectorize" LDFLAGS="-Wl,-dead_strip_dylibs -Wl,-bind_at_load -Wl,-t" CC=llvm-gcc-4.2 LD=llvm-gcc-4.2 CPP=llvm-cpp-4.2 CXX=llvm-g++-4.2) and it creates a temacs which crashes when invoked to dump the real emacs (Segmentation fault).
comment:6 follow-up: 7 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to Peter_Dyballa@…:
Is it possible to change the Portfile in a way that a different compiler, gcc-4.2, gets used?
Yes, it is possible to do that. But if clang or llvm-gcc-4.2 can be made to work, we would prefer to do that.
I tried to compile GNU Emacs 24.0.50 with LLVM GCC 4.2 (CFLAGS="-g -H -pipe -fPIC -fno-common -fomit-frame-pointer -m64 -mtune=core2 -march=core2 -Os -ftree-vectorize" LDFLAGS="-Wl,-dead_strip_dylibs -Wl,-bind_at_load -Wl,-t" CC=llvm-gcc-4.2 LD=llvm-gcc-4.2 CPP=llvm-cpp-4.2 CXX=llvm-g++-4.2) and it creates a temacs which crashes when invoked to dump the real emacs (Segmentation fault).
Ok. Not sure it's relevant to this ticket about cairo though.
comment:7 Changed 13 years ago by ballapete (Peter "Pete" Dyballa)
Replying to ryandesign@…:
Replying to Peter_Dyballa@…:
I tried to compile GNU Emacs 24.0.50 with LLVM GCC 4.2 (CFLAGS="-g -H -pipe -fPIC -fno-common -fomit-frame-pointer -m64 -mtune=core2 -march=core2 -Os -ftree-vectorize" LDFLAGS="-Wl,-dead_strip_dylibs -Wl,-bind_at_load -Wl,-t" CC=llvm-gcc-4.2 LD=llvm-gcc-4.2 CPP=llvm-cpp-4.2 CXX=llvm-g++-4.2) and it creates a temacs which crashes when invoked to dump the real emacs (Segmentation fault).
Ok. Not sure it's relevant to this ticket about cairo though.
It's a comment that my experience with LLVM GCC is not good. I encounter failures where "normal" GCC just compiles. (Clang as well is a bit picky.)
Anyway, when I asked whether it's possible to change the Portfile I intended to check whether other compilers work well when I invoke 'port build ...'. Or whether it works to compile a different variant of this package! During the compilation time I could google for the LLVM GCC error.
comment:8 Changed 13 years ago by ballapete (Peter "Pete" Dyballa)
It seems that since months (March 2011) LLVM GCC without any fix from Apple® emits wrong code when compiling on a Sandy Bridge iCore i5 or i7. It might work to give LLVM GCC the two options "-mtune=core2 -march=core2". I don't know how to put it into the Portfile.
comment:9 Changed 13 years ago by ballapete (Peter "Pete" Dyballa)
I changed working directory to /opt/local/var/macports/build/_opt_local_var_macports_sources_lil.fr.rsync.macports.org_release_ports_graphics_cairo/cairo/work/cairo-1.10.2, made clean and re-configured, now with two compiler options -mtune=core2 -march=core2 and also seting -Wl,-mllvm to LDFLAGS. Cairo built.
comment:10 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | opsecpublic@… mcm@… mattias.holm@… added |
---|
Has duplicate #30487.
comment:11 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → duplicate |
---|---|
Status: | new → closed |
Duplicate of #30405.
main.log