cannot find -lOpenEXR on Ubuntu 20.04
Context: Linux Dev, Building on Ubuntu 20.04
When I run make I get /usr/bin/ld: cannot find -lOpenEXR
Despite apt install libopenexr24 libopenexr-dev openexr
It seems nothing is providing libOpenEXR.so
in ubuntu
$ ldconfig -p |grep -i exr
<empty>
Looking at Arch's file list for the openexp package it seems like they include usr/lib/libOpenEXR.so
which the ubuntu package does not
My workaround was to compile OpenExr from source. Then everything worked.
Opened and closed so that others might learn from my experience.
Comments (7)
-
-
repo owner Hi Seth, sorry to hear you are having such a hard time.
First question, have you just tried using the installer from the website, fractorium.com? It uses AppImage and installs easily. Much better than building from source.
If you are intent on building from source, you’ll notice in the commit logs that I recently upgraded the version of OpenExr that is used. It now uses 3.1.3, however I think any 3.1 version will do.
Can you please verify that is what you are building with? From your linker errors, it appears you are running with version 2.3, which no longer works with Fractorium.
The reason I upgraded was because someone else had trouble getting the older version of OpenExr on some version of linux.
-
repo owner If you plan to use the program for a while, we can always chat on our fractals Discord to make sure you’re up and running properly. Just a thought.
-
Thanks for the reply Matt.
I had done something stupid earlier and tried to install the deb from ppa which ran into issues with
libopenexr22
vslibopenexr24
When I used the .deb from fractorium.com it worked. Thanks!
-
repo owner Ok great. Yes, always use the installer from the website. Here is the Discord invite: https://discord.gg/y8Q9KMwf
-
repo owner - changed status to resolved
Done
-
repo owner - changed status to closed
- Log in to comment
Unfortunately this did not completely resolve the problem.
I got errors about missing references to half symboles
So I added references to -lIlmImf and after a few iterations this worked
I believe this helps but I still get at least one error
Finally one error about ambiguous
`ToString`
I hacked this by defining an
ToString(long val)
asToString((int) val);
and hoping that doesn’t come back to bit meFinally I get a `fractorium` binary that runs and the UI renders.
Sadly one second later it crashes
. This probably comes from returning 0 from a method expecting a string?
basic_string::_M_construct null not valid