Undefined references when using ado_* functions

Hi there, calling some of the ado_* functions result in an unsuccessful build with undefined references.
It builds well with the simple function like ado_card_set_longname().
But when I try to call something like ado_pcm_create(), I receive a lot of internal undefined references

…/armle-v7/lib/\libado.a(pcm.o): In function dma_interrupt': (.text+0x640): undefined reference to resmgr_msg_restart’
…/armle-v7/lib/\libado.a(pcm.o): In function dma_interrupt': (.text+0x6c4): undefined reference to resmgr_msg_restart’
…/armle-v7/lib/\libado.a(pcm.o): In function dma_interrupt': (.text+0x908): undefined reference to resmgr_msg_restart’
…/armle-v7/lib/\libado.a(pcm.o): In function dma_interrupt': (.text+0xaf0): undefined reference to resmgr_msg_restart’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_channel_params': (.text+0x13fc): undefined reference to global_options’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_channel_params': (.text+0x1400): undefined reference to global_options’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_channel_params': (.text+0x1410): undefined reference to global_options’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_channel_params': (.text+0x1414): undefined reference to global_options’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_channel_flush': (.text+0x1adc): undefined reference to resmgr_msg_restart’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_channel_flush': (.text+0x1b5c): undefined reference to resmgr_msg_restart’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_devctl': (.text+0x1d04): undefined reference to pmd_lock_shared’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_devctl': (.text+0x1d3c): undefined reference to pmd_unlock_shared’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_devctl': (.text+0x1d54): undefined reference to pmd_lock_shared’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_devctl': (.text+0x1d90): undefined reference to pmd_unlock_shared’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_devctl': (.text+0x1da8): undefined reference to pmd_lock_shared’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_devctl': (.text+0x1df4): undefined reference to pmd_unlock_shared’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_devctl': (.text+0x1e0c): undefined reference to pmd_lock_shared’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_devctl': (.text+0x1e50): undefined reference to pmd_unlock_shared’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_devctl': (.text+0x1e68): undefined reference to pmd_lock_shared’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_devctl': (.text+0x1eac): undefined reference to pmd_unlock_shared’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_devctl': (.text+0x1ec4): undefined reference to pmd_lock_shared’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_devctl': (.text+0x1f64): undefined reference to pmd_unlock_shared’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_devctl': (.text+0x1f7c): undefined reference to pmd_lock_shared’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_devctl': (.text+0x1fb4): undefined reference to pmd_unlock_shared’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_devctl': (.text+0x1fcc): undefined reference to pmd_lock_shared’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_devctl': (.text+0x200c): undefined reference to pmd_unlock_shared’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_devctl': (.text+0x2024): undefined reference to pmd_lock_shared’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_devctl': (.text+0x2160): undefined reference to global_options’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_devctl': (.text+0x2164): undefined reference to global_options’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_devctl': (.text+0x22c0): undefined reference to pmd_unlock_shared’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_devctl': (.text+0x22d8): undefined reference to pmd_lock_shared’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_devctl': (.text+0x231c): undefined reference to pmd_unlock_shared’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_devctl': (.text+0x2334): undefined reference to pmd_lock_shared’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_devctl': (.text+0x2374): undefined reference to pmd_unlock_shared’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_devctl': (.text+0x238c): undefined reference to pmd_lock_shared’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_devctl': (.text+0x23d8): undefined reference to pmd_unlock_shared’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_close': (.text+0x2638): undefined reference to pmd_lock_shared’
…/armle-v7/lib/\libado.a(pcm_core.o): In function ado_pcm_close': (.text+0x2694): undefined reference to pmd_unlock_shared’

It looks like you need some more libraries on your link line. Which ones are you linking against now?

Also what version of QNX are you using?

Tim

It looks like you need some more libraries on your link line.

I guess so, but there’s not a single library which I could link to make it work.

Which ones are you linking against now?

Libado, libasound

Also what version of QNX are you using?

6.5.0 I guess

Are you building self hosted (from QNX itself) or cross compiling/linking from Windows/Linux?

What does your makefile (or if you are using Eclipse) look like for your link line.

I found the pdm_ calls you are missing referenced here in the power management toolkit. Do you have this installed?

Tim

Found the solution. The Libpm library wasn’t linked indeed, but the rest of references can be called when using the io-audio manager.