Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 55916 - libgdiplus-1.0 is MISSING one File ( libgdiplus.dll.so ) after compilation ...
Summary: libgdiplus-1.0 is MISSING one File ( libgdiplus.dll.so ) after compilation ...
Status: VERIFIED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: x86 Linux
: High blocker (vote)
Assignee: dotnet
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-07-02 15:01 UTC by Robert R. Richter
Modified: 2005-04-23 18:18 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
Fixed libgdiplus ebuild (libgdiplus-1.0-r1.ebuild,1.24 KB, text/plain)
2004-07-02 17:58 UTC, Peter Johanson (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Robert R. Richter 2004-07-02 15:01:00 UTC
libgdiplus-0.10 with mono-0.97 made no problems...
...BUT now I switched to Mono 1.0 Final and libgdiplus-1.0 and got an error
System.TypeInitializationException: An exception was thrown by the type initializer for System.Drawing.GDIPlus ---> System.DllNotFoundException: gdiplus.dll
in any of my .NET-Applications using libgdiplus.

I found out that (after the emerge of mono-1.0 and libgdiplus-1.0) libgdiplus.dll.so is *MISSING* in /usr/lib


Reproducible: Always
Steps to Reproduce:
1. unmerge mono <= 0.97 and libgdiplus <= 0.10 if present. 
2. emerge mono-1.0 and libgdiplus-1.0
3. check /usr/lib for libgdiplus.dll.so (File is **MISSING**)

Actual Results:  
libgdiplus.dll.so is **MISSING** in /usr/lib


Expected Results:  
The presence of libgdiplus.dll.so in /usr/lib

Portage 2.0.50-r8 (default-x86-2004.0, gcc-3.3.3, glibc-2.3.3.20040420-r0,
2.6.7-gentoo-r6)
=================================================================
System uname: 2.6.7-gentoo-r6 i686 Pentium III (Coppermine)
Gentoo Base System version 1.5.1
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.5-r1
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O2 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref
/usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="http://gentoo.oregonstate.edu
http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X alsa apm arts avi berkdb cdr crypt cups dvd encode esd foomaticdb gdbm
gif gnome gpm gtk gtk2 gtkhtml imlib jpeg kde libg++ libwww mad mikmod motif
mozilla mpeg mysql ncurses nls oggvorbis opengl oss pam pdflib perl png python
qt quicktime readline sdl slang spell ssl svga tcpd truetype x86 xml2 xmms xv zlib"
Comment 1 Peter Johanson (RETIRED) gentoo-dev 2004-07-02 15:22:58 UTC
Umm... when was this file ever around?

Can you explain to me what problems you are experiencing, not just what file you think is missing? The libgdiplus RPMs don't have this file, so it's not like we're missing something that should be there. The basic System.Drawing example in the gtk-sharp sample/ directory works fine for me still, so can you please provide a simple test case that causes the error you posted?
Comment 2 Robert R. Richter 2004-07-02 16:15:50 UTC
I have never used the gtk-sharp samples, but if I am using the System.Drawing.Bitmap and System.Drawing.Image APIs, I receive this error: System.TypeInitializationException: An exception was thrown by the type initializer for System.Drawing.GDIPlus ---> System.DllNotFoundException: gdiplus.dll

Sample Code: hmm - I am using this APIs in the code of my Content Management System (WebApplication), so it's not easy to cut out some lines of code, cause this code is working in one of my custom webcontrols ... - hmm, the following lines are not a working sample, but you should be able to see what APIs are causing the error ... - BTW: this Code works perfectly on mono-0.97 and libgdiplus-0.10 and I didn't changed a single line of code, I only upgraded to mono-1.0 and libgdiplus-1.0 ...

Fragmented Code Example (Picture Resize Functions):
----------------------------------------------------------------------
				myImageCheck = new System.Drawing.Bitmap(myPicture.PostedFile.InputStream);
				if ((myImageCheck.Size.Width > xSize) || (myImageCheck.Size.Height > ySize))
				{
					//myPicisOK = false; CHANGED for Image-Resizing ** EXPERIMENTAL **
					myCallback = new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);
					myOriginalImage = new System.Drawing.Bitmap(myImageCheck);
					if ((myImageCheck.Size.Width > myImageCheck.Size.Height) && (myImageCheck.Size.Width != myImageCheck.Size.Height))
					{
						switch(xSize)
						{
							case 300:
								Scale2X = 300;
								Scale2Y = 200;
								break;
							case 150:
								Scale2X = 150;
								Scale2Y = 100;
								break;
							case 600:
								Scale2X = 600;
								Scale2Y = 300;
								break;
						}
					}
					if ((myImageCheck.Size.Width < myImageCheck.Size.Height) && (myImageCheck.Size.Width != myImageCheck.Size.Height))
					{
						switch(ySize)
						{
							case 300:
								Scale2X = 200;
								Scale2Y = 300;
								break;
							case 150:
								Scale2X = 100;
								Scale2Y = 150;
								break;
							case 600:
								Scale2X = 300;
								Scale2Y = 600;
								break;
						}
					}
					myScaledImage = myOriginalImage.GetThumbnailImage(Scale2X, Scale2Y, myCallback, IntPtr.Zero);
					switch(myImageType)
					{
						case ".jpg":
							myScaledImage.Save(mypostedFile, System.Drawing.Imaging.ImageFormat.Jpeg);
							break;
						case ".gif":
							myScaledImage.Save(mypostedFile, System.Drawing.Imaging.ImageFormat.Gif);
							break;
					}

----------------------------------------------------------------------

		private bool ThumbnailCallback()
		{
			return false;
		}

----------------------------------------------------------------------
Comment 3 Peter Johanson (RETIRED) gentoo-dev 2004-07-02 16:26:55 UTC
Okay, i've been experimenting with this, and i've been able both to reproduce your problem, and find a very odd way to work around it.

Using the small sample from here: http://www.vlad1.com/~vladimir/blog/archive/2004/Apr-07.html

I got the same error... Adding a call to Gtk.Application.Init() at the beginning made the dll error disappear though. I'm looking into it further now.
Comment 4 Robert R. Richter 2004-07-02 16:37:10 UTC
I have also a SuSE 9.0 Server up and running and I have installed all Mono-1.0 RPMs for SuSE 9.0 and my code runs fine under SuSE!

So I don't think it is a bug on mono-1.0 or libgdiplus-1.0 ...

The SuSE Server has a file under /usr/lib called libgdiplus.dll.so, so I think this might be the problem (missing under Gentoo) ..?
Comment 5 Peter Johanson (RETIRED) gentoo-dev 2004-07-02 17:58:59 UTC
Created attachment 34682 [details]
Fixed libgdiplus ebuild

Okay, please test this ebuild. There was a libtool problem, causing the
libgdiplus.so not to be linked properly.

As a resulted shared libs were f*cked, etc, etc. Please test ASAP and i will
get this into the tree.
Comment 6 Robert R. Richter 2004-07-02 18:52:34 UTC
Your attached EBuild works perfectly - Excellent Job! Please put it into the Tree!

...and THANK YOU - you 've saved my day :) !
Comment 7 Peter Johanson (RETIRED) gentoo-dev 2004-07-02 18:59:49 UTC
no problem. Just added the ebuild (with revision bump to make sure people get the fix). marking FIXED.
Comment 8 Robert R. Richter 2005-04-23 18:18:07 UTC
bug closed as it has been fixed and tested