Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

undefined symbol de265_get_image_full_range_flag when heif-convert running on Linux #538

Closed
Enoch-Liu opened this issue Aug 18, 2021 · 4 comments

Comments

@Enoch-Liu
Copy link

Firstly, I build the libde265.
If I build using cmake, I get a liblibde265.so in /usr/local/lib/.
If I build using ./autogen.sh && ./configure && sudo make && sudo make install, I get a libde265.so.0.1.1.
Is that correct above ?
Then, I build the libheif.
I run ./autogen.sh && ./configure && sudo make && sudo make install, and there is no error occurred when building.
But when I run the bin heif-convert in examples, it crashed with error "/home/liuyike/Codes/libheif/examples/.libs/heif-convert: symbol lookup error: /home/liuyike/Codes/libheif/libheif/.libs/libheif.so.1: undefined symbol: de265_get_image_full_range_flag
"

I want to know why and how to fix it ?

Environment: Linux version 5.4.0-74-generic (buildd@lcy01-amd64-023) (gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu118.04)) #8318.04.1-Ubuntu SMP Tue May 11 16:01:00 UTC 2021

@farindk
Copy link
Contributor

farindk commented Aug 18, 2021

Sounds like you have installed libde265 twice. Once in /usr/local and once (probably from your distribution) maybe in /usr.
During compilation it seems to find the header with the version information in /usr/local and when running, the library in /usr
seems to have higher priority.

@Enoch-Liu
Copy link
Author

Sounds like you have installed libde265 twice. Once in /usr/local and once (probably from your distribution) maybe in /usr.
During compilation it seems to find the header with the version information in /usr/local and when running, the library in /usr
seems to have higher priority.

Although I built libde265 twice, but there is only one libde265.so.0.1.1 and one liblibde265.so in /usr/local/lib/. And the second one, liblibde265.so is not a executable binary. It is weird that, the repo of libde265 is on 8aed74 "increase version number to v1.0.8", but the version of lib built is 0.0.1 ...

@silverbacknet
Copy link

That usually means that CMake's configure step couldn't determine the version. If it's the repo version, the repo maintainer might need to be notified to check that out.

Meanwhile, if you're building it, might be a good idea to uninstall the repo's copy unless you need something dependent on that. It can be a bit of a slog fixing it otherwise.

@Enoch-Liu
Copy link
Author

I don't know why, but it fixed when I rebuilt the libde265.
Thanks for the hints above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants