Compilation error - FreeRTOS-simulator-for-Linux

sathishkc2005 wrote on Sunday, June 22, 2014:

I’m a Newbie in freertos. I downloaded the source code from and tried building the source code in eclipse environment (ubuntu 12.04.3).Also tried to do make all from Debug directory. I get series of linker errors:

./AsyncIO/PosixMessageQueueIPC.o: In function xPosixIPCOpen': /home/sathish/Posix_GCC_Simulator/FreeRTOS_Posix/Debug/../AsyncIO/PosixMessageQueueIPC.c:44: undefined reference to mq_open’
/home/sathish/Posix_GCC_Simulator/FreeRTOS_Posix/Debug/…/AsyncIO/PosixMessageQueueIPC.c:47: undefined reference to mq_unlink' /home/sathish/Posix_GCC_Simulator/FreeRTOS_Posix/Debug/../AsyncIO/PosixMessageQueueIPC.c:85: undefined reference to mq_notify’
./AsyncIO/PosixMessageQueueIPC.o: In function vPosixIPCClose': /home/sathish/Posix_GCC_Simulator/FreeRTOS_Posix/Debug/../AsyncIO/PosixMessageQueueIPC.c:96: undefined reference to mq_close’
/home/sathish/Posix_GCC_Simulator/FreeRTOS_Posix/Debug/…/AsyncIO/PosixMessageQueueIPC.c:99: undefined reference to mq_unlink' ./AsyncIO/PosixMessageQueueIPC.o: In function lPosixIPCSendMessage’:
/home/sathish/Posix_GCC_Simulator/FreeRTOS_Posix/Debug/…/AsyncIO/PosixMessageQueueIPC.c:110: undefined reference to mq_send' ./AsyncIO/PosixMessageQueueIPC.o: In function lPosixIPCReceiveMessage’:
/home/sathish/Posix_GCC_Simulator/FreeRTOS_Posix/Debug/…/AsyncIO/PosixMessageQueueIPC.c:131: undefined reference to mq_receive' ./AsyncIO/PosixMessageQueueIPC.o: In function vPosixIPCEmpty’:
/home/sathish/Posix_GCC_Simulator/FreeRTOS_Posix/Debug/…/AsyncIO/PosixMessageQueueIPC.c:148: undefined reference to mq_receive' ./AsyncIO/PosixMessageQueueIPC.o: In function prvPosixIPCInterruptHandler’:
/home/sathish/Posix_GCC_Simulator/FreeRTOS_Posix/Debug/…/AsyncIO/PosixMessageQueueIPC.c:177: undefined reference to `mq_notify’
collect2: ld returned 1 exit status

Can anyone let me know where would i get those missing files /libs which have all these defintions?


Best regards

rtel wrote on Friday, June 27, 2014:

Sorry for the delay replying - for some reason I missed your post.

The port you are using is a ‘contributed’ port rather than an official port, so no not supported by us. All the same I would give you an answer if I could, but as I’m not familiar with the port or with Linux I’m afraid I’m no wiser than you on this one - although I do note that Googleing “undefined reference to mq_unlink” in quotes brings up lots of results.


vmayoral wrote on Friday, August 08, 2014:

I reproduced the error and indeed, in Linux, there’s an issue when compiling the POSIX simulator (build log at

I mailed the author of the port.

Let’s wait for his feedback.

meeusr wrote on Sunday, December 14, 2014:

I had the same error and in my case it can be resolved by putting the -lrt at the end of the link statement instead of somewhere in the middle.

This needs to be done in all the files and the makefile in the root of the Release directory as well (In case you build the Release).

Happy building