Skip to content
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

Installation failure on Windows Vista #1

Open
tfmorris opened this issue Jan 30, 2010 · 2 comments
Open

Installation failure on Windows Vista #1

tfmorris opened this issue Jan 30, 2010 · 2 comments

Comments

@tfmorris
Copy link

I've used PyRabj successfully on Ubuntu Linux, but when I went to install it on Windows, the installation failed, apparently due to an installation failure in jsonlib2. I've filed a bug report against that module (http://code.google.com/p/jsonlib2/issues/detail?id=2), but I'm wondering why there's a hard dependency on a specific JSON library, particularly when it would appear that there be a working C compiler on the system, which a Python developer isn't going to necessarily have.

I'm using Python 2.6 which has JSON support built in. Why not just use that?

In any case, PyRabj is currently unusable on Windows Vista until something changes.

@kochhar
Copy link
Owner

kochhar commented Jan 30, 2010

Thanks for bringing this to my attention. We don't really have a Windows user base so we don't know how things break there.

The core issue is a combination of performance and compatibility between JSON libraries. RABJ uses a C-implementation internally for performance reasons. Unfortunately, the Python built-in JSON was not 100% compatible with the JSON which we were using in RABJ -- backslashes and such were handled differently and would cause parse errors.

This was before we moved to Python 2.6 though. Things might have changed since the move. I'll run some tests over the weekend and see if there are any specific parse failures. If not, I'm happy to remove the jsonlib2 dependency.

@tfmorris
Copy link
Author

tfmorris commented Feb 4, 2010

For anyone who needs this to work, I've posted a patch over at Google Code for the jsonlib2 project which cleans up the non-portable C code.

I'd still argue that this is an unnecessary dependency. In the grand scheme of things, given network latency and everything else, I can't imagine that this makes a significant performance difference for a client.

Maybe it makes a big enough difference on the server side, but if there are issues with protocol interoperability between jsonlib2 and standard JSON libraries, you've got much bigger problems than performance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants