Sur OpenSolaris ($^O eq 'solaris', vers 2.11), j'essaye de construire un module XS qui utilise les spécifications XPGv4v2/Single Unix. compréhension de struct msghdr
, spécifiquement pour l'interrogation "données auxiliaires".conflit de définition de structure entre le module XS et la construction perl
Cependant, le Perl natif (v5.8.4) a été construit sans les nécessaires définit, et donc le struct msghdr
visible dans mon fichier XS est le plus ancien, type BSD ::
#include "EXTERN.h"
#include "perl.h" /* older, "msg_accrights"-style msghdr now visible */
#include "XSUB.h"
....
struct msghdr m;
m.msg_control = buf; /* ERROR, structure has no member named "msg_control" */
....
Fournir le "droit" #define
s (_XOPEN_SOURCE
et _XOPEN_SOURCE_EXTENDED
) casse la construction, car elle change beaucoup de choses que perl attendait.
Y a-t-il une manière élégante que le module XS puisse utiliser la définition de structure que je voudrais?
Y a-t-il des chances que vous puissiez construire un nouveau perl en premier et ensuite construire votre modèle XS? – Ether
@Ether, oui, mais j'aimerais que le module soit disponible pour les systèmes OpenSolaris qui ne peuvent pas exécuter un perl reconstruit, – pilcrow