a1ext / labeless

Labeless is a multipurpose IDA Pro plugin system for labels/comments synchronization with a debugger backend, with complex memory dumping and interactive Python scripting capabilities.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ubuntu 14.04 compatibily

smvicente opened this issue · comments

Hi guys!

Even though I have installed an updated GCC version from the one available for Ubuntu 14.04.5 using the PPA ubuntu-toolchain-r/test, I'm still getting this error:
dlopen(/opt/ida-6.95/plugins/labeless_ida_690.plx): /opt/ida-6.95/plugins/labeless_ida_690.plx: symbol _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERjj, version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference

I guess this is compilation/ABI-related, so not sure if there is an easy solution for this besides me upgrading to a newer Linux distro?

Thank you in advance.
Best.

commented

Hi @smvicente,

Yes, it looks like ABI problem. You can build the labeless. I'll help you providing the instructions.

First of all, could you shown me the output of ldd /opt/ida-6.95/plugins/labeless_ida_690.plx?

Hi @a1ext!

Thank you for your swift response! The output is:
linux-gate.so.1 => (0xf7774000)
libpython2.7.so.1.0 => not found
libida.so => not found
libQt5Widgets.so.5 => not found
libQt5Gui.so.5 => not found
libQt5Core.so.5 => not found
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7543000)
libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf7437000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf73f0000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf73d3000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7222000)
/lib/ld-linux.so.2 (0xf7776000)

commented

Hmm...

I found this similar issue, so we can try to rebuild Labeless with CFLAGS="-D_GLIBCXX_USE_CXX11_ABI=0"

I'll try in few days and let you know.

Nice! thank you!!

commented

Hey @smvicente,

Did the Labeless work before the gcc update?

I need do few more checks, could you send me the output of the following commands:
ldd -r /opt/ida-6.95/plugins/labeless_ida_690.plx
ldd -r /opt/ida-6.95/libprotobuf.so.9

Need to determine if protobuf requires rebuild too.

Hi @a1ext!

No, Labeless didn't work before the GCC update. In fact, that was the reason for me to update it :)

Find attached the output of those commands: output.txt

Thanks a lot!!

Hey @a1ext!

I can confirm it works! thank you so much!!

commented

You welcome :) Thanks for reporting a bug. Feel free to request new features and report bugs.

Hi!

Sorry for writing again here... It turns out that I had to downgrade to the official Ubuntu 14.04.5 GCC version so I can continue updating the Kernel to recent revisions... I was having problems with my custom one otherwise.

I'm leaving here the output of previous commands: labeless_output.txt

This is just in case something quick can be done, but if it takes more than 10 minutes then don't worry because I think I'll upgrade my system at some point in the near future so this should not be a problem anymore :)

Thank you!!

commented

Hi,
hmmm... problem in glibc ABI, as before. Don't think it could be solved quickly

Then don't worry, not important! I'll upgrade in some months so I can wait as I don't need Labeless everyday, although useful :)

Appreciate the response!

Best.

commented

As a solution, you could build it on your own, I'll post here instructions how to do this a bit later

Ok great!!