Hi Sebastian,

Thanks for that useful information.

The correct fix is probably to also change all u_long variables to u_int32?

Jean-Louis

shesselbarth wrote:
IXDR_GET_U_LONG is defined in /usr/linclude/rpc/xdr.h (on linux)
This file is included from /usr/linclude/rpc/rpc.h which is included in
ndmp-src/ndmp?.h

Hi,

I just stumbled across the same build issues with 64-bit (open)solaris.
After some research on linux and solaris rpc/xdr.h headers I think
IXDR_GET/PUT_U_LONG got removed from solaris 64-bit for whatever
reason (I guess LONG is somehow ambiguous in size while INT32 isn't)

Moreover, I have a warning in my xdr.h from linux:

/* WARNING: The IXDR_*_LONG defines are removed by Sun for new platforms
 * and shouldn't be used any longer. Code which use this defines or longs
 * in the RPC code will not work on 64bit Solaris platforms !
 */

For a first try I replaced all occurrences of GET/PUT_U_LONG with the corresponding U_INT32 macro. At least it compiles cleanly now.

I DID NOT ACTUALLY RUN THE COMPILED AMANDA, YET!

Can you please comment on the changes I have made and if they are
reasonable, i.e. don't break cross-platform compatibility.

Regards,
  Sebastian

+----------------------------------------------------------------------
|This was sent by hesselba...@ims.uni-hannover.de via Backup Central.
|Forward SPAM to ab...@backupcentral.com.
+----------------------------------------------------------------------



Reply via email to