[Gtk-sharp-list] gtk-sharp.dll not working on linux because it
references win32 dll's
Todd Berman
tberman at off.net
Thu Jul 21 14:48:05 EDT 2005
On Thu, 2005-07-21 at 20:38 +0200, Jost Boekemeier wrote:
> Hi,
>
> > Because MS didn't thought that other platforms
> > should be supported.
>
> Neither do I. Why do you want to make a system
> library like gtk-sharp independent of the operating
> system?
>
Because we can, and it is good. It allows someone to build the library
on any operating system and run it anywhere.
>
> > > b) why only on linux
> >
> > It isn't only in linux, it is also in MacOSX
>
> That's not the point. I don't understand why you
> cannot write the information during configure. You
> already do this on windows, why not on Linux and
> MacOSX?
>
We do write the information during configure, but instead of hard coding
it into the library which makes the resulting binaries not
crossplatform, we put it in a dll mapping file. This allows the binaries
to stay portable.
>
> > No it CAN'T go in the library itself
>
> On windows the information *is* in the library. Why
> are Linux or MacOSX special?
>
Not special, just different.
> > incompatible with ECMA and MS.NET in that point.
>
> Why?
>
>
> > also it is easier
> > to manage building for many platforms the way it is
> > today.
>
> Why is it easier to hard-code the windows name into
> the library instead of writing @libgtk@ and let
> autoconf do the rest?
>
As I said above, that results in a binary that is not crossplatform.
Your approach does not actually *GAIN* anything. These libraries would
still be in the GAC, and you would not be able to do an Assembly.Load
("gtk-sharp") and have it work.
So what is your point?
>
> > So you aren't talking of a user but of a developer,
>
> The problem is currently that recent versions of
> gtk-sharp cannot be used because the .config files are
> missing in /usr/local/lib/mono/gtk-sharp2. That's
> all.
No, the config files reside next to the *ACTUAL* files, as opposed to
next to the symlinks. If you look in /usr/local/lib/mono/gac/.... you
will find gtk-sharp.dll and gtk-sharp.dll.config.
If you look at the files in /usr/local/lib/mono/gtk-sharp-2.0/ you will
see SYMLINKS those real files.
>
> If there are now other ways to load gtk-sharp, I could
> arrange to change my software. It's just that I don't
> see a method which loads the most recent version of
> the library, be it 0.6 or 1.x.
>
MonoDevelop does it fine, so I am sure you can figure out how to manage.
We actually chose a proactive method of identifying all possible
assemblies in the GAC from pc files, and handling it like that. Your
approach may be different, but I assure you, it is possible.
--Todd
More information about the Gtk-sharp-list
mailing list