Repository navigation
libmpi.so xxx symbol not found issue #1621
Copy link
Copy link
Closed
Labels
platform:HiSiliconHiSilicon SoC issuesHiSilicon SoC issues
Description
Here, we are doing some porting for Hi3536 board: Can't launch msposd on Groud stattion NVR Hi3536dv100 #18
And we got :
root@openipc-hi3536dv100:~# ldd msposd_hi3536
ldd (0x7f603000)
libdnvqe.so => /usr/lib/libdnvqe.so (0xb6dd5000)
libmpi.so => /usr/lib/libmpi.so (0xb6d52000)
libupvqe.so => /usr/lib/libupvqe.so (0xb6d3c000)
libVoiceEngine.so => /usr/lib/libVoiceEngine.so (0xb6d23000)
libevent_core-2.2.so.1 => /usr/lib/libevent_core-2.2.so.1 (0xb6d07000)
libc.so => ldd (0x7f603000)
Error relocating /usr/lib/libmpi.so: jpeg_read_scanlines: symbol not found
Error relocating /usr/lib/libmpi.so: HI_JPEG_SetBufInfo: symbol not found
Error relocating /usr/lib/libmpi.so: HI_JPEG_GetJpegInfo: symbol not found
Error relocating /usr/lib/libmpi.so: HI_JPEG_SetYCbCr420spFlag: symbol not found
Error relocating /usr/lib/libmpi.so: jpeg_mem_src: symbol not found
Error relocating /usr/lib/libmpi.so: jpeg_abort_decompress: symbol not found
Error relocating /usr/lib/libmpi.so: jpeg_start_decompress: symbol not found
Error relocating /usr/lib/libmpi.so: HI_JPEG_SetOutDesc: symbol not found
Error relocating /usr/lib/libmpi.so: jpeg_destroy_decompress: symbol not found
Error relocating /usr/lib/libmpi.so: jpeg_std_error: symbol not found
Error relocating /usr/lib/libmpi.so: jpeg_CreateDecompress: symbol not found
Error relocating /usr/lib/libmpi.so: HI_JPEG_GetLuPixSum: symbol not found
Error relocating /usr/lib/libmpi.so: jpeg_read_header: symbol not found
Error relocating /usr/lib/libmpi.so: jpeg_finish_decompress: symbol not found
Error relocating /usr/lib/libmpi.so: HI_JPEG_SetStreamPhyMem: symbol not found
Error relocating /usr/lib/libmpi.so: HI_JPEG_SetLuPixSumFlag: symbol not found
Error relocating msposd_hi3536: MI_RGN_UpdateCanvas: symbol not found
Error relocating msposd_hi3536: unsupported relocation type 3
Error relocating msposd_hi3536: unsupported relocation type 3
Error relocating msposd_hi3536: unsupported relocation type 3
Error relocating msposd_hi3536: unsupported relocation type 3
I believe the libmpi.so is from thirdparty, which now we have met issues:
Anyone can help with the consistency of so and head files?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
platform:HiSiliconHiSilicon SoC issuesHiSilicon SoC issues
Type
Projects
- StatusShow more project fieldsNo status
Activity
hisilicon-osdrv-hi3536dv100: take the modules from openhisilicon, and…
widgetii commentedon Oct 17, 2026
Fixed on master by #2614 (f182c17), with #2603 and OpenIPC/msposd#107.
What was wrong. The package shipped userspace libraries and kernel modules from different MPP releases.
libmpi.socame from 1.0.1.0 and the.kofiles from 1.0.4.2, so the ioctl payloads disagree. For example,RGN_ATTR_Sgrew au32CanvasNumfield, so libmpi sends0xc0185200whileregion.koonly accepts0xc01c5200and answers-1. That is theRGN_Create failed with 0xffffffffreported in OpenIPC/msposd#18. The two kinds of error in the original log have different causes:jpeg_*/HI_JPEG_*relocations are libmpi's dependency on HiSilicon's ownlibjpeg.so(a jpeg6b build carrying theHI_JPEG_*extensions). The binary has to link-ljpeg, and the image has to ship the matching library.MI_RGN_UpdateCanvasandunsupported relocation type 3mean that binary was not a hi3536 build at all.What changed
libmpi,libjpeg,libhdmi,libdnvqe,libupvqe,libVoiceEngine), and so are the kernel modules.hi_osal.koregisters its devices without adev_ton OpenIPC's kernel, so/dev/sys,/dev/rgnand the rest never appeared..kofiles.load_hisiliconloads them asopen_*withmodprobe. It also unloads vdec before vfmw, which avoids an oops on-r.hi3536target on this family (msposd: build the hi3536 target on hi3536dv100 #2603). On an NVR it draws on the hifb layer (/dev/fb0) rather than an RGN overlay (hi3536: draw the OSD on the hifb layer instead of an RGN overlay msposd#107), because the NVR has no encoder channel to attach an overlay to.Tested on a lab Hi3536DV100 NVR:
/dev/fb0.That covers the board in our lab. If yours behaves differently on an image built from master after f182c17, please reopen with
dmesgand the output of the failing command.