Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Symbol not found but it is present
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
ONEEYEMAN
Advocate
Advocate


Joined: 01 Mar 2005
Posts: 3650

PostPosted: Mon Apr 29, 2024 4:26 am    Post subject: Symbol not found but it is present Reply with quote

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
View user's profile Send private message
Genone
Retired Dev
Retired Dev


Joined: 14 Mar 2003
Posts: 9604
Location: beyond the rim

PostPosted: Mon Apr 29, 2024 9:06 am    Post subject: Reply with quote

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
View user's profile Send private message
ONEEYEMAN
Advocate
Advocate


Joined: 01 Mar 2005
Posts: 3650

PostPosted: Mon Apr 29, 2024 8:20 pm    Post subject: Reply with quote

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
View user's profile Send private message
Genone
Retired Dev
Retired Dev


Joined: 14 Mar 2003
Posts: 9604
Location: beyond the rim

PostPosted: Tue Apr 30, 2024 9:42 am    Post subject: Reply with quote

Don't see libpropertieshandlers.so in there, so you'll have to check how libdialogs is supposed to interact with it.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum