PyPlot.jl
PyPlot.jl copied to clipboard
Julia crash: libpangoft2-1.0.so.0 issue.
A similar issue was reported here. In my case, to produce the crash this is sufficient:
Using PyPlot
plot(rand(10))
julia: symbol lookup error: /usr/bin/../lib/libpangoft2-1.0.so.0: undefined symbol: FcWeightFromOpenType
I am on Arch Linux. Running Julia 0.4.5. Here some additional info:
PyPlot.backend
"qt4agg"
ls -la /usr/lib/libpangoft2-1.0.so.0
lrwxrwxrwx 1 root root 27 Apr 12 22:38 /usr/lib/libpangoft2-1.0.so.0 -> libpangoft2-1.0.so.0.4000.1
Hope you find this useful.
Does it work (with the same backend) from Python?
Hi there.
I never used python, I hope this is doing the test it is meant to:
#!/usr/bin/env python
import matplotlib
matplotlib.use('qt4agg')
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
plt.ylabel('some numbers')
plt.show()
Works with no issues.
Possibly it is a shared-library path issue? Maybe if you add the right path to your LD_LIBRARY_PATH
then Python will be able to load the right libraries.
I have the same issue on Arch Linux with Julia v0.4.5 since yesterday.
For me also the Python example above fails with: /home/abieler/anaconda/bin/python: symbol lookup error: /usr/lib/libpangoft2-1.0.so.0: undefined symbol: FcWeightFromOpenType
conda install -c asmeurer pango
fixed the python side of things: https://github.com/ContinuumIO/anaconda-issues/issues/368.
But now PyPlot exits with a segfault when trying to plot something.
Unfortunately my understanding of environment variables and shared libraries is rather sloppy, however:
locate libpangoft2-1.0.so.0
/usr/lib/libpangoft2-1.0.so.0
/usr/lib/libpangoft2-1.0.so.0.4000.1
/usr/lib32/libpangoft2-1.0.so.0
/usr/lib32/libpangoft2-1.0.so.0.4000.1
If I am not wrong, everything in /usr/lib
, /usr/lib32
and /usr/lib64
should be linked automatically. By running ldconfig:
ldconfig -v
...
libtiffxx.so.5 -> libtiffxx.so.5.2.4
libpangoft2-1.0.so.0 -> libpangoft2-1.0.so.0.4000.1
libatk-1.0.so.0 -> libatk-1.0.so.0.22009.1
...
Here the contents of LD_LIBRARY_PATH
:
echo $LD_LIBRARY_PATH
/home/crocoduck/GNUstep/Library/Libraries:/usr/lib
It seems everything should be working libraries-wise. Or I am wrong? Do you have some idea about what to set LD_LIBRARY_PATH
to?