Bug 18487 - Symbols not found starting Xorg: /usr/libexec/Xorg: undefined symbol: InitGlyphCaching
Summary: Symbols not found starting Xorg: /usr/libexec/Xorg: undefined symbol: InitGly...
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: All Linux
Priority: High critical
Target Milestone: ---
Assignee: Thierry Vignaud
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 18413
  Show dependency treegraph
 
Reported: 2016-05-19 08:37 CEST by Juan Magallon
Modified: 2016-05-20 13:22 CEST (History)
3 users (show)

See Also:
Source RPM: libxfont-1.5.1-4.mga6.src.rpm
CVE:
Status comment:


Attachments

Description Juan Magallon 2016-05-19 08:37:47 CEST
After the change to visibility=hidden, updated boxes cant start Xorg server
beacause it misses a symbol from this lib: InitGlyphCaching.

/usr/libexec/Xorg: symbol lookup error: /usr/libexec/Xorg: undefined symbol: InitGlyphCaching

Don't know if there would be others not correctly exported for visibility=hidden usage.
Comment 1 Marja Van Waes 2016-05-19 09:48:51 CEST
Assigning to all packagers collectively, since there is no maintainer for this package.

@ JA Magallón

In case I'm not the only one who doesn't understand:
What exactly do you mean with the following?

> the change to visibility=hidden

CC: (none) => marja11
Assignee: bugsquad => pkg-bugs

Comment 2 Juan Magallon 2016-05-19 10:25:16 CEST
From changelog:

* Wed May 18 2016 tv <tv> 1.5.1-4.mga6
+ Revision: 1016738
- patch 5: Use -fvisibility=hidden if available

That means that not all symbols in library are automagically exported,
so programs that link against it can use them, but only those marked
explicitly with something like:

__attribute__((visibility("default")))

Symbols missing this mark can not be found by library users.
In this case probably that attribute is missing for the not found function.

CC: (none) => jamagallon

Comment 3 Marja Van Waes 2016-05-19 12:05:58 CEST
(In reply to JA Magallón from comment #2)
> From changelog:
> 
> * Wed May 18 2016 tv <tv> 1.5.1-4.mga6
> + Revision: 1016738
> - patch 5: Use -fvisibility=hidden if available
> 
> That means that not all symbols in library are automagically exported,
> so programs that link against it can use them, but only those marked
> explicitly with something like:
> 
> __attribute__((visibility("default")))
> 
> Symbols missing this mark can not be found by library users.
> In this case probably that attribute is missing for the not found function.

Thx for explaining more. I just started my laptop and saw the lookup error, too.


Re-assigning to Thierry, even if anyone with time should feel free to fix it

Assignee: pkg-bugs => thierry.vignaud

Comment 4 Rémi Verschelde 2016-05-19 13:12:38 CEST
I can confirm the bug as Maât on IRC had the same issue. He rebuilt the libxfont SRPM without the patch that added -fvisibility=hidden, and Xorg works fine again.
Rémi Verschelde 2016-05-19 13:13:09 CEST

Priority: Normal => High
Severity: normal => critical

Comment 5 Rémi Verschelde 2016-05-19 13:23:41 CEST
List of packages that potentially need a rebuild:

$ urpmq --whatrequires lib64xfont-devel
bdftopcf
lib64xfont-devel
tigervnc
x11-driver-video-intel
x11-driver-video-qxl
x11-server
 
$ urpmq --whatrequires lib64xfont1
bdftopcf
lib64xfont-devel
lib64xfont1
lib64xorg-x11
tigervnc-server
x11-server-xdmx
x11-server-xephyr
x11-server-xfake
x11-server-xfbdev
x11-server-xnest
x11-server-xorg
x11-server-xvfb
x11-server-xwaylan

The BS is quite busy right now sadly :/
Rémi Verschelde 2016-05-19 13:23:59 CEST

Summary: Symbols not found starting Xorg => Symbols not found starting Xorg: /usr/libexec/Xorg: undefined symbol: InitGlyphCaching

Comment 6 Rémi Verschelde 2016-05-19 17:24:21 CEST
Shlomi reverted the problematic path in libxfont-1.5.1-5.mga6, which is currently building on the BS.

I'm not sure it's the good fix, a rebuild of the packages mentioned in comment 5 might have been better, but at least it will unbreak cauldron. We can always readd the patch and make a proper rebuild if need be.
Marja Van Waes 2016-05-19 19:46:29 CEST

Blocks: (none) => 18413

Comment 7 Thierry Vignaud 2016-05-19 20:48:47 CEST
This is fine like this

Status: NEW => RESOLVED
Resolution: (none) => FIXED

Comment 8 Juan Magallon 2016-05-20 09:51:39 CEST
But if the problem is a non-exported symbol, a rebuild of the _users_ will not
fix it. It is not an API change....
Comment 9 Rémi Verschelde 2016-05-20 12:25:03 CEST
For future reference, it seems x11-server failed to build on yesterday's autobuild:
http://pkgsubmit.mageia.org/autobuild/cauldron/x86_64/core/2016-05-19/x11-server-1.18.3-7.mga6.src.rpm/build.0.20160519092752.log
It was using the problematic libxfont-1.5.1-4.mga6: http://pkgsubmit.mageia.org/autobuild/cauldron/x86_64/core/2016-05-19/x11-server-1.18.3-7.mga6.src.rpm/install_deps-1.0.20160519092752.log

So reverting the patch was indeed the best solution. As it looked like an upstream patch, we should keep this in mind for the next upgrade.
Comment 10 Otto Leipälä 2016-05-20 12:46:17 CEST
Don't forget that this will affect to network install isos too.

CC: (none) => ozkyster

Comment 11 Marja Van Waes 2016-05-20 13:09:53 CEST
(In reply to Otto Leipälä from comment #10)
> Don't forget that this will affect to network install isos too.

Yeah, they pulled in a broken stage2

Thierry just fixed that, new drakx-installer-stage2 was built with the correct libxfont and stage2 mdkinst.sqfs is available

http://distrib-coffee.ipsl.jussieu.fr/pub/linux/Mageia/distrib/cauldron/i586/install/stage2/
Comment 12 Otto Leipälä 2016-05-20 13:22:01 CEST
Thanks marja and awesome job thierry works now. :)

Note You need to log in before you can comment on or make changes to this bug.