Opened 9 years ago

Closed 9 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 Dyballa) Owned by: ryandesign (Ryan 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)

main.log (47.0 KB) - added by ballapete (Peter Dyballa) 9 years ago.
main.log

Download all attachments as: .zip

Change History (12)

Changed 9 years ago by ballapete (Peter Dyballa)

Attachment: main.log added

main.log

comment:1 Changed 9 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 Changed 9 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 Changed 9 years ago by ryandesign (Ryan Schmidt)

Perhaps this is a Core i5-/i7-specific issue.

comment:4 in reply to:  2 Changed 9 years ago by ballapete (Peter Dyballa)

Replying to jmr@…:

Please remember to fill in the Port field.

Sorry! Many weeks without bugs made me forget this subtlety.

comment:5 in reply to:  3 ; Changed 9 years ago by ballapete (Peter 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 in reply to:  5 ; Changed 9 years ago by ryandesign (Ryan 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 in reply to:  6 Changed 9 years ago by ballapete (Peter 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 9 years ago by ballapete (Peter 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 9 years ago by ballapete (Peter 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 9 years ago by ryandesign (Ryan Schmidt)

Cc: opsecpublic@… mcm@… mattias.holm@… added

Has duplicate #30487.

comment:11 Changed 9 years ago by ryandesign (Ryan Schmidt)

Resolution: duplicate
Status: newclosed

Duplicate of #30405.

Note: See TracTickets for help on using tickets.