Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

ZMQ::LibZMQ3 missing int64 types on Strawberry Perl #14

laufeyjarson opened this Issue Sep 13, 2012 · 8 comments


None yet
3 participants

Strawberry Perl doesn't define a number of useful data types that the ZMO family depends on.

These are the same data types used in libzmq itself, but libzmq has a header stdint.hpp that defines the types:

From zmq/stdint.hpp, line 32:

ifndef int8_t

typedef __int8 int8_t;


ifndef int16_t

typedef __int16 int16_t;


ifndef int32_t

typedef __int32 int32_t;


ifndef int64_t

typedef __int64 int64_t;


ifndef uint8_t

typedef unsigned __int8 uint8_t;


ifndef uint16_t

typedef unsigned __int16 uint16_t;


ifndef uint32_t

typedef unsigned __int32 uint32_t;


ifndef uint64_t

typedef unsigned __int64 uint64_t;


These defintions aren't anywhere in the ZMQ::LibZM!Q sources, so they won't build.

I'm not sure the best place to fix them, or if the same logic in the stdint.hpp file needs to be included; there's a mess of #ifdefs and stuff to only do this on certain platforms.


lestrrat commented Sep 14, 2012

@laufeyjarson I saw that immediately after I sent you my reply, but wasn't quire sure if I should just copy that section of the code or if there's a better way to handle it.

As I have no Windows available, it would be nice if you could try it yourself and give me a pullreq

I've noticed that ActiveState Perl needs similar. Both need changes to Makefile.PL, as well. Let me get my environment in order so I can swap back and forth easily, and then I'll try and send a single patch that's been tested on both.

I'll also need to pull from the head instead of using the 1.00 version.

I'll try and get all that set up this weekend.

Annoyingly, I can get both platforms to build, but neither passes tests.

I've debugged into ZMQ found why some of the tests are failing. It's a very odd quirk of the Microsoft compiler.

Would you like me to send the patches that get ZMQ::LibZMQ3 building, even if the tests don't yet pass?

The problems I've found so far are not in ZMQ::LibZMQ3, but in ZMQ itself. It'll take a little more doing to fix all of those.


lestrrat commented Sep 16, 2012

I'd rather not accept a failing patch, but if there's a workaround (like a TODO'ed test or something) that keeps it working for most people, then I might consider it.

Let me see if all the failures are related, and if the libzmq folks can fix it.

Haven't forgotten this, but have been busy. Still need to chase this down with the ZMQ library itself. I think there's a bug there.


nponeccop commented Jun 17, 2014

Strawberry Perl 5.20 on Windows x64 with ZMQ 4.0.4 and MinGW gcc 4.8.2.doesn't require anything like this. Can this be closed? If not, which versions are affected?

I haven't had any need to look at this in the two years since I commented. If it builds in current versions, feel free to close it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment