Cannot start GenICamBrowser - libpng missing

Hello,

I am under Debian Stretch 9.4 and I am getting this error when I want to run GenICamBrowser:

/opt/cvb/bin/GenICamBrowser: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory

I searched for it on internet but libpng12-0 is only available in debian ≤ 8

What can I do ?
Thanks

Hi @ss_silkke,

this is an easily solved issue.

  1. Go to: https://packages.debian.org/wheezy/libpng12-0 . This is the libpng package for wheezy.
  2. Download the version for your architecture.
  3. Install it via “dpkg -i <package-name>”.

This should resolve your issues. However we don’t test with debian directly. I can’t tell you which new missing dependencies will appear (on Ubuntu this solves the issue).

Please leave a note whether this resolved the dependencies.

Have a nice day,

Christopher

2 Likes

The list of architectures are at the bottom of the page.

Hi,

Thanks for your answer, I did not know that it would have worked.

I wish it was that easy :slight_smile:

The new error when launching /opt/cvb/bin/GenICamBrowser

terminate called after throwing an instance of 'std::runtime_error' what(): locale::facet::_S_create_c_locale name not valid

I’m running the program with the basic user logged in the X session.

Ok … this is slightly weirder.

Whats wrong here is the locale (the language) of the application.
The locale of Genicambrowser does not fit the available locales of the debian system.

Could you give me a printout of “locale” (the current settings) and “locale -a” (available settings).

Here they are :

$ locale
LANG=fr_FR.UTF-8
LANGUAGE=
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=
$ locale -a
C
C.UTF-8
fr_FR.utf8
POSIX

Maybe I should put the EN language in my locales ?

Well yes. But wait a second.

Open a console. Try “export LC_ALL=C”. This will override your language settings (for the current console) to the “C” language. Then start the Genicambrowser.

1 Like

Thanks, it worked :slight_smile:

Ah the Qt libs we deliver do not like the french locale. Odd.

Thats my fault. Even if i’m french, I should never have installed the OS with the french language. :smile:

When I’m trying to launch something (about genicam ofc) from the GUI it does not work, I think I need to set the env variable for the X session too.

Do you know how to do that ?

For the session (i.e. not local and not global). No i don’t actually know.

However i would first setup “fallback” locales.

sudo locale-gen de_DE (this is german)
sudo locale-gen de_DE.UTF-8 (this is german in UTF8)
sudo locale-gen en_GB
sudo locale-gen en_GB.UTF-8

Then try again starting the genicambrowser from the UI. (This might take some time)

1 Like

You could however just put the “export LC…” into the .profile or the .xsessionrc. This should do it. I don’t think this is a good idea thou.

By doing what you told just above I can run the executables through the GUI.

Now it’s discovering devices since 15 min… How much time does it take ?
When I discover through a CPP program it takes less than 5 seconds.

Same as the CPP Programm really.

There’s something about misinstallation of CVB .
But I can open camera and take pictures with the library in CPP, this is mindblowing…

I fixed this by adding :

export CVB=/opt/cvb

in ~/.xsessionrc

Hello I’m terribly sorry for not answering. I should have gotten a notification, but i didn’t.

The enviromental vars you need:
CVB=/opt/cvb
GENICAM_GENTL64_PATH=/opt/cvb/drivers/genicam
CVGENICAM_REGISTRY=/var/opt/cvb/Registry
GENICAM_CACHE_V3_0=/var/opt/cvb/genicam
CVBDATA=/var/opt/cvb
CVBCONFIG=/etc/opt/cvb

GENTL64 becomes GENTL32 on 32 bit systems / configs.

1 Like

Hello, and don’t worry, it’s fine.

Yes I did add those env vars in the .xsessionrc file and this fixed everything (after a reboot). Now I get the list of connected cameras.

Thank you very much !

Ok then you were missing the Gentl64 path. Which is supposed to hold all transportlayers (GenTL Standard).

1 Like