[nanomsg] Re: Problem building on HP-UX

  • From: André Jonsson <nanomsg@xxxxxx>
  • To: nanomsg@xxxxxxxxxxxxx
  • Date: Tue, 17 Sep 2013 09:29:27 +0200

On 2013-09-16 16:29, Martin Sustrik wrote:
On 16/09/13 16:13, André Jonsson wrote:

I can see that on my own (linux) machine that iov_base is a void *, how
does that work? I mean, is the code in usock_posix.inc not used then?

It is used. No idea why it compiles.

In any case the line should look something like this:

((uint8_t*) hdr->msg_iov->iov_base) += nbytes;

Does that help?
Martin

Hm... I thought I replied to this already, but I can't find it... oh well.

It does indeed help! The whole thing compiled like a charm (save for a handful of warnings).

However, I had to do add an extra level of indirection for it to compile:

*((uint8_t**)&(hdr->msg_iov->iov_base)) += nbytes;

Which is horrible... but without it, it said:

  CC     src/aio/usock.lo
"src/aio/usock_posix.inc", line 901: error #2137: expression must be a
          modifiable lvalue
                        ((uint8_t*)hdr->msg_iov->iov_base) += nbytes;


Anyway, I'll see if I can make some adjustments to configure.ac for it to generate to correct defines for this platform (and hopefully not break it for others).


/André


Other related posts: