Find the answer to your Linux question:
Results 1 to 5 of 5
Hi, This seems to be a common mono installation problem but the suggested solution doesn't work for me. Here's where I've got to: Code: export PATH=/usr/local/share/mono/bin:$PATH export MONO_LOG_LEVEL=info export MONO_LOG_MASK=dll ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Just Joined!
    Join Date
    Jun 2009
    Posts
    20

    Mono: problem finding libgdiplus


    Hi,

    This seems to be a common mono installation problem but the suggested solution doesn't work for me. Here's where I've got to:

    Code:
    export PATH=/usr/local/share/mono/bin:$PATH
    export MONO_LOG_LEVEL=info
    export MONO_LOG_MASK=dll
    export LD_LIBRARY_PATH=/usr/lib:$LD_LIBRARY_PATH
    ls $LD_LIBRARY_PATH/libgdiplus*
    /usr/lib/libgdiplus.a  /usr/lib/libgdiplus.so  /usr/lib/libgdiplus.so.0  /usr/lib/libgdiplus.so.0.0.0
    So the libgdiplus files are present and can be accessed by the LD_LIBRARY_PATH environment variable. Now when I execute mono on a WinForms program I get:

    Code:
    mono helloworld.exe
    <snip>
    Mono-INFO: DllImport attempting to load: 'gdiplus.dll'.
    Mono-INFO: DllImport loading location: 'libgdiplus.dll.so'.
    Mono-INFO: DllImport error loading library: 'libgdiplus.dll.so: cannot open shared object file: No such file or directory'.
    Mono-INFO: DllImport loading library: './libgdiplus.dll.so'.
    Mono-INFO: DllImport error loading library './libgdiplus.dll.so: cannot open shared object file: No such file or directory'.
    Mono-INFO: DllImport loading: 'gdiplus.dll'.
    Mono-INFO: DllImport error loading library 'gdiplus.dll: cannot open shared object file: No such file or directory'.
    Mono-INFO: DllImport loading location: 'libgdiplus.so'.
    Mono-INFO: DllImport error loading library: 'libgdiplus.so: cannot open shared object file: No such file or directory'.
    Mono-INFO: DllImport loading library: './libgdiplus.so'.
    Mono-INFO: DllImport error loading library './libgdiplus.so: cannot open shared object file: No such file or directory'.
    Mono-INFO: DllImport loading: 'gdiplus'.
    Mono-INFO: DllImport error loading library 'gdiplus: cannot open shared object file: No such file or directory'.
    Mono-INFO: DllImport loading location: 'libgdiplus.dll.so'.
    Mono-INFO: DllImport error loading library: 'libgdiplus.dll.so: cannot open shared object file: No such file or directory'.
    Mono-INFO: DllImport loading library: './libgdiplus.dll.so'.
    Mono-INFO: DllImport error loading library './libgdiplus.dll.so: cannot open shared object file: No such file or directory'.
    Mono-INFO: DllImport loading: 'libgdiplus.dll'.
    Mono-INFO: DllImport error loading library 'libgdiplus.dll: cannot open shared object file: No such file or directory'.
    </snip>
    Any suggestions gratefully received thank you!

  2. #2
    Linux Guru Rubberman's Avatar
    Join Date
    Apr 2009
    Location
    I can be found either 40 miles west of Chicago, in Chicago, or in a galaxy far, far away.
    Posts
    11,639
    Wouldn't this question be better answered in the Mono user forums instead of here? In any case, I try to stay away (as far as possible) from any Windows programming environment, especially in the Linux/Unix universe. If you must run a cross-platform, byte-code interpreted applications, then stick with something that works well across the board, such as Java.
    Sometimes, real fast is almost as good as real time.
    Just remember, Semper Gumbi - always be flexible!

  3. #3
    Just Joined!
    Join Date
    Jun 2009
    Posts
    20
    Quote Originally Posted by Rubberman View Post
    Wouldn't this question be better answered in the Mono user forums instead of here?
    Good advice thank you.

    Quote Originally Posted by Rubberman View Post
    ...then stick with something that works well across the board, such as Java.
    I agree. Sadly in this case another team doesn't believe in cross-platform apps so I'm forced down the route of having to make a bespoke .NET app execute under Linux.

  4. #4
    Linux Guru Rubberman's Avatar
    Join Date
    Apr 2009
    Location
    I can be found either 40 miles west of Chicago, in Chicago, or in a galaxy far, far away.
    Posts
    11,639
    Ok. Took a second look at the first instance of your "code". The LD_LIBRARY_PATH environment variable does NOT point to a single directory, which is how you are using it with the 'ls' command. It is like the PATH environment except that it can point to 0...N directories. So, it can be empty or not defined, or it can contain one or more directories, each separated by a colon ':' character. Another thing is that if your Mono version is 64-bit then the libraries have to be 64-bit also and they have to be in /usr/lib64, not in /usr/lib. So, while you have the 32-bit versions of libgdi* you may need and not have the 64-bit ones.
    Sometimes, real fast is almost as good as real time.
    Just remember, Semper Gumbi - always be flexible!

  5. #5
    Linux Guru Rubberman's Avatar
    Join Date
    Apr 2009
    Location
    I can be found either 40 miles west of Chicago, in Chicago, or in a galaxy far, far away.
    Posts
    11,639
    One last couple of questions.

    1. What Linux distribution+version+kernel are you running?
    2. What version of Mono do you have installed?
    Sometimes, real fast is almost as good as real time.
    Just remember, Semper Gumbi - always be flexible!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •