# Dll missing error when trying to open arv-camera-test-0.8

**URL:** <https://aravis-project.discourse.group/t/dll-missing-error-when-trying-to-open-arv-camera-test-0-8/450>\
**Category:** Using Aravis\
**Created:** [May 5, 2022, 7:37pm UTC](https://aravis-project.discourse.group/t/dll-missing-error-when-trying-to-open-arv-camera-test-0-8/450 "2022-05-05T19:37:05Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![romi](https://avatars.discourse-cdn.com/v4/letter/r/48db29/32.png) [@romi](https://aravis-project.discourse.group/u/romi)\
**Post date:** [May 5, 2022, 7:37pm UTC](https://aravis-project.discourse.group/t/dll-missing-error-when-trying-to-open-arv-camera-test-0-8/450/1 "2022-05-05T19:37:05Z")

</div>

Hello,

I downloaded Aravis from the below link:  
[https://packages.msys2.org/package/mingw-w64-x86\_64-aravis?repo=mingw64](https://packages.msys2.org/package/mingw-w64-x86_64-aravis?repo=mingw64)  
and when trying to open arv-camera-test-0.8.exe or arv-fake-gv-camera-0.8.exe I get a dll missing error as you can see in the attached screenshots  
 ![after opening arv-camera-test-0.8](https://global.discourse-cdn.com/free1/uploads/aravis_project/original/1X/dba7ac8ae0b600eef7946f697813711de5e2d374.png)  
.

It seems like these 3 dlls are missing:

- libglib-2.0-0.dll
- libgobject-2.0-0.dll
- libgio-2.0-0.dll

I am using Windows 10 64-bit.

Do you have any ideas about this behavior?

Thanks in advance.

---

<div class="post-metadata">

**Author:** ![Emmanuel](https://yyz2.discourse-cdn.com/free1/user_avatar/aravis-project.discourse.group/emmanuel/32/198_2.png) [@Emmanuel](https://aravis-project.discourse.group/u/Emmanuel)\
**Post date:** [May 6, 2022, 7:47am UTC](https://aravis-project.discourse.group/t/dll-missing-error-when-trying-to-open-arv-camera-test-0-8/450/2 "2022-05-06T07:47:49Z")

</div>

Hi,

The installation of Aravis should have pulled the dependencies. What gives `pacman -Qi mingw-w64-x86_64-aravis` ?

I guess you should try to update your msys2 installation using `pacman -Syu`.

Emmanuel.

---

<div class="post-metadata">

**Author:** ![eudoxos](https://yyz2.discourse-cdn.com/free1/user_avatar/aravis-project.discourse.group/eudoxos/32/116_2.png) [@eudoxos](https://aravis-project.discourse.group/u/eudoxos)\
**Post date:** [May 12, 2022, 6:42pm UTC](https://aravis-project.discourse.group/t/dll-missing-error-when-trying-to-open-arv-camera-test-0-8/450/3 "2022-05-12T18:42:59Z")

</div>

Thanks you for bringing this up, it is a packaging issue. I [opened a pull-request](https://github.com/msys2/MINGW-packages/pull/11652) which should fix that (it will take a few days/weeks before that lands). For now just installing [mingw-w64-glib2](https://packages.msys2.org/base/mingw-w64-glib2) by hand should solve the issue. Please confirm that it worked. Cheers!

---

<div class="post-metadata">

**Author:** ![eudoxos](https://yyz2.discourse-cdn.com/free1/user_avatar/aravis-project.discourse.group/eudoxos/32/116_2.png) [@eudoxos](https://aravis-project.discourse.group/u/eudoxos)\
**Post date:** [May 13, 2022, 7:47am UTC](https://aravis-project.discourse.group/t/dll-missing-error-when-trying-to-open-arv-camera-test-0-8/450/4 "2022-05-13T07:47:00Z")

</div>

I closed the PR again; the packaging seems to be correct as [mingw-w64-x86\_64-gobject-introspection-runtime](https://packages.msys2.org/package/mingw-w64-x86_64-gobject-introspection-runtime) (a dependency of [mingw-w64-x86\_64-aravis](https://packages.msys2.org/package/mingw-w64-x86_64-aravis?repo=mingw64)) should pull in also [mingw-w64-x86\_64-glib2](https://packages.msys2.org/package/mingw-w64-x86_64-glib2) which contains the three DLLs you mention. As workaround, (re)install [mingw-w64-x86\_64-glib2](https://packages.msys2.org/package/mingw-w64-x86_64-glib2?repo=mingw64).

---

<div class="post-metadata">

**Author:** ![eudoxos](https://yyz2.discourse-cdn.com/free1/user_avatar/aravis-project.discourse.group/eudoxos/32/116_2.png) [@eudoxos](https://aravis-project.discourse.group/u/eudoxos)\
**Post date:** [May 23, 2022, 10:05am UTC](https://aravis-project.discourse.group/t/dll-missing-error-when-trying-to-open-arv-camera-test-0-8/450/5 "2022-05-23T10:05:15Z")

</div>

@romi just a quick ping if you managed to fix the issue…?

---

<div class="post-metadata">

**Author:** ![marcov](https://avatars.discourse-cdn.com/v4/letter/m/fbc32d/32.png) [@marcov](https://aravis-project.discourse.group/u/marcov)\
**Post date:** [July 11, 2022, 3:10pm UTC](https://aravis-project.discourse.group/t/dll-missing-error-when-trying-to-open-arv-camera-test-0-8/450/6 "2022-07-11T15:10:24Z")

</div>

To get the simple (32-bit) programs from 0.8.21 running , this is the list of files I needed to find in the end:

libiconv-2.dll  
libusb-1.0.dll  
libpcre-1.dll  
liblzma-5.dll  
libffi-7.dll  
libgio-2.0-0.dll  
libgmodule-2.0-0.dll  
libwinpthread-1.dll  
libxml2-2.dll  
libgcc\_s\_dw2-1.dll  
libglib-2.0-0.dll  
libaravis-0.8-0.dll  
libintl-8.dll  
zlib1.dll  
libgobject-2.0-0.dll

---

<div class="post-metadata">

**Author:** ![eudoxos](https://yyz2.discourse-cdn.com/free1/user_avatar/aravis-project.discourse.group/eudoxos/32/116_2.png) [@eudoxos](https://aravis-project.discourse.group/u/eudoxos)\
**Post date:** [July 20, 2022, 10:08am UTC](https://aravis-project.discourse.group/t/dll-missing-error-when-trying-to-open-arv-camera-test-0-8/450/7 "2022-07-20T10:08:01Z")

</div>

Check out [Dependency Walker](https://dependencywalker.com/) which will let you show which DLLs link against which other DLLs. In any case, mingw packages should pull, directly or indirectly, all DLLs you need.

---

<div class="post-metadata">

**Author:** ![marcov](https://avatars.discourse-cdn.com/v4/letter/m/fbc32d/32.png) [@marcov](https://aravis-project.discourse.group/u/marcov)\
**Post date:** [July 20, 2022, 11:07am UTC](https://aravis-project.discourse.group/t/dll-missing-error-when-trying-to-open-arv-camera-test-0-8/450/8 "2022-07-20T11:07:43Z")

</div>

Sooner or later you will need to deploy, and then you want a minimal subset, which I listed above.

To create this set I used a similar tool like dependency walker. Note that DLLs might themselves have other DLLs as dependency too.

---

<div class="post-metadata">

**Author:** ![eudoxos](https://yyz2.discourse-cdn.com/free1/user_avatar/aravis-project.discourse.group/eudoxos/32/116_2.png) [@eudoxos](https://aravis-project.discourse.group/u/eudoxos)\
**Post date:** [July 20, 2022, 8:14pm UTC](https://aravis-project.discourse.group/t/dll-missing-error-when-trying-to-open-arv-camera-test-0-8/450/9 "2022-07-20T20:14:40Z")

</div>

Understood. Check out [this post](https://gitlab.kitware.com/cmake/cmake/-/issues/20753#note_1022693) on automating bundling DLLs recursively with cmake & cpack, I use that for production code. (Dependency Walker works recursively as well, BTW).

---

<div class="post-metadata">

**Author:** ![marcov](https://avatars.discourse-cdn.com/v4/letter/m/fbc32d/32.png) [@marcov](https://aravis-project.discourse.group/u/marcov)\
**Post date:** [July 22, 2022, 3:46pm UTC](https://aravis-project.discourse.group/t/dll-missing-error-when-trying-to-open-arv-camera-test-0-8/450/10 "2022-07-22T15:46:58Z")

</div>

I use innosetup to deploy the generated application EXE and relevant DLLs as a bundle with Delphi or Lazarus applications.

Though usually that is only for the more formal deliveries, and updates are simply single EXEs.
