-
Notifications
You must be signed in to change notification settings - Fork 72
Test failure on Mac OS X/MacPorts #15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
This is almost certainly a case of confusion about whether some |
Thanks for the quick reply. Here is the info on the int types on my system: #include <limits>
#include <iostream>
int main() {
std::cout << std::numeric_limits<int64_t>::min();
std::cout << std::endl;
std::cout << std::numeric_limits<int64_t>::max();
std::cout << std::endl;
std::cout << std::numeric_limits<long long>::min();
std::cout << std::endl;
std::cout << std::numeric_limits<long long>::max();
return 0;
} has output:
and then on the python side: import numpy as np
print np.iinfo(np.int64).min
print np.iinfo(np.int64).max has output:
So int64_t is a long long on my system in C++ and numpy. |
…sions for pairs that have the same size; should avoid problems when Boost and NumPy typedef int64 differently (#15)
I've put a potential fix on branch #15. Could you let me know if allows the test to pass for you? If not, could you let me what |
Thanks, I don't think it's fixed it though. I'm not familiar with git, so to make sure I did this right here are the commands I followed to move to branch #15:
which gave the same error
With regards to the typedefs: #include <limits>
#include <iostream>
#include <boost/cstdint.hpp>
int main() {
std::cout << std::numeric_limits<boost::int64_t>::min();
std::cout << std::endl;
std::cout << std::numeric_limits<boost::int64_t>::max();
std::cout << std::endl;
std::cout << sizeof(boost::int64_t);
std::cout << std::endl << std::endl;
std::cout << std::numeric_limits<long>::min();
std::cout << std::endl;
std::cout << std::numeric_limits<long>::max();
std::cout << std::endl;
std::cout << sizeof(long);
return 0;
} gives:
|
Oops, that last commit had some silly mistakes that would have kept it from working. I think that should be fixed now. Try again? (And sorry about the slow turnaround times!) |
Oh, and by the way, if you're already on branch #15, from there you can just do |
Still no luck! |
I'm guessing this failure is broader than just OS X, as users on Windows have reported similar things, so I've opened #26 to follow up on it there. Perhaps that will produce a solution that works on OS X. If not, I'll eventually get back to hassling you about testing various fixes for me, but for now that's an inefficient way to make progress on this. My understanding is that this isn't really standing in your way, as it's just a spurious test failure, not a problem with the library itself. If it is more serious than that, let me know, and I'll make it a higher priority. |
I get the following error when compiling Boost.Numpy:
ERROR: testIntegers (main.DtypeTestCase)
Traceback (most recent call last):
File "/Users/jack/src/ndarray/Boost.NumPy/libs/numpy/test/dtype.py", line 23, in testIntegers
self.assertEquivalent(fs(s(1)), numpy.dtype(s))
ArgumentError: Python argument types in
dtype_mod.accept_int64(numpy.int64)
did not match C++ signature:
accept_int64(long long)
with both the Apple clang compiler and MacPorts gcc 4.7. I am running numpy 1.6.2 and boost 1.52.0 both compiled with macports on an x64 system. Let me know if you need any more specific information. boost.numpy seems to work fine nonetheless, but then I don't think I pass any arrays with integers in them.
Jack
The text was updated successfully, but these errors were encountered: