Trying to rebuild media-sound/pavucontrol or any other package that uses dev-cpp/cairomm (like pulseeffects) will fail with:

/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/../../../../lib64/libcairomm-1.0.so: undefined reference to `cairo_script_create'

and a bunch of other "undefined reference" errors in libcairomm-1.0.so. I don't know what broke cairomm. But I thought revdep-rebuild would catch this. It doesn't.

Now this is a rebuild of pavucontrol, so if I run:

  ldd -r /usr/bin/pavucontrol

I will get:

undefined symbol: cairo_script_create_for_stream (/usr/lib64/libcairomm-1.0.so.1)
  undefined symbol: cairo_script_set_mode (/usr/lib64/libcairomm-1.0.so.1)
undefined symbol: cairo_script_surface_create (/usr/lib64/libcairomm-1.0.so.1) undefined symbol: cairo_script_from_recording_surface (/usr/lib64/libcairomm-1.0.so.1)
  undefined symbol: cairo_script_create   (/usr/lib64/libcairomm-1.0.so.1)
undefined symbol: cairo_script_surface_create_for_target (/usr/lib64/libcairomm-1.0.so.1)
  undefined symbol: cairo_script_get_mode (/usr/lib64/libcairomm-1.0.so.1)
undefined symbol: cairo_script_write_comment (/usr/lib64/libcairomm-1.0.so.1)

If I rebuild dev-cpp/cairomm manually (emerge -1 dev-cpp/cairomm), the error goes away, and the affected packages can now be emerged successfully.

Shouldn't revdep-rebuild catch this problem? Shouldn't it check installed binaries for "undefined symbol" errors?


Reply via email to