Yes, it was a problem in LLVM, which wasn't generating code for the proper architecture. I hope this was an exception and that we won't need to target new LLVM versions each time new architectures are introduced :)
Thanks for verifying the fixes. I will release trunk as 0.10 tomorrow evening. Laurent On Mar 10, 2011, at 3:00 AM, Nick Ludlam wrote: > I can also confirm this now builds correctly. Thanks very much for the speedy > turnaround, Laurent. > > Out of interest, do you know why the Core i7 chip in this laptop behaves > differently to the Core 2 Duo in my previous laptop? Is it perhaps just that > LLVM is failing to detect the CPU correctly, and is creating code based on > incorrect assumptions? > > On 10 Mar 2011, at 02:27, Laurent Sansonetti wrote: > >> I got confirmation that trunk as of r5271 should work. Because of the >> severity of this problem, and the recent changes in macruby_deploy regarding >> App Store submissions, I think we should release 0.10 as soon as possible >> now. I will work on it. >> >> Laurent >> >> On Mar 9, 2011, at 4:09 PM, Laurent Sansonetti wrote: >> >>> Okay, I committed support for LLVM 2.9 as of r5269 and verified that no >>> regression is introduced (the spec suite runs fine). >>> >>> Please update your repository, do a rake clean, then build with the >>> CFLAGS="-D__SUPPORT_LLVM_29__" option. Example: $ rake >>> CFLAGS="-D__SUPPORT_LLVM_29__" jobs=8 >>> >>> If this fixes the problem, we might need to roll out a MacRuby release with >>> this new LLVM soon, as I suspect the problem will hit many people. >>> >>> Laurent >>> >>> On Mar 9, 2011, at 2:10 PM, Laurent Sansonetti wrote: >>> >>>> Okay, API breakage, but I can reproduce that on my machine :) I will hack >>>> on it later today and post a message here once it's supposed to compile, >>>> this way you can continue testing. >>>> >>>> Laurent >>>> >>>> On Mar 9, 2011, at 2:03 PM, Nick Ludlam wrote: >>>> >>>>> Ok, well it's not failing in the same way, but it's still failing: >>>>> >>>>> /usr/bin/gcc-4.2 -std=c99 -I. -I./include -pipe -fno-common -fexceptions >>>>> -fblocks -g -O3 -Wall -Wno-deprecated-declarations -Werror -arch x86_64 >>>>> -I./icu-1060 -c ucnv.c -o .objs/ucnv.o >>>>> /usr/bin/gcc-4.2 -std=c99 -I. -I./include -pipe -fno-common -fexceptions >>>>> -fblocks -g -O3 -Wall -Wno-deprecated-declarations -Werror -arch x86_64 >>>>> -I./icu-1060 -c encoding.c -o .objs/encoding.o >>>>> /usr/bin/g++-4.2 -I. -I./include -fblocks -g -Wall >>>>> -Wno-deprecated-declarations -Werror -arch x86_64 >>>>> -I/opt/llvm-macruby/include -D_DEBUG -D_GNU_SOURCE -D__STDC_LIMIT_MACROS >>>>> -D__STDC_CONSTANT_MACROS -O3 -fno-rtti -fno-common -Woverloaded-virtual >>>>> -I./icu-1060 -c main.cpp -o .objs/main.o >>>>> In file included from vm.h:593, >>>>> from main.cpp:17: >>>>> compiler.h:82: error: ISO C++ forbids declaration of ‘DIFactory’ with no >>>>> type >>>>> compiler.h:82: error: expected ‘;’ before ‘*’ token >>>>> rake aborted! >>>>> Command failed with status (1): [/usr/bin/g++-4.2 -I. -I./include >>>>> -fblocks ...] >>>>> >>>>> (See full trace by running task with --trace) >>>>> >>>>> >>>>> >>>>> >>>>> On 9 Mar 2011, at 21:34, Laurent Sansonetti wrote: >>>>> >>>>>> It looks like it might take a while until I get my hands on a new MBP, >>>>>> so could one try the following? >>>>>> >>>>>> 1) Grab a copy of >>>>>> https://llvm.org/svn/llvm-project/llvm/branches/release_29 using svn, >>>>>> then build it using the same instructions in README.rdoc. I am just >>>>>> hoping that this new version of LLVM supports the new hardware and that >>>>>> it doesn't introduce API breakage. >>>>>> 2) Re-build and install MacRuby trunk after doing a rake clean. >>>>>> >>>>>> Laurent >>>>>> >>>>>> On Mar 9, 2011, at 1:08 PM, Laurent Sansonetti wrote: >>>>>> >>>>>>> Sorry the late reply. It's probably because this version of LLVM that >>>>>>> we use cannot target the new CPU yet. I will investigate :) >>>>>>> >>>>>>> Laurent >>>>>>> >>>>>>> On Mar 9, 2011, at 12:10 PM, Nick Ludlam wrote: >>>>>>> >>>>>>>> Yes, this looks like it's exactly the problem I'm having, from the >>>>>>>> look of the log, so perhaps it's a Sandy Bridge / Core i5/7 issue. >>>>>>>> Curious! >>>>>>>> >>>>>>>> On 9 Mar 2011, at 19:56, Richard Sepulveda wrote: >>>>>>>> >>>>>>>>> I have a customer that is also having this same problem with my >>>>>>>>> MacRuby Mac App Store application running on his new MacBook Pro. I >>>>>>>>> don't have >>>>>>>>> access to this type of Mac so I haven't been able to reproduce this >>>>>>>>> problem. >>>>>>>>> >>>>>>>>> He has tried MacRuby 0.8 and 0.9 versions of my app with the same >>>>>>>>> results. >>>>>>>>> >>>>>>>>> I can provide copies of my app to developers that would like to try >>>>>>>>> to reproduce the problem. >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> >>>>>>>>> Richard >>>>>>>>> >>>>>>>>> Here is a portion of the log that he sent me. >>>>>>>>> >>>>>>>>> 3/9/11 11:35:31 AM >>>>>>>>> [0x0-0xe20e2].com.rsepulveda.quickalarmtrial[2927] LLVM ERROR: >>>>>>>>> Cannot yet select: 0x101899010: f64 = bit_convert 0x10191ae10 >>>>>>>>> [ORD=315] [ID=7] >>>>>>>>> 3/9/11 11:35:31 AM >>>>>>>>> [0x0-0xe20e2].com.rsepulveda.quickalarmtrial[2927] >>>>>>>>> 0x10191ae10: i64 = and 0x10191b510, 0x10189a110 [ORD=314] [ID=6] >>>>>>>>> 3/9/11 11:35:31 AM >>>>>>>>> [0x0-0xe20e2].com.rsepulveda.quickalarmtrial[2927] >>>>>>>>> 0x10191b510: i64,ch = CopyFromReg 0x103911388, 0x10191c510 [ORD=314] >>>>>>>>> [ID=5] >>>>>>>>> 3/9/11 11:35:31 AM >>>>>>>>> [0x0-0xe20e2].com.rsepulveda.quickalarmtrial[2927] >>>>>>>>> 0x103911388: ch = EntryToken [ORD=314] [ID=0] >>>>>>>>> 3/9/11 11:35:31 AM >>>>>>>>> [0x0-0xe20e2].com.rsepulveda.quickalarmtrial[2927] >>>>>>>>> 0x10191c510: i64 = Register %reg16384 [ORD=314] [ID=1] >>>>>>>>> 3/9/11 11:35:31 AM >>>>>>>>> [0x0-0xe20e2].com.rsepulveda.quickalarmtrial[2927] >>>>>>>>> 0x10189a110: i64 = Constant<-4> [ORD=314] [ID=2] >>>>>>>>> 3/9/11 11:35:31 AM com.apple.launchd.peruser.501[112] >>>>>>>>> ([0x0-0xe20e2].com.rsepulveda.quickalarmtrial[2927]) Exited with exit >>>>>>>>> code: 1 >>>>>>>>> >>>>>>>>>> >>>>>>>>>> Nick and group, >>>>>>>>>> >>>>>>>>>> I'm seeing similar errors with the newest MacBook Pro -- after >>>>>>>>>> simply downloading the 1.9 binary and running macgem, macirb, or >>>>>>>>>> macrake. In other words, I'm not compiling from source, just trying >>>>>>>>>> to use the latest binary distribution on a core i7 laptop. >>>>>>>>>> >>>>>>>>>> $ sudo macgem install rack >>>>>>>>>> LLVM ERROR: Cannot yet select: 0x10509ba10: f64 = bit_convert >>>>>>>>>> 0x10508ef10 [ORD=2615] [ID=7] >>>>>>>>>> 0x10508ef10: i64 = and 0x105062a10, 0x10509b010 [ORD=2614] [ID=6] >>>>>>>>>> 0x105062a10: i64,ch = CopyFromReg 0x1039108a8, 0x105099510 >>>>>>>>>> [ORD=2614] [ID=5] >>>>>>>>>> 0x1039108a8: ch = EntryToken [ORD=2614] [ID=0] >>>>>>>>>> 0x105099510: i64 = Register %reg16384 [ORD=2614] [ID=1] >>>>>>>>>> 0x10509b010: i64 = Constant<-4> [ORD=2614] [ID=2] >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> $ macirb >>>>>>>>>> LLVM ERROR: Cannot yet select: 0x104852410: f64 = bit_convert >>>>>>>>>> 0x104858c10 [ORD=186] [ID=7] >>>>>>>>>> 0x104858c10: i64 = and 0x104853c10, 0x104851910 [ORD=185] [ID=6] >>>>>>>>>> 0x104853c10: i64,ch = CopyFromReg 0x103b0d028, 0x104856010 [ORD=185] >>>>>>>>>> [ID=5] >>>>>>>>>> 0x103b0d028: ch = EntryToken [ORD=185] [ID=0] >>>>>>>>>> 0x104856010: i64 = Register %reg16384 [ORD=185] [ID=1] >>>>>>>>>> 0x104851910: i64 = Constant<-4> [ORD=185] [ID=2] >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> $ macrake >>>>>>>>>> LLVM ERROR: Cannot yet select: 0x10506d810: f64 = bit_convert >>>>>>>>>> 0x105047310 [ORD=800] [ID=7] >>>>>>>>>> 0x105047310: i64 = and 0x105067d10, 0x105063010 [ORD=799] [ID=6] >>>>>>>>>> 0x105067d10: i64,ch = CopyFromReg 0x103b0cf68, 0x105043110 [ORD=799] >>>>>>>>>> [ID=5] >>>>>>>>>> 0x103b0cf68: ch = EntryToken [ORD=799] [ID=0] >>>>>>>>>> 0x105043110: i64 = Register %reg16384 [ORD=799] [ID=1] >>>>>>>>>> 0x105063010: i64 = Constant<-4> [ORD=799] [ID=2] >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Interestingly, the macruby interpreter runs without error. "macgem >>>>>>>>>> --help" and "macgem --version" also run fine (but these options >>>>>>>>>> produce errors with macirb or macrake). >>>>>>>>>> >>>>>>>>>> FWIW, I only have Xcode 4 DP2 installed on this machine... although >>>>>>>>>> I assume the MacRuby framework doesn't have any runtime dev tool >>>>>>>>>> dependencies? (My understanding was it could be bundled with apps >>>>>>>>>> and distributed to end users who don't have dev tools installed.) >>>>>>>>>> >>>>>>>>>> Scott >>>>>>>>>> >>>>>>>>>> On Wednesday, March 9, 2011 at 10:40 AM, Joshua Ballanco wrote: >>>>>>>>>>> Nick, >>>>>>>>>>> >>>>>>>>>>> I'm currently using Homebrew's llvm with MacRuby. Try passing the >>>>>>>>>>> "--universal" switch when you install llvm (i.e. "brew install llvm >>>>>>>>>>> --universal"). You also might try building and installing clang at >>>>>>>>>>> the same time (i.e. "brew install llvm --universal --clang") and >>>>>>>>>>> see if clang can compile a simple C hello world to rule out llvm >>>>>>>>>>> bugs. >>>>>>>>>>> >>>>>>>>>>> Cheers, >>>>>>>>>>> >>>>>>>>>>> Josh >>>>>>>>>>> >>>>>>>>>>> On Wed, Mar 9, 2011 at 5:41 AM, Nick Ludlam <n...@recoil.org> wrote: >>>>>>>>>>>> Yes, I've double checked that I'm running 2.8 RELEASE, and it's >>>>>>>>>>>> still bailing out with that cryptic message. The only other thing >>>>>>>>>>>> I can think of is to remove XCode 4 and reinstall the current >>>>>>>>>>>> XCode3 release. >>>>>>>>>>>> >>>>>>>>>>>> On 9 Mar 2011, at 03:37, Matt Aimonetti wrote: >>>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> MacRuby-devel mailing list >>>>>>>>> MacRuby-devel@lists.macosforge.org >>>>>>>>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> MacRuby-devel mailing list >>>>>>>> MacRuby-devel@lists.macosforge.org >>>>>>>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel >>>>>>> >>>>>>> _______________________________________________ >>>>>>> MacRuby-devel mailing list >>>>>>> MacRuby-devel@lists.macosforge.org >>>>>>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel >>>>>> >>>>>> _______________________________________________ >>>>>> MacRuby-devel mailing list >>>>>> MacRuby-devel@lists.macosforge.org >>>>>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel >>>>> >>>>> _______________________________________________ >>>>> MacRuby-devel mailing list >>>>> MacRuby-devel@lists.macosforge.org >>>>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel >>>> >>>> _______________________________________________ >>>> MacRuby-devel mailing list >>>> MacRuby-devel@lists.macosforge.org >>>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel >>> >>> _______________________________________________ >>> MacRuby-devel mailing list >>> MacRuby-devel@lists.macosforge.org >>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel >> >> _______________________________________________ >> MacRuby-devel mailing list >> MacRuby-devel@lists.macosforge.org >> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel > > _______________________________________________ > MacRuby-devel mailing list > MacRuby-devel@lists.macosforge.org > http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel _______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel