View previous topic :: View next topic |
Author |
Message |
ONEEYEMAN Advocate
Joined: 01 Mar 2005 Posts: 3650
|
Posted: Mon Apr 29, 2024 4:26 am Post subject: Symbol not found but it is present |
|
|
Hi, ALL,
I just rebuilt my machine from Wayland to X11.
With old configuration everything was working fine. My program was running successfully without any issues.
Mow with the new configuration I recloned the repo and rebuilt.
Build was finished successfully, but upon running I got the following:
"Failed to load shared library /usr/local/lib/libdialogs.so: /isr/locl/lib/libdialogs.sp : undefined symbol: _ZTI24DividerPropertiesHandler"
The thing is I tried to do:
Code: |
igor@WaylandGnome /usr/local/lib $ objdump -TC libdialogs.so.0.0.0 | grep -i divider
0000000000000000 D *UND* 0000000000000000 Base typeinfo for DividerPropertiesHandler
000000000010d02c w DF .text 0000000000000012 Base DividerPropertiesHandler::GetObjectProperties() const
igor@WaylandGnome /usr/local/lib $ ls -la libdi*
-rw-r--r-- 1 root root 20593804 Apr 28 23:39 libdialogs.a
-rwxr-xr-x 1 root root 1676 Apr 28 23:39 libdialogs.la
lrwxrwxrwx 1 root root 19 Apr 28 23:39 libdialogs.so -> libdialogs.so.0.0.0
lrwxrwxrwx 1 root root 19 Apr 28 23:39 libdialogs.so.0 -> libdialogs.so.0.0.0
-rwxr-xr-x 1 root root 9606232 Apr 28 23:39 libdialogs.so.0.0.0
igor@WaylandGnome /usr/local/lib $
|
and it looks like the symbol is there.
I also see thisL
Code: |
igor@WaylandGnome /usr/local/lib $ readelf -Ws libdialogs.so.0.0.0 | grep -i divider
388: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND _ZTI24DividerPropertiesHandler
1761: 000000000010d02c 18 FUNC WEAK DEFAULT 11 _ZNK24DividerPropertiesHandler19GetObjectPropertiesEv
2608: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND _ZTI24DividerPropertiesHandler
4755: 000000000010d02c 18 FUNC WEAK DEFAULT 11 _ZNK24DividerPropertiesHandler19GetObjectPropertiesEv
igor@WaylandGnome /usr/local/lib $
|
This is where the function is:
Code: |
igor@WaylandGnome /usr/local/lib $ readelf -Ws libdialogs.so.0.0.0 | grep -i divider
388: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND _ZTI24DividerPropertiesHandler
1761: 000000000010d02c 18 FUNC WEAK DEFAULT 11 _ZNK24DividerPropertiesHandler19GetObjectPropertiesEv
2608: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND _ZTI24DividerPropertiesHandler
4755: 000000000010d02c 18 FUNC WEAK DEFAULT 11 _ZNK24DividerPropertiesHandler19GetObjectPropertiesEv
igor@WaylandGnome /usr/local/lib $ readelf -Ws libpropertieshandlers.so.0.0.0 | grep -i divider
282: 00000000000162f0 27 OBJECT WEAK DEFAULT 13 _ZTS24DividerPropertiesHandler
326: 000000000001abe0 24 OBJECT WEAK DEFAULT 20 _ZTI24DividerPropertiesHandler
350: 000000000001aba8 56 OBJECT WEAK DEFAULT 20 _ZTV24DividerPropertiesHandler
412: 000000000001598e 61 FUNC GLOBAL DEFAULT 11 _ZN24DividerPropertiesHandlerC1EP14BandProperties
474: 00000000000159cc 19 FUNC GLOBAL DEFAULT 11 _ZN24DividerPropertiesHandler13GetPropertiesERSt6vectorINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESaIS6_EE
521: 0000000000015a0e 43 FUNC WEAK DEFAULT 11 _ZN24DividerPropertiesHandlerD0Ev
566: 00000000000159e0 45 FUNC WEAK DEFAULT 11 _ZN24DividerPropertiesHandlerD1Ev
579: 000000000001598e 61 FUNC GLOBAL DEFAULT 11 _ZN24DividerPropertiesHandlerC2EP14BandProperties
611: 00000000000159e0 45 FUNC WEAK DEFAULT 11 _ZN24DividerPropertiesHandlerD2Ev
65: 0000000000000000 0 FILE LOCAL DEFAULT ABS dividerpropertieshandler.cpp
228: 000000000001aba8 56 OBJECT WEAK DEFAULT 20 _ZTV24DividerPropertiesHandler
353: 0000000000015a0e 43 FUNC WEAK DEFAULT 11 _ZN24DividerPropertiesHandlerD0Ev
359: 000000000001598e 61 FUNC GLOBAL DEFAULT 11 _ZN24DividerPropertiesHandlerC1EP14BandProperties
435: 00000000000159cc 19 FUNC GLOBAL DEFAULT 11 _ZN24DividerPropertiesHandler13GetPropertiesERSt6vectorINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESaIS6_EE
443: 000000000001598e 61 FUNC GLOBAL DEFAULT 11 _ZN24DividerPropertiesHandlerC2EP14BandProperties
569: 00000000000162f0 27 OBJECT WEAK DEFAULT 13 _ZTS24DividerPropertiesHandler
600: 00000000000159e0 45 FUNC WEAK DEFAULT 11 _ZN24DividerPropertiesHandlerD2Ev
610: 000000000001abe0 24 OBJECT WEAK DEFAULT 20 _ZTI24DividerPropertiesHandler
686: 00000000000159e0 45 FUNC WEAK DEFAULT 11 _ZN24DividerPropertiesHandlerD1Ev
igor@WaylandGnome /usr/local/lib $
|
How do I solve this?
Thank you. |
|
Back to top |
|
|
Genone Retired Dev
Joined: 14 Mar 2003 Posts: 9604 Location: beyond the rim
|
Posted: Mon Apr 29, 2024 9:06 am Post subject: |
|
|
UND means that the symbol is used by the file, but it is not defined there. We can see that the symbol is defined in libpropertieshandlers.so. So the question is how does libdialogs.so link against libpropertieshandlers.so? Might want to check the output of `ldd libdialogs.so` to see if it is picking up the correct file. If it is using dlopen() things might be a bit more tricky to analyze. |
|
Back to top |
|
|
ONEEYEMAN Advocate
Joined: 01 Mar 2005 Posts: 3650
|
Posted: Mon Apr 29, 2024 8:20 pm Post subject: |
|
|
Hi,
Code: |
igor@WaylandGnome /usr/local/lib $ ldd libdialogs.so.0.0.0
linux-vdso.so.1 (0x00007ffd695a2000)
libsqlite_lib.so.0 => /usr/local/lib/libsqlite_lib.so.0 (0x00007f9f234d6000)
libodbc_lib.so.0 => /usr/local/lib/libodbc_lib.so.0 (0x00007f9f23436000)
libfieldswindow.so.0 => /usr/local/lib/libfieldswindow.so.0 (0x00007f9f23406000)
libshapeframework.so.0 => /usr/local/lib/libshapeframework.so.0 (0x00007f9f232c6000)
libpropertypages.so.0 => /usr/local/lib/libpropertypages.so.0 (0x00007f9f231f6000)
libgtk-3.so.0 => /usr/lib64/libgtk-3.so.0 (0x00007f9f22a26000)
libgdk-3.so.0 => /usr/lib64/libgdk-3.so.0 (0x00007f9f2295e000)
libharfbuzz.so.0 => /usr/lib64/libharfbuzz.so.0 (0x00007f9f2282e000)
libpangocairo-1.0.so.0 => /usr/lib64/libpangocairo-1.0.so.0 (0x00007f9f22816000)
libpango-1.0.so.0 => /usr/lib64/libpango-1.0.so.0 (0x00007f9f227a6000)
libatk-1.0.so.0 => /usr/lib64/libatk-1.0.so.0 (0x00007f9f22776000)
libcairo.so.2 => /usr/lib64/libcairo.so.2 (0x00007f9f22636000)
libcairo-gobject.so.2 => /usr/lib64/libcairo-gobject.so.2 (0x00007f9f22626000)
libgdk_pixbuf-2.0.so.0 => /usr/lib64/libgdk_pixbuf-2.0.so.0 (0x00007f9f225f6000)
libgio-2.0.so.0 => /usr/lib64/libgio-2.0.so.0 (0x00007f9f2240e000)
libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007f9f222c6000)
libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0 (0x00007f9f2225e000)
libpostgres.so.0 => /usr/local/lib/libpostgres.so.0 (0x00007f9f221ee000)
libpq.so.5 => /usr/lib64/libpq.so.5 (0x00007f9f22196000)
libwx_gtk3u_xrc-3.2.so.0 => /home/igor/wxWidgets/buildGTK/lib/libwx_gtk3u_xrc-3.2.so.0 (0x00007f9f2205e000)
libwx_gtk3u_html-3.2.so.0 => /home/igor/wxWidgets/buildGTK/lib/libwx_gtk3u_html-3.2.so.0 (0x00007f9f21f5e000)
libwx_gtk3u_qa-3.2.so.0 => /home/igor/wxWidgets/buildGTK/lib/libwx_gtk3u_qa-3.2.so.0 (0x00007f9f21f26000)
libwx_gtk3u_core-3.2.so.0 => /home/igor/wxWidgets/buildGTK/lib/libwx_gtk3u_core-3.2.so.0 (0x00007f9f215fe000)
libwx_baseu_xml-3.2.so.0 => /home/igor/wxWidgets/buildGTK/lib/libwx_baseu_xml-3.2.so.0 (0x00007f9f215e6000)
libwx_baseu_net-3.2.so.0 => /home/igor/wxWidgets/buildGTK/lib/libwx_baseu_net-3.2.so.0 (0x00007f9f21576000)
libwx_baseu-3.2.so.0 => /home/igor/wxWidgets/buildGTK/lib/libwx_baseu-3.2.so.0 (0x00007f9f212e6000)
libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/13/libstdc++.so.6 (0x00007f9f21086000)
libm.so.6 => /lib64/libm.so.6 (0x00007f9f20fa6000)
libc.so.6 => /lib64/libc.so.6 (0x00007f9f20dee000)
libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/13/libgcc_s.so.1 (0x00007f9f20dc6000)
libgmodule-2.0.so.0 => /usr/lib64/libgmodule-2.0.so.0 (0x00007f9f20dbe000)
libpangoft2-1.0.so.0 => /usr/lib64/libpangoft2-1.0.so.0 (0x00007f9f20d9e000)
libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x00007f9f20d4e000)
libfribidi.so.0 => /usr/lib64/libfribidi.so.0 (0x00007f9f20d2e000)
libepoxy.so.0 => /usr/lib64/libepoxy.so.0 (0x00007f9f20bfe000)
libXi.so.6 => /usr/lib64/libXi.so.6 (0x00007f9f20be6000)
libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007f9f20a9e000)
libatk-bridge-2.0.so.0 => /usr/lib64/libatk-bridge-2.0.so.0 (0x00007f9f20a5e000)
libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x00007f9f20a56000)
libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007f9f20a3e000)
libXcursor.so.1 => /usr/lib64/libXcursor.so.1 (0x00007f9f20a2e000)
libXdamage.so.1 => /usr/lib64/libXdamage.so.1 (0x00007f9f20a26000)
libXcomposite.so.1 => /usr/lib64/libXcomposite.so.1 (0x00007f9f20a1e000)
libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x00007f9f20a0e000)
libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007f9f20946000)
libgraphite2.so.3 => /usr/lib64/libgraphite2.so.3 (0x00007f9f2091e000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f9f20916000)
libz.so.1 => /usr/lib64/libz.so.1 (0x00007f9f208f6000)
libpng16.so.16 => /usr/lib64/libpng16.so.16 (0x00007f9f208be000)
libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007f9f208ae000)
libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007f9f2087e000)
libxcb-render.so.0 => /usr/lib64/libxcb-render.so.0 (0x00007f9f2086e000)
libxcb-shm.so.0 => /usr/lib64/libxcb-shm.so.0 (0x00007f9f20866000)
libpixman-1.so.0 => /usr/lib64/libpixman-1.so.0 (0x00007f9f207be000)
libjpeg.so.62 => /usr/lib64/libjpeg.so.62 (0x00007f9f206fe000)
libmount.so.1 => /usr/lib64/libmount.so.1 (0x00007f9f2068e000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f9f20676000)
libpcre2-8.so.0 => /usr/lib64/libpcre2-8.so.0 (0x00007f9f205d6000)
libffi.so.8 => /usr/lib64/libffi.so.8 (0x00007f9f205c6000)
libssl.so.3 => /usr/lib64/libssl.so.3 (0x00007f9f2051e000)
libcrypto.so.3 => /usr/lib64/libcrypto.so.3 (0x00007f9f200ee000)
libgthread-2.0.so.0 => /usr/lib64/libgthread-2.0.so.0 (0x00007f9f200e6000)
libXxf86vm.so.1 => /usr/lib64/libXxf86vm.so.1 (0x00007f9f200de000)
libSM.so.6 => /usr/lib64/libSM.so.6 (0x00007f9f200ce000)
libxkbcommon.so.0 => /usr/lib64/libxkbcommon.so.0 (0x00007f9f20086000)
libgspell-1.so.2 => /usr/lib64/libgspell-1.so.2 (0x00007f9f2005e000)
libenchant-2.so.2 => /usr/lib64/libenchant-2.so.2 (0x00007f9f2004e000)
libnotify.so.4 => /usr/lib64/libnotify.so.4 (0x00007f9f2003e000)
libXtst.so.6 => /usr/lib64/libXtst.so.6 (0x00007f9f20036000)
libtiff.so.6 => /usr/lib64/libtiff.so.6 (0x00007f9f1ffa6000)
libsecret-1.so.0 => /usr/lib64/libsecret-1.so.0 (0x00007f9f1ff46000)
libcurl.so.4 => /usr/lib64/libcurl.so.4 (0x00007f9f1fe9e000)
libpcre2-32.so.0 => /usr/lib64/libpcre2-32.so.0 (0x00007f9f1fe16000)
libexpat.so.1 => /usr/lib64/libexpat.so.1 (0x00007f9f1fde6000)
/lib64/ld-linux-x86-64.so.2 (0x00007f9f2383e000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f9f1fdde000)
libatspi.so.0 => /usr/lib64/libatspi.so.0 (0x00007f9f1fd9e000)
libdbus-1.so.3 => /usr/lib64/libdbus-1.so.3 (0x00007f9f1fd4e000)
libbz2.so.1 => /usr/lib64/libbz2.so.1 (0x00007f9f1fd36000)
libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007f9f1fd2e000)
libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x00007f9f1fd26000)
libblkid.so.1 => /usr/lib64/libblkid.so.1 (0x00007f9f1fcc6000)
libICE.so.6 => /usr/lib64/libICE.so.6 (0x00007f9f1fca6000)
libuuid.so.1 => /usr/lib64/libuuid.so.1 (0x00007f9f1fc96000)
libicuuc.so.74 => /usr/lib64/libicuuc.so.74 (0x00007f9f1fa8e000)
libgcrypt.so.20 => /usr/lib64/libgcrypt.so.20 (0x00007f9f1f96e000)
libcares.so.2 => /usr/lib64/libcares.so.2 (0x00007f9f1f93e000)
libnghttp2.so.14 => /usr/lib64/libnghttp2.so.14 (0x00007f9f1f90e000)
libpsl.so.5 => /usr/lib64/libpsl.so.5 (0x00007f9f1f8f6000)
libbsd.so.0 => /usr/lib64/libbsd.so.0 (0x00007f9f1f8de000)
libicudata.so.74 => /usr/lib64/libicudata.so.74 (0x00007f9f1db7e000)
libgpg-error.so.0 => /usr/lib64/libgpg-error.so.0 (0x00007f9f1db56000)
libidn2.so.0 => /usr/lib64/libidn2.so.0 (0x00007f9f1db1e000)
libunistring.so.5 => /usr/lib64/libunistring.so.5 (0x00007f9f1d96e000)
libmd.so.0 => /usr/lib64/libmd.so.0 (0x00007f9f1d95e000)
igor@WaylandGnome /usr/local/lib $
|
Thank you. |
|
Back to top |
|
|
Genone Retired Dev
Joined: 14 Mar 2003 Posts: 9604 Location: beyond the rim
|
Posted: Tue Apr 30, 2024 9:42 am Post subject: |
|
|
Don't see libpropertieshandlers.so in there, so you'll have to check how libdialogs is supposed to interact with it. |
|
Back to top |
|
|
|