# OSError: libGLU.so.1:

**URL:** <https://fenicsproject.discourse.group/t/oserror-libglu-so-1/6021>\
**Category:** Errors\
**Created:** [June 12, 2021, 12:21am UTC](https://fenicsproject.discourse.group/t/oserror-libglu-so-1/6021 "2021-06-12T00:21:10Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![donggq](https://avatars.discourse-cdn.com/v4/letter/d/eb8c5e/32.png) [@donggq](https://fenicsproject.discourse.group/u/donggq)\
**Post date:** [June 12, 2021, 12:21am UTC](https://fenicsproject.discourse.group/t/oserror-libglu-so-1/6021/1 "2021-06-12T00:21:10Z")

</div>

Hi, I have followed the instructions for fenics on Docker. But when I was trying to run my host python code, it came up with the following error:

OSError Traceback (most recent call last)  
 in   
2 from efit import efit  
3 import matplotlib.pyplot as plt  
----\> 4 from mesh.plasmah\_mesh\_with\_down\_divertor import \*  
5 from plasmah.poisson import \*  
6 import os

~/shared/Documents/tokamak\_python\_codes/mesh/plasmah\_mesh\_with\_down\_divertor.py in   
----\> 1 import gmsh  
2 import sys  
3  
4 class PlasamHMesh:  
5 def **init** (self, efit):

~/.local/lib/python3.6/site-packages/gmsh-4.8.4-Linux64-sdk/lib/gmsh.py in   
38 libpath = find\_library(“gmsh”)  
39  
—\> 40 lib = CDLL(libpath)  
41  
42 use\_numpy = False

/usr/lib/python3.6/ctypes/ **init**.py in **init** (self, name, mode, handle, use\_errno, use\_last\_error)  
346  
347 if handle is None:  
 → 348 self.\_handle = \_dlopen(self.\_name, mode)  
349 else:  
350 self.\_handle = handle

OSError: libGLU.so.1: cannot open shared object file: No such file or directory

Is there anyone who can help me with this problem? Thank you in advance. 🙂

---

<div class="post-metadata">

**Author:** ![dokken](https://yyz2.discourse-cdn.com/free1/user_avatar/fenicsproject.discourse.group/dokken/32/1560_2.png) [@dokken](https://fenicsproject.discourse.group/u/dokken)\
**Post date:** [June 12, 2021, 5:00am UTC](https://fenicsproject.discourse.group/t/oserror-libglu-so-1/6021/2 "2021-06-12T05:00:00Z")

</div>

Gmsh requires some Extra packages you can install in your container.

```auto
    apt-get -y install \
    libglu1 \
    libxcursor-dev \
    libxft2 \
    libxinerama1 \
    libfltk1.3-dev \ 
    libfreetype6-dev \
    libgl1-mesa-dev \
    libocct-foundation-dev \
    libocct-data-exchange-dev 

```

You might need to add a `sudo` ahead of `apt-get`

---

<div class="post-metadata">

**Author:** ![donggq](https://avatars.discourse-cdn.com/v4/letter/d/eb8c5e/32.png) [@donggq](https://fenicsproject.discourse.group/u/donggq)\
**Post date:** [June 13, 2021, 11:49am UTC](https://fenicsproject.discourse.group/t/oserror-libglu-so-1/6021/4 "2021-06-13T11:49:54Z")

</div>

thank you! But it seems some other errors:

root@ad1a7e795d62:~# apt-get -y install libglu1 libxcursor-dev libxft2 libxinerama1 libfltk1.3-dev libfreetype6-dev libgl1-mesa-dev libocct-foundation-dev libocct-data-exchange-dev  
Reading package lists… Done  
Building dependency tree  
Reading state information… Done  
Note, selecting ‘libglu1-mesa’ instead of ‘libglu1’  
E: Unable to locate package libocct-foundation-dev  
E: Unable to locate package libocct-data-exchange-dev

Anyway, thank you again

---

<div class="post-metadata">

**Author:** ![dokken](https://yyz2.discourse-cdn.com/free1/user_avatar/fenicsproject.discourse.group/dokken/32/1560_2.png) [@dokken](https://fenicsproject.discourse.group/u/dokken)\
**Post date:** [June 13, 2021, 12:37pm UTC](https://fenicsproject.discourse.group/t/oserror-libglu-so-1/6021/5 "2021-06-13T12:37:33Z")

</div>

You do not need `libocct-foundation-dev libocct-data-exchange-dev` and can just skip them.

---

<div class="post-metadata">

**Author:** ![donggq](https://avatars.discourse-cdn.com/v4/letter/d/eb8c5e/32.png) [@donggq](https://fenicsproject.discourse.group/u/donggq)\
**Post date:** [June 14, 2021, 2:21am UTC](https://fenicsproject.discourse.group/t/oserror-libglu-so-1/6021/6 "2021-06-14T02:21:10Z")

</div>

thank you. This error is solved. But another error comes up:

Error : Can’t open display: (FLTK internal error)

 ![屏幕快照 2021-06-14 上午10.17.58](https://global.discourse-cdn.com/free1/uploads/fenicsproject1/original/2X/6/60fb75d5bd3bc596980fe4749b2ad13b010b82c0.png)

---

<div class="post-metadata">

**Author:** ![dokken](https://yyz2.discourse-cdn.com/free1/user_avatar/fenicsproject.discourse.group/dokken/32/1560_2.png) [@dokken](https://fenicsproject.discourse.group/u/dokken)\
**Post date:** [June 14, 2021, 7:05am UTC](https://fenicsproject.discourse.group/t/oserror-libglu-so-1/6021/7 "2021-06-14T07:05:50Z")

</div>

That is because you are trying to launch the Gmsh gui inside a docker container. To Get this to work, you Need to configure your docker container. See for instance: [Running a graphical app in a Docker container, on a remote server | Yet another enthusiast blog!](https://blog.yadutaf.fr/2017/09/10/running-a-graphical-app-in-a-docker-container-on-a-remote-server/)  
Please note that the errors you are referring to is due to how you use `plasmah_mesh_with_…py` which is not a FEniCS script. I would suggest you to modify this script to be used in a docker container (I.e. do not try to launch gmsh). But use other plotting tools to visualize the mesh inside the notebook once loaded into dolfin.

---

<div class="post-metadata">

**Author:** ![Zubair\_Shah](https://yyz2.discourse-cdn.com/free1/user_avatar/fenicsproject.discourse.group/zubair_shah/32/4258_2.png) [@Zubair\_Shah](https://fenicsproject.discourse.group/u/Zubair_Shah)\
**Post date:** [August 16, 2024, 1:42pm UTC](https://fenicsproject.discourse.group/t/oserror-libglu-so-1/6021/8 "2024-08-16T13:42:08Z")

</div>

Hi  
I am using Fenicsx to run a case and getting an error

I am using this code.

```auto
import gmsh
import sys

gmsh.initialize()

gmsh.model.add("t1")

lc = 1e-2
gmsh.model.geo.addPoint(0, 0, 0, lc, 1)
gmsh.model.geo.addPoint(.1, 0, 0, lc, 2)
gmsh.model.geo.addPoint(.1, .3, 0, lc, 3)
p4 = gmsh.model.geo.addPoint(0, .3, 0, lc)

gmsh.model.geo.addLine(1, 2, 1)
gmsh.model.geo.addLine(3, 2, 2)
gmsh.model.geo.addLine(3, p4, 3)
gmsh.model.geo.addLine(4, 1, p4)

gmsh.model.geo.addCurveLoop([4, 1, -2, 3], 1)
gmsh.model.geo.addPlaneSurface([1], 1)

gmsh.model.geo.synchronize()

gmsh.model.addPhysicalGroup(1, [1, 2, 4], 5)
gmsh.model.addPhysicalGroup(2, [1], name="My surface")

gmsh.model.mesh.generate(2)

gmsh.write("t1.msh")

if '-nopopup' not in sys.argv:
    gmsh.fltk.run()

gmsh.finalize()

```

I am getting this error

> OSError: libGL.so.1: cannot open shared object file: No such file or directory

I used these scripts for the installation others packages

```auto
    apt-get -y install \
    libglu1 \
    libxcursor-dev \
    libxft2 \
    libxinerama1 \
    libfltk1.3-dev \ 
    libfreetype6-dev \
    libgl1-mesa-dev \

```

after that, I got these errors

```auto
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'libglu1-mesa' instead of 'libglu1'
E: Unable to locate package libfltk1.3-dev
E: Couldn't find any package by glob 'libfltk1.3-dev'
E: Couldn't find any package by regex 'libfltk1.3-dev'

```

After installing the packages I am getting the same error.

> OSError: libGL.so.1: cannot open shared object file: No such file or directory

How can I resolve this issue?

---

<div class="post-metadata">

**Author:** ![dokken](https://yyz2.discourse-cdn.com/free1/user_avatar/fenicsproject.discourse.group/dokken/32/1560_2.png) [@dokken](https://fenicsproject.discourse.group/u/dokken)\
**Post date:** [August 16, 2024, 3:40pm UTC](https://fenicsproject.discourse.group/t/oserror-libglu-so-1/6021/9 "2024-08-16T15:40:09Z")

</div>

What version of ubuntu are you using?  
libfltk1.3-dev is on ubuntu 24.04  
See also: [python - ImportError: libGL.so.1: cannot open shared object file: No such file or directory - Stack Overflow](https://stackoverflow.com/questions/55313610/importerror-libgl-so-1-cannot-open-shared-object-file-no-such-file-or-directo)

---

<div class="post-metadata">

**Author:** ![Zubair\_Shah](https://yyz2.discourse-cdn.com/free1/user_avatar/fenicsproject.discourse.group/zubair_shah/32/4258_2.png) [@Zubair\_Shah](https://fenicsproject.discourse.group/u/Zubair_Shah)\
**Post date:** [August 16, 2024, 3:57pm UTC](https://fenicsproject.discourse.group/t/oserror-libglu-so-1/6021/10 "2024-08-16T15:57:41Z")

</div>

Thanks for the quick response  
I am using Ubuntu 22.04.

---

<div class="post-metadata">

**Author:** ![dokken](https://yyz2.discourse-cdn.com/free1/user_avatar/fenicsproject.discourse.group/dokken/32/1560_2.png) [@dokken](https://fenicsproject.discourse.group/u/dokken)\
**Post date:** [August 16, 2024, 5:27pm UTC](https://fenicsproject.discourse.group/t/oserror-libglu-so-1/6021/11 "2024-08-16T17:27:34Z")

</div>

You should probably install [libglu1-mesa-dev : amd64 : Jammy (22.04) : Ubuntu](https://answers.launchpad.net/ubuntu/jammy/amd64/libglu1-mesa-dev)

---

<div class="post-metadata">

**Author:** ![Zubair\_Shah](https://yyz2.discourse-cdn.com/free1/user_avatar/fenicsproject.discourse.group/zubair_shah/32/4258_2.png) [@Zubair\_Shah](https://fenicsproject.discourse.group/u/Zubair_Shah)\
**Post date:** [August 16, 2024, 8:09pm UTC](https://fenicsproject.discourse.group/t/oserror-libglu-so-1/6021/12 "2024-08-16T20:09:52Z")

</div>

Thank you, now it is working for me  
`sudo apt-get -y install libglu1 libxcursor-dev libxft2 libxinerama1 libfltk1.3-dev libfreetype6-dev libgl1-mesa-dev`
