ipcf printk error

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

ipcf printk error

Jump to solution
1,518 Views
longfeiwang
Contributor III

I downloaded the IPCF(IPCF4.3.0) source code from github and compiled it in BSP30 until the last step prompted that printk was not found,I searched in the source code and did not find any relevant definitions.

nu/bin/ld: /home/nevc/Desktop/bsp29/ipc-shm-us/sample/../libipc-shm.a(ipc-shm.o):/home/nevc/Desktop/bsp29/ipc-shm-us/common/ipc-shm.c:398: more undefined references to `printk' follow
collect2: error: ld returned 1 exit status
Makefile:46: recipe for target 'ipc-shm-sample.elf' failed
make: *** [ipc-shm-sample.elf] Error 1
make: Leaving directory '/home/nevc/Desktop/bsp29/ipc-shm-us/sample'
nevc@lenovo-ThinkPad-T490:~/Desktop/bsp2

Tags (1)
0 Kudos
1 Solution
1,505 Views
bpe
NXP Employee
NXP Employee


printk() is a function visible inside the kernel. If a userspace application build
complains about missing printk(), it most likely means you are trying to
build a kernel code as a userspace code.

If you are building the Linux portion of IPCF by hand, you have to follow the
instructions given in Section 6.2.3 strictly. In particular:

  • Make sure you are working with the correct BSP revision. Your one seems to be
    29.0 based on your directory names, should be 30.0 for the most recent IPCF
    version
  • Make sure you are working with the BSP kernel.
  • Obtain IPCF source from the supported repository, CodeAurora, not github
  • Make sure you configured and built the kernel and the required driver module
    without errors before attempting to build the application.
  • Ensure IPC_UIO_MODULE_DIR reflects the valid kernel module location when you invoke
    make to build the application.

or, alternatively, let Yocto build it for you. The same User Manual section offers
instructions for Yocto which require fewer steps.

 

Hope this helps,
Platon

 

 

View solution in original post

0 Kudos
2 Replies
1,506 Views
bpe
NXP Employee
NXP Employee


printk() is a function visible inside the kernel. If a userspace application build
complains about missing printk(), it most likely means you are trying to
build a kernel code as a userspace code.

If you are building the Linux portion of IPCF by hand, you have to follow the
instructions given in Section 6.2.3 strictly. In particular:

  • Make sure you are working with the correct BSP revision. Your one seems to be
    29.0 based on your directory names, should be 30.0 for the most recent IPCF
    version
  • Make sure you are working with the BSP kernel.
  • Obtain IPCF source from the supported repository, CodeAurora, not github
  • Make sure you configured and built the kernel and the required driver module
    without errors before attempting to build the application.
  • Ensure IPC_UIO_MODULE_DIR reflects the valid kernel module location when you invoke
    make to build the application.

or, alternatively, let Yocto build it for you. The same User Manual section offers
instructions for Yocto which require fewer steps.

 

Hope this helps,
Platon

 

 

0 Kudos
1,464 Views
longfeiwang
Contributor III

THKS problem has been done

Tags (1)
0 Kudos