Bug 426519 - missing link ln -s libgdiplus.so.0.0.0 libgdiplus.so
missing link ln -s libgdiplus.so.0.0.0 libgdiplus.so
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: mono (Show other bugs)
10
i686 Linux
low Severity low
: ---
: ---
Assigned To: Paul F. Johnson
Fedora Extras Quality Assurance
:
: 380131 (view as bug list)
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2007-12-21 14:05 EST by Landon Kelsey
Modified: 2009-03-25 17:40 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-03-25 17:40:51 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
mono Form1.exe>xxx (104.93 KB, application/octet-stream)
2007-12-21 14:05 EST, Landon Kelsey
no flags Details

  None (edit)
Description Landon Kelsey 2007-12-21 14:05:37 EST
Description of problem:       run time error


Version-Release number of selected component (if applicable):

>>>>>>yum says I am up to date on everything
LMKIII (root) /usr/lib [1012]>rpm -qa|grep -i mono
mono-data-firebird-1.2.5.1-3.fc8
mono-core-1.2.5.1-3.fc8
mono-extras-1.2.5.1-3.fc8
mono-data-postgresql-1.2.5.1-3.fc8
mono-locale-extras-1.2.5.1-3.fc8
mono-debugger-devel-0.31-2.fc7
mono-web-1.2.5.1-3.fc8
monodoc-1.2.3-1.fc7
monodoc-devel-1.2.3-1.fc7
mono-devel-1.2.5.1-3.fc8
monodevelop-devel-0.13.1-1.fc7
mono-data-oracle-1.2.5.1-3.fc8
mono-debugger-0.31-2.fc7
mono-data-sqlite-1.2.5.1-3.fc8
mono-data-sybase-1.2.5.1-3.fc8
mono-nunit-devel-1.2.5.1-3.fc8
monotone-server-0.37-3.fc8
mono-winforms-1.2.5.1-3.fc8
mono-jscript-1.2.5.1-3.fc8
monodevelop-0.13.1-1.fc7
mono-nunit-1.2.5.1-3.fc8
mono-data-1.2.5.1-3.fc8
monotone-0.37-3.fc8
You have new mail in /var/spool/mail/root
LMKIII (root) /usr/lib [1013]>                             

How reproducible:

  919  gmcs Form1.cs -r:System.Windows.Forms -r:System.Drawing -r:System.Data
  920  mono Form1.exe
  921  mono Form1.exe>xxx

Steps to Reproduce:
1. 919 and 920 above
2.
3.
  
Actual results: massive runtime error


Expected results: no runtime error

I partially fixed the problem (I get a calculator dialog) with 
LMKIII (root) /var/www/html [1008]>cd /usr/lib
LMKIII (root) /usr/lib [1009]>lsa|grep -i gdi
lrwxrwxrwx   1 root root       22 2007-11-26 20:15 libgdict-1.0.so.5 ->
libgdict-1.0.so.5.0.15*
-rwxr-xr-x   1 root root   150084 2007-11-16 17:05 libgdict-1.0.so.5.0.15*
lrwxrwxrwx   1 root root       19 2007-11-09 10:39 libgdiplus.so.0 ->
libgdiplus.so.0.0.0*
-rwxr-xr-x   1 root root   867860 2007-10-11 18:45 libgdiplus.so.0.0.0*
LMKIII (root) /usr/lib [1010]>ln -s libgdiplus.so.0.0.0 libgdiplus.so
LMKIII (root) /usr/lib [1011]>lsa|grep -i gdi
lrwxrwxrwx   1 root root       22 2007-11-26 20:15 libgdict-1.0.so.5 ->
libgdict-1.0.so.5.0.15*
-rwxr-xr-x   1 root root   150084 2007-11-16 17:05 libgdict-1.0.so.5.0.15*
lrwxrwxrwx   1 root root       19 2007-12-21 12:24 libgdiplus.so ->
libgdiplus.so.0.0.0*
lrwxrwxrwx   1 root root       19 2007-11-09 10:39 libgdiplus.so.0 ->
libgdiplus.so.0.0.0*
-rwxr-xr-x   1 root root   867860 2007-10-11 18:45 libgdiplus.so.0.0.0*

I am told that the following are also necessary:

  898  export MONO_LOG_LEVEL=info
  899  export MONO_LOG_MASK=dll



Additional info: after partial fix:

mono Form1.exe>xxx           produces:

(Form1.exe:4687): Mono-WARNING **: DllImport unable to load library
'lib/System/Library/Frameworks/Carbon.framework/Versions/Current/Carbon: cannot
open shared object file: No such file or directory'.

(Form1.exe:4687): Mono-WARNING **: DllImport unable to load library 'libgdi32:
cannot open shared object file: No such file or directory'.

(Form1.exe:4687): Mono-WARNING **: DllImport unable to load library 'libgdi32:
cannot open shared object file: No such file or directory'.

(Form1.exe:4687): Mono-WARNING **: DllImport unable to load library 'libgdi32:
cannot open shared object file: No such file or directory'.

(Form1.exe:4687): Mono-WARNING **: DllImport unable to load library 'libgdi32:
cannot open shared object file: No such file or directory'.

(Form1.exe:4687): Mono-WARNING **: DllImport unable to load library 'libgdi32:
cannot open shared object file: No such file or directory'.

(Form1.exe:4687): Mono-WARNING **: DllImport unable to load library 'libgdi32:
cannot open shared object file: No such file or directory'.

(Form1.exe:4687): Mono-WARNING **: DllImport unable to load library 'libuxtheme:
cannot open shared object file: No such file or directory'.

(Form1.exe:4687): Mono-WARNING **: DllImport unable to load library 'libuxtheme:
cannot open shared object file: No such file or directory'.
Comment 1 Landon Kelsey 2007-12-21 14:05:37 EST
Created attachment 290254 [details]
mono Form1.exe>xxx
Comment 2 Landon Kelsey 2007-12-21 14:07:07 EST
here attached find Form1.cs
Comment 3 Landon Kelsey 2007-12-21 14:15:14 EST
This worked under F7.

how do I attach Form1.cs at this point?

here it is anyway:
[landon4@LMKIII c#]$ cat Form1.cs
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace calculator
{
        /// <summary>
        /// Summary description for Form1.
        /// </summary>
        public class Form1 : System.Windows.Forms.Form
        {
                private System.Windows.Forms.TextBox textBox1;
                private System.Windows.Forms.TextBox textBox2;
                private System.Windows.Forms.TextBox textBox3;
                private System.Windows.Forms.Button button1;
                /// <summary>
                /// Required designer variable.
                /// </summary>
                private System.ComponentModel.Container components = null;

                public Form1()
                {
                        //
                        // Required for Windows Form Designer support
                        //
                        InitializeComponent();

                        //
                        // TODO: Add any constructor code after
InitializeComponent call
                        //
                }

                /// <summary>
                /// Clean up any resources being used.
                /// </summary>
                protected override void Dispose( bool disposing )
                {
                        if( disposing )
                        {
                                if (components != null)
                                {
                                        components.Dispose();
                                }
                        }
                        base.Dispose( disposing );
                }

                #region Windows Form Designer generated code
                /// <summary>
                /// Required method for Designer support - do not modify
                /// the contents of this method with the code editor.
                /// </summary>
                private void InitializeComponent()
                {
                        this.textBox1 = new System.Windows.Forms.TextBox();
                        this.textBox2 = new System.Windows.Forms.TextBox();
                        this.textBox3 = new System.Windows.Forms.TextBox();
                        this.button1 = new System.Windows.Forms.Button();
                        this.SuspendLayout();
                        //
                        // textBox1
                        //
                        this.textBox1.Location = new System.Drawing.Point(88, 24);
                        this.textBox1.Name = "textBox1";
                        this.textBox1.TabIndex = 0;
                        this.textBox1.Text = "";
                        //
                        // textBox2
                        //
                        this.textBox2.Location = new System.Drawing.Point(88, 80);
                        this.textBox2.Name = "textBox2";
                        this.textBox2.TabIndex = 1;
                        this.textBox2.Text = "";
                        //
                        // textBox3
                        //
                        this.textBox3.Location = new System.Drawing.Point(88, 136);
                        this.textBox3.Name = "textBox3";
                        this.textBox3.TabIndex = 2;
                        this.textBox3.Text = "";
                        //
                        // button1
                        //
                        this.button1.Location = new System.Drawing.Point(112, 200);
                        this.button1.Name = "button1";
                        this.button1.TabIndex = 3;
                        this.button1.Text = "Add";
                        this.button1.Click += new
System.EventHandler(this.button1_Click);
                        //
                        // Form1
                        //
                        this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
                        this.ClientSize = new System.Drawing.Size(292, 273);
                        this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                                                               
                                                        this.button1,
                                                                               
                                                        this.textBox3,
                                                                               
                                                        this.textBox2,
                                                                               
                                                        this.textBox1});
                        this.Name = "Form1";
                        this.Text = "Form1";
                        this.ResumeLayout(false);

                }
                #endregion

                /// <summary>
                /// The main entry point for the application.
                /// </summary>
                [STAThread]
                static void Main()
                {
                        Application.Run(new Form1());
                }

                private void button1_Click(object sender, System.EventArgs e)
                {
                        double a1 = Convert.ToDouble(textBox1.Text);
                        double a2 = Convert.ToDouble(textBox2.Text);
                        double asum = a1 + a2;
                        textBox3.Text = asum.ToString();
                }
        }
}


Comment 4 Matthias Clasen 2008-02-02 09:39:16 EST
Looks like the same issue as bug 380131
Comment 5 Landon Kelsey 2008-02-02 12:59:10 EST
who handles mono preparation for mono updates?

again: the link I installed on my computer solved the compile problem

and the dialog appeared and worked with 100000 runtime errors!
Comment 6 Paul F. Johnson 2008-10-20 08:01:36 EDT
I'm working on fixing this problem. Currently, libgdiplus ships with a libgdiplus.so.0 with symlinks to .so and .so.0.0 - expect something soon.
Comment 7 Paul F. Johnson 2008-10-20 08:09:30 EDT
*** Bug 380131 has been marked as a duplicate of this bug. ***
Comment 8 Bug Zapper 2008-11-26 04:06:50 EST
This message is a reminder that Fedora 8 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 8.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '8'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 8's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 8 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping
Comment 9 Michael Schwendt 2008-12-02 17:04:09 EST
This is still an issue, as "Requires: libgdiplus-devel" is not the right thing to do. Please notice bug 380131 comment 8 and furthermore..
Comment 10 Michael Schwendt 2008-12-02 17:29:13 EST
A change like this fixes it for me _without_ requiring libgdiplus-devel:

--- /etc/mono/config~     2008-10-25 11:14:43.000000000 +0200
+++ /etc/mono/config      2008-12-02 23:27:27.000000000 +0100
@@ -15,6 +15,7 @@
        <dllmap dll="i:msvcrt.dll" target="libc.so.6" os="!windows"/>
        <dllmap dll="sqlite" target="libsqlite.so.0" os="!windows"/>
        <dllmap dll="sqlite3" target="libsqlite3.so.0" os="!windows"/>
+       <dllmap dll="gdiplus.dll" target="libgdiplus.so.0" os="!windows">
        <dllmap dll="libX11" target="libX11.so.6" os="!windows" />
        <dllmap dll="libcairo-2.dll" target="libcairo.so.2" os="!windows"/>
        <dllmap dll="i:kernel32.dll">
Comment 11 Paul F. Johnson 2008-12-02 19:14:41 EST
Thanks - I've added that patch in and will put it into the next rawhide spin. If all goes well there, I'll get it into 2.0.1
Comment 12 Paul F. Johnson 2009-03-25 17:40:21 EDT
It's now in 2.2 (updates testing) and 2.4 (rawhide). Closing the bug

Note You need to log in before you can comment on or make changes to this bug.