Some more info.
The error received on Onion is:
ENOSYS : "Function not implemented"
Compiling, linking and running the same application for Ubuntu 64 bit on VM works using the following:
g++ *.cpp -Wall -lrt -v
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <mqueue.h>
int main (int argc, char* argv[])
{
mqd_t mq;
struct mq_attr attr;
// Initialize the queue attributes
attr.mq_flags = 0;
attr.mq_maxmsg = 50;
attr.mq_msgsize = 2048; //MAX_SIZE;
attr.mq_curmsgs = 0;
// Create the message queue
mq = mq_open("/mq", O_CREAT | O_RDWR, S_IRUSR | S_IWUSR, &attr);
if (((mqd_t)-1 == mq))
{
int errnum = errno;
printf("main(): Failed creating message Queue: %d, %s!\n", errnum, strerror(errnum));
exit(1);
}
// Cleanup Message Queue
mq_close(mq);
mq_unlink("/mq");
return 0;
}