Bug 944754

Summary: libgdiplus0 doesn't contain symlink libgdiplus.so
Product: [openSUSE] openSUSE Distribution Reporter: Forgotten User D1iyT-pJBu <forgotten_D1iyT-pJBu>
Component: OtherAssignee: Matthias Mailänder <matthias>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: matthias, Ulrich.Windl
Version: 13.2   
Target Milestone: ---   
Hardware: x86-64   
OS: openSUSE 13.2   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Forgotten User D1iyT-pJBu 2015-09-07 14:37:32 UTC
User-Agent:       Mozilla/5.0 (X11; Linux x86_64; rv:40.0) Gecko/20100101 Firefox/40.0
Build Identifier: 

The package:

Repository: openSUSE-13.2-Oss
Name: libgdiplus0
Version: 3.8-1.2
Arch: x86_64
Vendor: openSUSE
Installed: Yes
Status: up-to-date
Installed Size: 424.1 KiB
Summary: Open Source Implementation of the GDI+ API

Contains:

/usr/lib64/libgdiplus.so.0
/usr/lib64/libgdiplus.so.0.0.0
/usr/share/doc/packages/libgdiplus0
/usr/share/doc/packages/libgdiplus0/AUTHORS
/usr/share/doc/packages/libgdiplus0/COPYING
/usr/share/doc/packages/libgdiplus0/ChangeLog
/usr/share/doc/packages/libgdiplus0/NEWS
/usr/share/doc/packages/libgdiplus0/README

but not the symlink for

/usr/lib64/libgdiplus.so

which is required to start applications with it.

Reproducible: Always

Steps to Reproduce:
1. Install library
2. Run application that uses it.
Actual Results:  
Application crashes with DLL not found error.

Expected Results:  
With the symlinked file (.so) the application starts normally.
Comment 1 Stephan Kulow 2015-09-07 15:04:23 UTC
What application would that be? the .so link is correctly in the -devel package
Comment 2 Forgotten User D1iyT-pJBu 2015-09-07 16:29:26 UTC
The application was AirVPN's client.

I don't remember how it was installed, but apparently it installed "mono" through OpenSUSE? Oh right, here is the RPM:

https://airvpn.org/repository/2.10/airvpn_linux_x64_rpm.rpm

In any case I don't see what it has to do with the package.
Comment 3 Forgotten User D1iyT-pJBu 2015-09-07 16:34:48 UTC
Here is their page on it:

https://airvpn.org/topic/11573-opensuse/

They wrote:

"It was a "notorious" bug in openSUSE libgdiplus installation that's been documented by us a long time ago."
Comment 4 Matthias Mailänder 2015-09-07 18:16:19 UTC
I regret fixing the rpmlint warning by putting libgdiplus.so in the -devel package. In practice the DllImport all seem to reference libgdiplus.so so you need to fix every package with Requires: libgdiplus-devel which triggers another rpmlint warning (non-devel package requiring devel package) so well no win only incompatibility. That is what we did in our Mono repositories. The hint to sudo ln -s /usr/lib64/libgdiplus.so.0 /usr/lib64/libgdiplus.so in that forum is terrible. Just install libgdiplus-devel please.
Comment 5 Forgotten User D1iyT-pJBu 2015-09-07 18:34:35 UTC
I'm just one ordinary user who happens to know that .so.0 files are often symlinked to .so files.

I don't think installing -devel packages when you don't need to compile anything is such a good idea, but that's just me. In any case the symlink is something I was able to resolve by myself, I would never have come up with checking a -devel package.

So I did by myself what that page also suggested. I'm not responsible for that page but I would have offered the same advice. It quickly fixes the situation for a user, I'm sorry to hear that the real solution also produces warnings and errors.

Regards..
Comment 6 Matthias Mailänder 2015-09-07 18:47:46 UTC
The correct fix would be submitting a patch towards Mono to reference libgdiplus.so.0 instead in the System.Imaging framework class. It hasn't been a problem in practice, because GDI+ reimplementation is pretty stall and there don't seem to be ABI changes planned, but it would be the proper way to solve it.
Comment 7 Forgotten User D1iyT-pJBu 2015-09-07 19:17:39 UTC
If you say so.
Comment 8 Chenzi Cao 2015-09-25 08:57:02 UTC
Hi Matthias, so would you like to fix this issue please?
Comment 9 Matthias Mailänder 2015-09-26 06:35:29 UTC
I informed upstream at https://bugzilla.xamarin.com/show_bug.cgi?id=34314 about the problem. There may be a reason they did things this way.
Comment 11 Matthias Mailänder 2016-01-03 21:41:04 UTC
I submitted a patch on my own: https://build.opensuse.org/request/show/351820
Comment 12 Matthias Mailänder 2016-02-08 19:00:18 UTC
https://build.opensuse.org/request/show/352724 has been accepted last month.
Comment 13 Matthias Mailänder 2016-02-08 19:01:21 UTC
*** Bug 965504 has been marked as a duplicate of this bug. ***