question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

glibc DSO patch causes "Relink `/usr/lib/x86_64-linux-gnu/libpixman-1.so.0' with `/lib/x86_64-linux-gnu/libm.so.6' for IFUNC symbol `sin'" error

See original GitHub issue

Way to reproduce:

docker run --rm -ti -u root adamrehn/ue4-build-prerequisites:opengl /bin/sh -c 'apt-get update && apt-get install -y libappindicator3-1 libasound2 libatk-bridge2.0-0 libatk1.0-0 libatspi2.0-0 libc6 libcairo2 libcap2 libcups2 libdrm2 libevdev2 libexpat1 libfontconfig1 libfreetype6 libgbm1 libglib2.0-0 libgtk-3-0 libnss3 libpam0g libpango-1.0-0 libpci3 libpcre3 libpixman-1-0 libspeechd2 libsqlite3-0 libstdc++6 libuuid1 libwayland-egl1-mesa libx11-6 libx11-xcb1 libxau6 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxdmcp6 libxext6 libxfixes3 libxi6 libxinerama1 libxkbcommon-dev libxrandr2 libxrender1 libxtst6 zlib1g'

If this command is ran against ue4-build-prerequisites built WITHOUT --opt enable_dso_patch, it finishes successfully.

If this command is ran against ue4-build-prerequisites built WITH --opt enable_dso_patch, it fails with:

Setting up libgdk-pixbuf2.0-0:amd64 (2.36.11-2) ...
/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders: Relink `/usr/lib/x86_64-linux-gnu/libpixman-1.so.0' with `/lib/x86_64-linux-gnu/libm.so.6' for IFUNC symbol `sin'
Segmentation fault

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:13

github_iconTop GitHub Comments

1reaction
jamoflawcommented, Aug 11, 2022

Ahh I bet it’s cus I’m just downgrading libc6 rather than each individual, thanks! That will save 4 hours each time I have to recompile it!

0reactions
ibblescommented, Oct 1, 2022

To fix my broken GTK applications on Ubuntu 20.04 I ran the following, based on SonnyPoint’s preload suggestion above.

sudo LD_PRELOAD=/lib/x86_64-linux-gnu/libm.so.6 /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders --update-cache

After this I could open e.g. eog again.

Read more comments on GitHub >

github_iconTop Results From Across the Web

glibc: [RFE] Improve performance of dynamic loader for deeply ...
Bug 1162810 - glibc: [RFE] Improve performance of dynamic loader for deeply nested DSO dependencies. Summary: glibc: [RFE] Improve performance of dynamic loader ......
Read more >
Error on runtime: relink `/usr/lib/libgcc_s.so.1' with `/usr/glibc ...
I try to install Oracle 12c on Alpine using glibc-2.25-r1 and found this problem. bash-4.3# /u01/app/oracle/product/12.1.0/xe/perl/bin/perl ...
Read more >
LD_PRELOAD doesn't work with non-lazy binding and IFUNC
This is the well-known issue caused by the interaction of IFUNC resolvers and symbol interposition.
Read more >
[AUR]glibc-dso breaks the system : r/archlinux - Reddit
This is mostly PSA. I am the maintainer of said AUR package. Mainline Arch updated the glibc package to 2.35 which does include...
Read more >
Brandon Schaefer on Twitter: "finally testing a new glibc patch ...
finally testing a new glibc patch that has taken over 7+ years to get into ... down to 8-20s. maybe we are loading...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found