Bug 1574902

Summary: vglrun ERROR: ld.so: object 'libdlfaker.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored
Product: [Fedora] Fedora Reporter: Enrico Tagliavini <enrico.tagliavini>
Component: VirtualGLAssignee: Gary Gatling <gsgatlin>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 28CC: dkline, gsgatlin, sacntct
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: VirtualGL-2.5.2-1.fc27 VirtualGL-2.5.2-1.fc28 VirtualGL-2.5.2-1.el6 VirtualGL-2.5.2-1.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-06-07 11:49:45 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Enrico Tagliavini 2018-05-04 10:02:36 UTC
Description of problem:

Since the update to Fedora 28 vglrun cannot run 32bit applications (and possibly others as well), due to LD_PRELOAD failing as follows:

$ vglrun glxspheres
ERROR: ld.so: object 'libdlfaker.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object 'librrfaker.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
Polygons in scene: 62464 (61 spheres * 1024 polys/spheres)
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
Visual ID of window: 0x1ea
X Error of failed request:  GLXBadContext
  Major opcode of failed request:  153 (GLX)
  Minor opcode of failed request:  6 (X_GLXIsDirect)
  Serial number of failed request:  41
  Current serial number in output stream:  40

Same command on Fedora 27 works as expected. Timothy Redaelli (timothy in IRC) found the problem to be /usr/libexec/vglrun.vars* not to be executable any longer in the Fedora 28 package and are not source any longer from the vglrun script because of the following check it performs:

if [ -x "/usr/libexec/vglrun.vars64" ]; then
        . "/usr/libexec/vglrun.vars64"
fi
if [ -x "/usr/libexec/vglrun.vars32" ]; then
        . "/usr/libexec/vglrun.vars32"

Hence correct library path is not set when trying to execute 32 bit applications on 64 bit computers


Version-Release number of selected component (if applicable):
$ rpm -qa | grep VirtualGL
VirtualGL-2.4-11.fc28.i686
VirtualGL-2.4-11.fc28.x86_64


How reproducible:
Always


Steps to Reproduce:
1. Install Fedora 28 64 bit
2. Install VirtualGL.x86_64 and VirtualGL.i686
3. run vglrun glxspheres

Actual results:
Programs fail to start


Expected results:
Program should start without problems.


Additional info:
Timothy also gone ahead and created a fixed version of the package that can be used as a reference https://copr.fedorainfracloud.org/coprs/tredaell/VirtualGL/build/749118/

Note this also has the side effect of breaking a lot of Steam games when used with VirtualGL, such as in the case of bumblebee

Comment 1 Timothy Redaelli 2018-05-04 10:11:50 UTC
Hi,
I found 2 possible way to fix that:

1) change VirtualGL-redhatlibexecpathsfix.patch in order to don't check for executable bit (-x => -f).
This is the solution I used in my copr https://github.com/drizzt/fedora-specs/blob/master/VirtualGL/VirtualGL/VirtualGL-redhatlibexecpathsfix.patch

2) avoid rpm to remove -x to a file without a shebang, for example by putting
"%undefine __brp_mangle_shebangs" inside the spec file or (better) by using __brp_mangle_shebangs_exclude_from

Comment 2 Gary Gatling 2018-05-04 13:52:32 UTC
Hi. Thanks for the suggestion. I'm working on an update of VirtualGL in https://bugzilla.redhat.com/show_bug.cgi?id=1566666 to 2.5.2 so I'll probably need to use the first option to fix that up.

Comment 3 Fedora Update System 2018-05-29 15:28:54 UTC
VirtualGL-2.5.2-1.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-6e1094319a

Comment 4 Fedora Update System 2018-05-29 15:46:07 UTC
VirtualGL-2.5.2-1.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2018-de5c029de5

Comment 5 Fedora Update System 2018-05-29 15:57:44 UTC
VirtualGL-2.5.2-1.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2018-ab5f6eedc5

Comment 6 Fedora Update System 2018-05-29 16:03:36 UTC
VirtualGL-2.5.2-1.el6 has been submitted as an update to Fedora EPEL 6. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2018-03c630c551

Comment 7 Fedora Update System 2018-05-30 13:41:43 UTC
VirtualGL-2.5.2-1.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-de5c029de5

Comment 8 Fedora Update System 2018-05-30 15:02:18 UTC
VirtualGL-2.5.2-1.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2018-ab5f6eedc5

Comment 9 Fedora Update System 2018-05-30 15:10:12 UTC
VirtualGL-2.5.2-1.el6 has been pushed to the Fedora EPEL 6 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2018-03c630c551

Comment 10 Dave Kline 2018-05-30 15:20:32 UTC
The bodhi build seems to fix the issue on my F28 system. Thanks.

Comment 11 Fedora Update System 2018-05-30 16:55:38 UTC
VirtualGL-2.5.2-1.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-6e1094319a

Comment 12 Fedora Update System 2018-06-07 11:49:45 UTC
VirtualGL-2.5.2-1.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report.

Comment 13 Fedora Update System 2018-06-07 12:34:59 UTC
VirtualGL-2.5.2-1.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report.

Comment 14 Fedora Update System 2018-06-14 17:42:49 UTC
VirtualGL-2.5.2-1.el6 has been pushed to the Fedora EPEL 6 stable repository. If problems still persist, please make note of it in this bug report.

Comment 15 Fedora Update System 2018-06-14 19:52:29 UTC
VirtualGL-2.5.2-1.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report.