2017-12-18 23:07 CET

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0001351Orfeo Toolbox (OTB)Generalpublic2017-04-05 10:37
Assigned Togpasero 
PriorityurgentSeverityminorReproducibilityhave not tried
PlatformLinuxOSOS Version
Summary0001351: Broken 5.10 standalone package on Linux (missing libstdc++)
DescriptionTried on CentOS 7 with standalone .run package from today (2017/01/31)
Additional Informationpoughov@to-2216251 ~/Téléchargements cd OTB-5.10.0-Linux64/
poughov@to-2216251 ~/Téléchargements/OTB-5.10.0-Linux64 ./monteverdi.sh
/home/poughov/Téléchargements/OTB-5.10.0-Linux64/bin/monteverdi: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /home/poughov/Téléchargements/OTB-5.10.0-Linux64/lib/libOTBMonteverdiGUI-5.10.so.1)
/home/poughov/Téléchargements/OTB-5.10.0-Linux64/bin/monteverdi: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/poughov/Téléchargements/OTB-5.10.0-Linux64/lib/libOTBMonteverdiGUI-5.10.so.1)
/home/poughov/Téléchargements/OTB-5.10.0-Linux64/bin/monteverdi: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /home/poughov/Téléchargements/OTB-5.10.0-Linux64/lib/libOTBMonteverdiCore-5.10.so.1)
/home/poughov/Téléchargements/OTB-5.10.0-Linux64/bin/monteverdi: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/poughov/Téléchargements/OTB-5.10.0-Linux64/lib/libOTBMonteverdiCore-5.10.so.1)
/home/poughov/Téléchargements/OTB-5.10.0-Linux64/bin/monteverdi: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/poughov/Téléchargements/OTB-5.10.0-Linux64/lib/libITKCommon-4.10.so.1)
/home/poughov/Téléchargements/OTB-5.10.0-Linux64/bin/monteverdi: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/poughov/Téléchargements/OTB-5.10.0-Linux64/lib/libitksys-4.10.so.1)
/home/poughov/Téléchargements/OTB-5.10.0-Linux64/bin/monteverdi: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /home/poughov/Téléchargements/OTB-5.10.0-Linux64/lib/libitksys-4.10.so.1)
/home/poughov/Téléchargements/OTB-5.10.0-Linux64/bin/monteverdi: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /home/poughov/Téléchargements/OTB-5.10.0-Linux64/lib/libOTBIce-5.10.so.1)
/home/poughov/Téléchargements/OTB-5.10.0-Linux64/bin/monteverdi: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/poughov/Téléchargements/OTB-5.10.0-Linux64/lib/libOTBIce-5.10.so.1)
/home/poughov/Téléchargements/OTB-5.10.0-Linux64/bin/monteverdi: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/poughov/Téléchargements/OTB-5.10.0-Linux64/lib/libOTBIOGDAL-5.10.so.1)
/home/poughov/Téléchargements/OTB-5.10.0-Linux64/bin/monteverdi: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /home/poughov/Téléchargements/OTB-5.10.0-Linux64/lib/libOTBApplicationEngine-5.10.so.1)
/home/poughov/Téléchargements/OTB-5.10.0-Linux64/bin/monteverdi: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/poughov/Téléchargements/OTB-5.10.0-Linux64/lib/libOTBApplicationEngine-5.10.so.1)
/home/poughov/Téléchargements/OTB-5.10.0-Linux64/bin/monteverdi: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /home/poughov/Téléchargements/OTB-5.10.0-Linux64/lib/libitkvnl-4.10.so.1)
/home/poughov/Téléchargements/OTB-5.10.0-Linux64/bin/monteverdi: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/poughov/Téléchargements/OTB-5.10.0-Linux64/lib/libOTBCommon-5.10.so.1)
/home/poughov/Téléchargements/OTB-5.10.0-Linux64/bin/monteverdi: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /home/poughov/Téléchargements/OTB-5.10.0-Linux64/lib/libitkvnl_algo-4.10.so.1)
/home/poughov/Téléchargements/OTB-5.10.0-Linux64/bin/monteverdi: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/poughov/Téléchargements/OTB-5.10.0-Linux64/lib/libgdal.so.20)
/home/poughov/Téléchargements/OTB-5.10.0-Linux64/bin/monteverdi: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/poughov/Téléchargements/OTB-5.10.0-Linux64/lib/libtinyxml.so)
/home/poughov/Téléchargements/OTB-5.10.0-Linux64/bin/monteverdi: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/poughov/Téléchargements/OTB-5.10.0-Linux64/lib/libossim.so.1)
/home/poughov/Téléchargements/OTB-5.10.0-Linux64/bin/monteverdi: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /home/poughov/Téléchargements/OTB-5.10.0-Linux64/lib/libotbossimplugins-5.10.so.1)
/home/poughov/Téléchargements/OTB-5.10.0-Linux64/bin/monteverdi: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/poughov/Téléchargements/OTB-5.10.0-Linux64/lib/libotbossimplugins-5.10.so.1)
/home/poughov/Téléchargements/OTB-5.10.0-Linux64/bin/monteverdi: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/poughov/Téléchargements/OTB-5.10.0-Linux64/lib/libgeos.so.3.5.0)
TagsNo tags attached.
Attached Files




poughov (administrator)

I tried the fix suggested in README but they are unrelated.
Also happens with or without "source otbenv.profile"


rashadkm (developer)

what is the gcc version?
packages are built on gcc 4.9.4 for some reasons.

hence we lost our good old compatibility. Packages now run on limited number of system.


gpasero (administrator)

I have the same issue on my platform : I have g++ 4.8.4 (the system lib I have is libstdc++.so.6.0.19).

On the build platform gcc is 4.9.4 (system lib for stdc++ is libstdc++.so.6.0.22).

I tried the following :
* copy libstdc++.so.6.0.22 in the 'lib' folder of the installed OTB package
* in that 'lib' folder, create a symlink libstdc++.so.6 -> libstdc++.so.6.0.22

Then I works. I guess we have to also distribute this library, but we may need to check existing version when installing the package.


gpasero (administrator)

I pushed a fix (https://git.orfeo-toolbox.org/otb.git/commit/f618e6c6c9af41b0a8ed6809aa750b8803045ed3). Let's check on next packages.


gpasero (administrator)

Checked on latest packages : problem solved on my platform.


poughov (administrator)

Humm, still not working on my CentOS 7. Getting:

/home/poughov/Téléchargements/OTB-5.10.0-Linux64/bin/monteverdi: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by /home/poughov/Téléchargements/OTB-5.10.0-Linux64/lib/libstdc++.so.6)


gpasero (administrator)

Could you give the versions of libc and libstdc++ on your system ?


poughov (administrator)

not sure how I can get that info. Is that ok?

poughov@to-2216251 ~ locate /*libc.so*
poughov@to-2216251 ~ ll /usr/lib64/libc.so.6
lrwxrwxrwx 1 root root 12 14 déc. 08:53 /usr/lib64/libc.so.6 -> libc-2.17.so
poughov@to-2216251 ~ rpm -q libstdc++
poughov@to-2216251 ~


poughov (administrator)


poughov@to-2216251 ~ gcc -dumpversion
poughov@to-2216251 ~ g++ -dumpversion


gpasero (administrator)

I will try to use an older gcc on the platform generating packages (gcc 4.8.5 available).

This new platform which break compatibility with older ones, is motivated by the need of C++11 features. It seems that gcc 4.8.1 is the minimal version that will support all C++11 features. So we could stick to the 4.8 branch.


poughov (administrator)

Still not working with today's build :(

./bin/otbApplicationLauncherCommandLine: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by /home/poughov/Téléchargements/OTB-5.10.0-Linux64/lib/libstdc++.so.6)

If it's too much trouble we can also consider not supporting CentOS 7, it would be nice but it's a tradeoff.


poughov (administrator)

Here's a test on my machine, removing lib/libstdc++.so* : it fixes otbcli but not monteverdi (libgtk problem)

# with libstdc++.so*
poughov@to-2216251 ~/Téléchargements/OTB-5.10.0-Linux64 ./monteverdi.sh
/home/poughov/Téléchargements/OTB-5.10.0-Linux64/bin/monteverdi: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by /home/poughov/Téléchargements/OTB-5.10.0-Linux64/lib/libstdc++.so.6)
poughov@to-2216251 ~/Téléchargements/OTB-5.10.0-Linux64 ./bin/otbcli_ReadImageInfo
./bin/otbApplicationLauncherCommandLine: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by /home/poughov/Téléchargements/OTB-5.10.0-Linux64/lib/libstdc++.so.6)

# without libstdc++.so*
poughov@to-2216251 ~/Téléchargements/OTB-5.10.0-Linux64 rm lib/libstdc++.so*
poughov@to-2216251 ~/Téléchargements/OTB-5.10.0-Linux64 ./monteverdi.sh
Unable to load library icui18n "Cannot load library icui18n: (icui18n: Ne peut ouvrir le fichier d'objet partagé: Aucun fichier ou dossier de ce type)"
/home/poughov/Téléchargements/OTB-5.10.0-Linux64/bin/monteverdi: symbol lookup error: /lib64/libgtk-x11-2.0.so.0: undefined symbol: g_type_check_instance_is_fundamentally_a
poughov@to-2216251 ~/Téléchargements/OTB-5.10.0-Linux64 ./bin/otbcli_ReadImageInfo
ERROR: Waiting for at least one parameter...
This is the ReadImageInfo application, version 5.10.0
Get information about the image

Complete documentation: http://www.orfeo-toolbox.org/Applications/ReadImageInfo.html

        -progress <boolean> Report progress
MISSING -in <string> Input Image (mandatory)
        -keywordlist <boolean> Display the OSSIM keywordlist (optional, off by default)
        -outkwl <string> Write the OSSIM keywordlist to a geom file (optional, off by default)
        -inxml <string> Load otb application from xml file (optional, off by default)

otbcli_ReadImageInfo -in QB_Toulouse_Ortho_XS.tif

poughov@to-2216251 ~/Téléchargements/OTB-5.10.0-Linux64


gpasero (administrator)

Okay, as I thought, now that the package is compiled using gcc 4.8.5, the libstdc++ inclusion is not the right one.

Using 'ldd', could you trace what library drags libgtk ?


poughov (administrator)

We've identified that the problem does not happen if

or if launching the binary directly (./bin/monteverdi)


gpasero (administrator)

Analysis of the problem with undefined symbol g_type_check_instance_is_fundamentally_a.

This symbol (used by libgtk-x11-2.0) is normally supplied by libgobject. On CentOS 7, the system libgobject has it (v. 2.46.2) but the one provided in the package (coming from hulk, v. 2.40.2) doesn't have it.

When using old gtk binaries from CentOS 5 (previous release 5.8) instead, error is different : QtCore complains with the (old) version of glib. Using the previous Qt libraries from 5.8 package allows to run Monteverdi.

Solutions in the long term :
- compile Qt with an older glib version


gpasero (administrator)

The original bug is solved by using gcc 4.8

An other bug will track the GTK issues.

-Issue History
Date Modified Username Field Change
2017-01-31 10:57 poughov New Issue
2017-01-31 11:28 poughov Note Added: 0003982
2017-01-31 11:28 poughov Priority normal => urgent
2017-01-31 12:25 rashadkm Note Added: 0003983
2017-02-01 11:28 gpasero Note Added: 0003988
2017-02-01 16:08 gpasero Note Added: 0003991
2017-02-01 16:08 gpasero Assigned To => gpasero
2017-02-01 16:08 gpasero Status new => assigned
2017-02-02 09:25 gpasero Note Added: 0003998
2017-02-02 09:25 gpasero Status assigned => resolved
2017-02-02 09:25 gpasero Resolution open => fixed
2017-02-03 09:44 poughov Note Added: 0004001
2017-02-03 09:44 poughov Status resolved => feedback
2017-02-03 09:44 poughov Resolution fixed => reopened
2017-02-03 09:56 gpasero Note Added: 0004002
2017-02-03 10:35 poughov Note Added: 0004003
2017-02-03 10:35 poughov Status feedback => assigned
2017-02-03 10:36 poughov Note Added: 0004004
2017-02-03 12:06 gpasero Note Added: 0004005
2017-02-06 11:37 poughov Note Added: 0004010
2017-02-07 10:54 poughov Note Added: 0004011
2017-02-07 11:05 gpasero Note Added: 0004012
2017-02-07 11:56 poughov Note Added: 0004013
2017-02-08 11:41 gpasero Note Added: 0004015
2017-02-08 11:46 gpasero Note Added: 0004016
2017-02-08 11:46 gpasero Status assigned => resolved
2017-02-08 11:46 gpasero Resolution reopened => fixed
2017-04-05 10:37 poughov Status resolved => closed
+Issue History