FS#54845 - [xf86-video-nouveau] undefined symbol 'exaDriverAlloc'

Attached to Project: Arch Linux
Opened by Jerome (sinatosk) - Monday, 17 July 2017, 06:36 GMT
Last edited by Laurent Carlier (lordheavy) - Friday, 11 August 2017, 09:53 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Jan de Groot (JGC)
Andreas Radke (AndyRTR)
Lukas Fleischer (lfleischer)
Laurent Carlier (lordheavy)
Architecture All
Severity High
Priority Urgent
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No


Description: since pacman 5.0.2-2. I've recompiled xorg-server, xf86-input-libinput and xf86-video-nouveau packages using makechrootpkg and when I attempt to start X server using "startx" command ( I don't use a display manager ), There is an error in the Xorg.0.log saying undefined symbol 'exaDriverAlloc'

going back to the previous settings in makepkg.conf by removing "-fno-plt" from CFLAGS and CXXFLAGS and ",-z,now" from LDFLAGS and recompiling the xf86-video-nouveau package, X starts fine even though xorg-server is still compiled with the new pacman 5.0.2-2 changes

Additional info:
* package version(s)
* config and/or log files etc.
parts from makepkg.conf BEFORE 5.0.2-2 update

CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong"
CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong"

parts from makepkg.conf AFTER 5.0.2-2 update

CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt"
CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt"

parts from Xorg.0.log

[ 21220.550] (II) LoadModule: "nouveau"
[ 21220.550] (II) Loading /usr/lib/xorg/modules/drivers/nouveau_drv.so
[ 21220.550] (EE) Failed to load /usr/lib/xorg/modules/drivers/nouveau_drv.so: /usr/lib/xorg/modules/drivers/nouveau_drv.so: undefined symbol: exaDriverAlloc
[ 21220.550] (II) UnloadModule: "nouveau"
[ 21220.550] (II) Unloading nouveau
[ 21220.550] (EE) Failed to load module "nouveau" (loader failed, 7)
[ 21220.550] (EE) No drivers available.
[ 21220.550] (EE)
Fatal server error:
[ 21220.550] (EE) no screens found(EE)
[ 21220.550] (EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
[ 21220.550] (EE) Please also check the log file at "/home/user/.local/share/xorg/Xorg.0.log" for additional information.
[ 21220.550] (EE)
[ 21220.587] (EE) Server terminated with error (1). Closing log file.

Steps to reproduce:

compile xorg-server and xf86-video-nouveau with pacman 5.0.2-2 default settings in makepkg.conf

CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt"
CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt"

start X ( I used the command "startx" ) and this is where it fails to start. Look in your Xorg log file and you should see an error saying

(EE) Failed to load /usr/lib/xorg/modules/drivers/nouveau_drv.so: /usr/lib/xorg/modules/drivers/nouveau_drv.so: undefined symbol: exaDriverAlloc

recompile xf86-video-nouveau with default settings before pacman 5.0.2-2 in makepkg.conf

CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong"
CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong"

starting X works fine
This task depends upon

Closed by  Laurent Carlier (lordheavy)
Friday, 11 August 2017, 09:53 GMT
Reason for closing:  Fixed
Comment by Jerome (sinatosk) - Monday, 17 July 2017, 06:38 GMT
I forgot to add, I used both makechrootpkg and makepkg and had the same effect

and contents from file /etc/xorg.conf

Section "ServerLayout"
Identifier "MainLayout"
Screen 0 "MainScreen" 0 0
Option "Xinerama" "0"

Section "Monitor"
Identifier "Laptop"
Option "Primary" "true"
Option "DPMS" "false"

Section "Device"
Identifier "VideoDevice0"
Driver "nouveau"
VendorName "Nvidia"
BoardName "Quadro K4000M"
Option "Monitor-LVDS-1" "Laptop"

Section "Screen"
Identifier "MainScreen"
Device "VideoDevice0"
Monitor "Laptop"
DefaultDepth 24
SubSection "Display"
Depth 24
Comment by Doug Newgard (Scimmia) - Monday, 17 July 2017, 13:20 GMT
So the package in Extra is fine?
Comment by Eli Schwartz (eschwartz) - Monday, 17 July 2017, 13:49 GMT
I should think so... if this is still a problem with the next version of xf86 drivers I'm sure [testing] will catch it immediately. Until then, why import trouble?
Comment by Jan de Groot (JGC) - Thursday, 20 July 2017, 11:59 GMT
X.org and drivers cannot use "-z now" in LDFLAGS. Fedora disables hardened build for Xorg and all drivers, so we should consider removing -z now from LDFLAGS when building X and drivers.
Comment by Arek R. (frosth) - Tuesday, 01 August 2017, 08:28 GMT
and Intel and Amdgpu is affected too:

from xorg.log:
[ 345.170] (EE) Failed to load /usr/lib/xorg/modules/drivers/intel_drv.so: /usr/lib/xorg/modules/drivers/intel_drv.so: undefined symbol: vgaHWFreeHWRec
[ 345.171] (EE) Failed to load /usr/lib/xorg/modules/drivers/amdgpu_drv.so: /usr/lib/xorg/modules/drivers/amdgpu_drv.so: undefined symbol: fbImageGlyphBlt

without -z,now in LDFLAGS and -fplt in CFLAGS works good.
Comment by Jan de Groot (JGC) - Friday, 11 August 2017, 05:11 GMT
  • Field changed: Priority (Normal → Urgent)
xf86-video-intel was updated in the meanwhile, it's broken now.
Comment by Laurent Carlier (lordheavy) - Friday, 11 August 2017, 06:58 GMT
I will rebuild all xf86-video drivers with -fno-plt and -z,now filtered out and a proper comment