Version: unspecified OS: OS X On behalf of the MacPorts project I want to alert you to the fact that grantlee 0.1.9 compilation succeeds on Snow Leopard (OS X 10.6.x) but fails on Leopard (OS X 10.5.x). Our bug report on this problem is here: https://trac.macports.org/ticket/31219 Reproducible: Always Steps to Reproduce: On Leopard with Xcode 3.1.4 and MacPorts 2.0.3 run "sudo port install grantlee". Actual Results: //usr/include/c++/4.0.0/tr1/hashtable:1045: error: no matching function for call to ‘std::tr1::hashtable<int, std::pair<const int, int>, std::allocator<std::pair<const int, int> >, Internal::extract1st<std::pair<const int, int> >, std::equal_to<int>, QtHasher<int>, Internal::mod_range_hashing, Internal::default_ranged_hash, Internal::prime_rehash_policy, false, true, true>::m_allocate_node(Internal::hash_node<std::pair<const int, int>, false>*&)’ //usr/include/c++/4.0.0/tr1/hashtable:1046: error: request for member ‘copy_code_from’ in ‘* tail’, which is of non-class type ‘Internal::hash_node<std::pair<const int, int>, false>*’ Expected Results: Successful compile Snow Leopard uses Apple gcc 4.2.1 by default; Leopard uses Apple gcc 4.0.1 by default. I tried compiling with Apple gcc 4.2.1 on Leopard, but that did not help. It still used the same c++ 4.0.0 headers as above and ran into the same error. Leopard's Xcode does not provide any version of c++ headers other than 4.0.0. Snow Leopard provides 4.0.0 and 4.2.1 versions of the headers.
Thanks for the report. I'll try to find someone with a mac to help with this issue.
Created attachment 65297 [details] Testcase Please try the attached testcase. There will be more testcases to track down the actual problem, so ideally, get in touch with email or IRC if you're willing to try out the next testcases.
Created attachment 65305 [details] broken container workaround Should be fixed in 41a771b7470bb61ca8fa98f1428b43b5e06592ba. That commit will be part of the next release. If you need a patch to version 0.1.9, you can use the attached patch, which should work, but I don't have a mac to test it.
I have updated grantlee in MacPorts to 0.2.0, which appears to include this patch, and the error message is the same. I've attached the full log to our ticket 31219 whose link is above. I'm happy to try out patches if you'll tell me what I need to do; for example I was not sure what to do with the files in the testcase.tar.gz attachment.
Created attachment 65323 [details] Patch for testing. Hi Ryan, Version 2.0.0 does not include this patch. I've attached it for convenience. It should apply against 2.0.0. The testcase.tar.gz is now obsolete. Thanks, Steve.
Thanks, grantlee 0.2.0 builds successfully on Leopard with the addition of that patch.
We can close it as patch is fixed and kde@ryandesign.com confirms that it compiles