Bug 902421 - libsmbclient-devel demanding RUNPATH in pc file breaks programs also using libGL of Nvidia driver
libsmbclient-devel demanding RUNPATH in pc file breaks programs also using li...
Status: RESOLVED FIXED
Classification: openSUSE
Product: openSUSE 13.1
Classification: openSUSE
Component: Samba
Final
x86-64 openSUSE 13.1
: P5 - None : Normal (vote)
: ---
Assigned To: Lars Müller
The 'Opening Windows to a Wider World' guys
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2014-10-23 15:01 UTC by Joachim Banzhaf
Modified: 2015-12-18 20:11 UTC (History)
2 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Joachim Banzhaf 2014-10-23 15:01:42 UTC
I tested latest xbmc aka kodi on opensuse with latest Nvidia driver.

Symptom: kodi menus show no text.

Cause: 

Kodi links to libGL and libsmbclient.

There are 2 libGL.so on the system. One from Mesa in /usr/lib64 and one from Nvidia in /usr/X11R6/lib64

System linker usually finds the correct Nvidia libGL through definition in /etc/ld.so.conf.d

But not for Kodi (and maybe any other program that also uses libsmbclient) because /usr/lib64/pkgconfig/smbclient.pc demands these linker options: "-Wl,-rpath,/usr/lib64".

That looks wrong to me.

I removed the options from the pc file and kodi compiles and runs just fine. Menu text visible and samba functionality still available.

Can the options be removed systemwide or why are they in the pc file?

More details here: 
https://forums.opensuse.org/showthread.php/498989-13-1-NVIDIA-libGL-renderer-problem
http://forum.xbmc.org/showthread.php?tid=206976
http://trac.xbmc.org/ticket/15497
Comment 1 Joachim Banzhaf 2014-10-23 17:45:30 UTC
described the problem on the samba ml.
Comment 2 James McDonough 2015-01-20 09:43:09 UTC
Lars, can you take a look when you get a chance?

IIRC you have an nvidia adapter
Comment 3 Lars Müller 2015-01-20 19:22:48 UTC
https://lists.samba.org/archive/samba/2014-October/186204.html is the referenced mail.  Maybe this would better be posted to the samba-technical list instead.
Comment 4 Lars Müller 2015-07-05 16:01:46 UTC
Can you please check against the recent change against the
network:samba:STABLE/samba project from the openSUSE Build Service?

You need this change set:

Sun Jul  5 10:54:29 UTC 2015 - tchvatal@suse.com

- Disable rpath usage; (bnc#902421).
Comment 5 Joachim Banzhaf 2015-07-05 19:33:22 UTC
I would, but I dont know what you mean. I am not familiar with build service.

Check out and build some revision of samba client lib and kodi? Which source repos? Which revisions?
Dl some kodi rpm from a package repo?
Comment 6 Lars Müller 2015-07-05 20:02:20 UTC
Built packages for openSUSE 13.1 are available from
http://download.opensuse.org/repositories/network:/samba:/STABLE/openSUSE_13.1/

This is currently Samba 4.2.2 based.

If you don't like to move to a 4.2 based Samba release yet, I'll prepare
an update for openSUSE 13.1 and 13.2.
Comment 7 Lars Müller 2015-07-05 20:59:45 UTC
https://build.opensuse.org/project/show/home:lmuelle:branches:OBS_Maintained:samba
is the project which includes the required changes against the current
4.1 code base.

Please call

  osc getbinaries home:lmuelle:branches:OBS_Maintained:samba \
    samba.openSUSE_13.1_Update openSUSE_13.1_Update x86_64

to get the binaries.  That's required as publishing is disables by
default.

Please update, test, and report back.
Comment 9 Bernhard Wiedemann 2015-07-07 15:00:09 UTC
This is an autogenerated message for OBS integration:
This bug (902421) was mentioned in
https://build.opensuse.org/request/show/315479 Factory / samba
Comment 11 Lars Müller 2015-07-07 17:32:37 UTC
@Joachim: if your time permits please pull the packages from the
openSUSE Build Service project as described with comment#7

Please tell us if that doesn't work for you, in particular which part
fails or where you struggle.
Comment 12 Joachim Banzhaf 2015-07-07 20:24:56 UTC
Will test and report. But probably not possible until end of week.
Comment 13 Lars Müller 2015-07-07 22:09:47 UTC
I've tested it with success with the Nvidia driver on openSUSE 13.2 as
offered from the additional software repositories.

[download.nvidia.com-opensuse]
name=nVidia Graphics Drivers
baseurl=http://download.nvidia.com/opensuse/13.2/
Comment 15 Bernhard Wiedemann 2015-07-08 11:00:09 UTC
This is an autogenerated message for OBS integration:
This bug (902421) was mentioned in
https://build.opensuse.org/request/show/315558 Factory / samba
Comment 17 Bernhard Wiedemann 2015-07-08 14:00:08 UTC
This is an autogenerated message for OBS integration:
This bug (902421) was mentioned in
https://build.opensuse.org/request/show/315581 Factory / samba
Comment 19 Joachim Banzhaf 2015-07-08 21:48:33 UTC
job4:~ # osc getbinaries home:lmuelle:branches:OBS_Maintained:samba samba.openSUSE_13.1_Update openSUSE_13.1_Update x86_64

Your user account / password are not configured yet.
You will be asked for them below, and they will be stored in
/root/.oscrc for future use.

Creating osc configuration file /root/.oscrc ...
Username: joba1
Password: 
done
Server returned an error: HTTP Error 404: Not Found
home:lmuelle:branches:OBS_Maintained:samba

?
Comment 20 Lars Müller 2015-07-09 10:57:43 UTC
(In reply to Joachim Banzhaf from comment #19)
> job4:~ # osc getbinaries home:lmuelle:branches:OBS_Maintained:samba
> samba.openSUSE_13.1_Update openSUSE_13.1_Update x86_64

Strange.  I've copied your quoted command to one line and executed it.
The result is a binaries sub directory with 87 files in it.  83 are RPM
files and the remaining contain build environment information.  28 MB in
total.

> Your user account / password are not configured yet.
> You will be asked for them below, and they will be stored in
> /root/.oscrc for future use.

I did this as non root user.  But that should not make any difference.

I've enabled publishing for openSUSE_13.1_Update repository now and
packages are available from
http://download.opensuse.org/repositories/home:/lmuelle:/branches:/OBS_Maintained:/samba/openSUSE_13.1_Update/

Many thanks for your testing and patience!
Comment 21 Joachim Banzhaf 2015-07-13 06:46:50 UTC
No time for test so far, sorry, but I retried the obs command and this time it worked (didn't change anything since last time):

osc getbinaries home:lmuelle:branches:OBS_Maintained:samba samba.openSUSE_13.1_Update openSUSE_13.1_Update x86_64
Creating binaries
::import::i586::libdcerpc-atsvc0-32bit-4.1.19-3.40 100% |=========================| 182 kB    00:00     
...

Including the repo worked as well, so now is the question: what would be a proper test for you? My plan is:

* Uninstall (working) kodi.
* Build kodi from source rpm, install -> no text in kodi menus
* Update smb packages, especially -dev from new repo
* Build kodi from source rpm again -> text in kodi menus

> Many thanks for your testing and patience!

NP! I got (and still get) a lot from suse since V6.2. Only fair :)
Comment 22 Joachim Banzhaf 2015-07-13 23:46:59 UTC
ok, did the test, not with source rpm but with kodi from git, like before:

make clean
./configure
make
readelf --dynamic kodi.bin | grep PATH
 0x000000000000000f (RPATH)              Library rpath: [/usr/lib64]
 0x000000000000001d (RUNPATH)            Library runpath: [/usr/lib64]
./kodi.bin

-> no text in menus, as before. Expected.

Now switched packages to your repo with yast

Checked /usr/lib64/pkgconfig/smbclient.pc: -Wl,-rpath,/usr/lib64 is gone. Good.

Built again:
make clean
./configure
make
readelf --dynamic kodi.bin | grep PATH
./kodi.bin

-> no rpath/runpath, but text in menus.
 
So, as far as I'm concerned, this is fixed. Thank you :)
Comment 23 Lars Müller 2015-07-14 07:47:52 UTC
Thanks for the verification!

I'm not sure when we'll release an official update for openSUSE 13.1 and
13.2.  I have to chat with the openSUSE maintenance team first.
Comment 24 Bernhard Wiedemann 2015-07-14 21:00:13 UTC
This is an autogenerated message for OBS integration:
This bug (902421) was mentioned in
https://build.opensuse.org/request/show/316836 Factory / samba
Comment 25 Bernhard Wiedemann 2015-07-16 09:00:08 UTC
This is an autogenerated message for OBS integration:
This bug (902421) was mentioned in
https://build.opensuse.org/request/show/317042 13.2+13.1 / samba
Comment 26 Swamp Workflow Management 2015-07-28 09:07:48 UTC
openSUSE-RU-2015:1301-1: An update that has three recommended fixes can now be installed.

Category: recommended (important)
Bug References: 902421,931854,936909
CVE References: 
Sources used:
openSUSE 13.2 (src):    samba-4.1.19-11.1
openSUSE 13.1 (src):    samba-4.1.19-3.36.1
Comment 27 Bernhard Wiedemann 2015-10-13 15:00:51 UTC
This is an autogenerated message for OBS integration:
This bug (902421) was mentioned in
https://build.opensuse.org/request/show/338452 13.2+13.1 / samba
Comment 28 Swamp Workflow Management 2015-12-18 20:11:54 UTC
SUSE-SU-2015:2304-1: An update that solves 6 vulnerabilities and has 17 fixes is now available.

Category: security (important)
Bug References: 295284,773464,872912,901813,902421,910378,912457,913304,923374,931854,936909,939051,947552,949022,951660,953382,954658,958581,958582,958583,958584,958585,958586
CVE References: CVE-2015-3223,CVE-2015-5252,CVE-2015-5296,CVE-2015-5299,CVE-2015-5330,CVE-2015-8467
Sources used:
SUSE Linux Enterprise Software Development Kit 12 (src):    ldb-1.1.24-4.3.1, samba-4.1.12-18.3.1, talloc-2.1.5-3.4.1, tdb-1.3.8-2.3.1, tevent-0.9.26-3.3.1
SUSE Linux Enterprise Server 12 (src):    ldb-1.1.24-4.3.1, samba-4.1.12-18.3.1, talloc-2.1.5-3.4.1, tdb-1.3.8-2.3.1, tevent-0.9.26-3.3.1
SUSE Linux Enterprise Desktop 12 (src):    ldb-1.1.24-4.3.1, samba-4.1.12-18.3.1, talloc-2.1.5-3.4.1, tdb-1.3.8-2.3.1, tevent-0.9.26-3.3.1