kumorikuma / paint-mono

Automatically exported from code.google.com/p/paint-mono
Other
0 stars 0 forks source link

Compile fails with cannot find metadata file `System.Windows.Forms' #6

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Install up to date ubuntu hardy
2. Get paint mono out of svn
3. Compile paint.mono according to
http://tirania.org/blog/archive/2007/Dec-21.html

I'm trying to compile paint.mono Revision 57 out of SVN. 

$ ./configure

works but make fails

$ make
make[1]: Betrete Verzeichnis '/tmp/paint-mono'
make[1]: Verlasse Verzeichnis '/tmp/paint-mono'
make[1]: Betrete Verzeichnis '/tmp/paint-mono/Resources.mui'
make pre-all-local-hook prefix=/usr/local
make[2]: Betrete Verzeichnis '/tmp/paint-mono/Resources.mui'
make[2]: Verlasse Verzeichnis '/tmp/paint-mono/Resources.mui'
mkdir -p bin/Release/
make RELEASE_AND_PACKAGE_ANY_CPU_BeforeBuild
make[2]: Betrete Verzeichnis '/tmp/paint-mono/Resources.mui'
make[2]: Verlasse Verzeichnis '/tmp/paint-mono/Resources.mui'
gmcs -noconfig -codepage:utf8 -warn:4 -optimize+ -debug -define:DEBUG
"-define:TRACE" -out:bin/Release/Resources.mui.exe -target:exe './Stub.cs'
     -r:System  
/bin/sh: gmcs: not found
make[1]: *** [bin/Release/Resources.mui.exe] Fehler 127
make[1]: Verlasse Verzeichnis '/tmp/paint-mono/Resources.mui'
make: *** [all-recursive] Fehler 1
toff@isleofskye:/tmp/paint-mono$ make
make[1]: Betrete Verzeichnis '/tmp/paint-mono'
make[1]: Verlasse Verzeichnis '/tmp/paint-mono'
make[1]: Betrete Verzeichnis '/tmp/paint-mono/Resources.mui'
make pre-all-local-hook prefix=/usr/local
make[2]: Betrete Verzeichnis '/tmp/paint-mono/Resources.mui'
make[2]: Verlasse Verzeichnis '/tmp/paint-mono/Resources.mui'
mkdir -p bin/Release/
make RELEASE_AND_PACKAGE_ANY_CPU_BeforeBuild
make[2]: Betrete Verzeichnis '/tmp/paint-mono/Resources.mui'
make[2]: Verlasse Verzeichnis '/tmp/paint-mono/Resources.mui'
gmcs -noconfig -codepage:utf8 -warn:4 -optimize+ -debug -define:DEBUG
"-define:TRACE" -out:bin/Release/Resources.mui.exe -target:exe './Stub.cs'
     -r:System  
make RELEASE_AND_PACKAGE_ANY_CPU_AfterBuild
make[2]: Betrete Verzeichnis '/tmp/paint-mono/Resources.mui'
make[2]: Verlasse Verzeichnis '/tmp/paint-mono/Resources.mui'
make post-all-local-hook prefix=/usr/local
make[2]: Betrete Verzeichnis '/tmp/paint-mono/Resources.mui'
make[2]: Verlasse Verzeichnis '/tmp/paint-mono/Resources.mui'
sed -e "s,@prefix@,/usr/local," -e "s,@PACKAGE@,paintdotnet," <
resources.mui.in > resources.mui
mkdir -p bin/Release//
cp 'resources.mui' 'bin/Release//resources.mui'
test -z 'x' || chmod +x 'bin/Release//resources.mui'
make[1]: Verlasse Verzeichnis '/tmp/paint-mono/Resources.mui'
make[1]: Betrete Verzeichnis '/tmp/paint-mono/PdnRepair'
make pre-all-local-hook prefix=/usr/local
make[2]: Betrete Verzeichnis '/tmp/paint-mono/PdnRepair'
make[2]: Verlasse Verzeichnis '/tmp/paint-mono/PdnRepair'
mkdir -p bin/Release/
make RELEASE_AND_PACKAGE_ANY_CPU_BeforeBuild
make[2]: Betrete Verzeichnis '/tmp/paint-mono/PdnRepair'
make[2]: Verlasse Verzeichnis '/tmp/paint-mono/PdnRepair'
gmcs -noconfig -codepage:utf8 -warn:4 -optimize+ -debug -define:DEBUG
"-define:TRACE" -out:bin/Release/PdnRepair.exe -target:exe
'./AssemblyInfo.cs' './Program.cs'      -r:System  
make RELEASE_AND_PACKAGE_ANY_CPU_AfterBuild
make[2]: Betrete Verzeichnis '/tmp/paint-mono/PdnRepair'
make[2]: Verlasse Verzeichnis '/tmp/paint-mono/PdnRepair'
make post-all-local-hook prefix=/usr/local
make[2]: Betrete Verzeichnis '/tmp/paint-mono/PdnRepair'
make[2]: Verlasse Verzeichnis '/tmp/paint-mono/PdnRepair'
sed -e "s,@prefix@,/usr/local," -e "s,@PACKAGE@,paintdotnet," <
pdnrepair.in > pdnrepair
mkdir -p bin/Release//
cp 'pdnrepair' 'bin/Release//pdnrepair'
test -z 'x' || chmod +x 'bin/Release//pdnrepair'
make[1]: Verlasse Verzeichnis '/tmp/paint-mono/PdnRepair'
make[1]: Betrete Verzeichnis '/tmp/paint-mono/StylusReader'
make pre-all-local-hook prefix=/usr/local
make[2]: Betrete Verzeichnis '/tmp/paint-mono/StylusReader'
make[2]: Verlasse Verzeichnis '/tmp/paint-mono/StylusReader'
mkdir -p bin/Release/
make RELEASE_AND_PACKAGE_ANY_CPU_BeforeBuild
make[2]: Betrete Verzeichnis '/tmp/paint-mono/StylusReader'
make[2]: Verlasse Verzeichnis '/tmp/paint-mono/StylusReader'
gmcs -noconfig -codepage:utf8 -warn:4 -optimize+ -debug -define:DEBUG
"-define:TRACE" -out:bin/Release/PaintDotNet.StylusReader.dll
-target:library './AssemblyInfo.cs' './IStylusReaderHooks.cs'
'./StylusAsyncPlugin.cs' './StylusReader.cs'      -r:System   
-r:System.Drawing    -r:System.Windows.Forms 
-r:../Microsoft.Ink/Microsoft.Ink.dll 
error CS0006: cannot find metadata file `System.Windows.Forms'
Compilation failed: 1 error(s), 0 warnings
make[1]: *** [bin/Release/PaintDotNet.StylusReader.dll] Fehler 1
make[1]: Verlasse Verzeichnis '/tmp/paint-mono/StylusReader'
make: *** [all-recursive] Fehler 1

Original issue reported on code.google.com by christop...@gmail.com on 5 Mar 2008 at 1:38

GoogleCodeExporter commented 9 years ago
I got almost the same error with ubuntu 7.04 and 8.04:

make[1]: Entering directory `/home/oren/applications/paint-mono'
make[1]: Leaving directory `/home/oren/applications/paint-mono'
make[1]: Entering directory `/home/oren/applications/paint-mono/Resources.mui'
make pre-all-local-hook prefix=/usr/local
make[2]: Entering directory `/home/oren/applications/paint-mono/Resources.mui'
make[2]: Leaving directory `/home/oren/applications/paint-mono/Resources.mui'
mkdir -p bin/Release/
make RELEASE_AND_PACKAGE_ANY_CPU_BeforeBuild
make[2]: Entering directory `/home/oren/applications/paint-mono/Resources.mui'
make[2]: Leaving directory `/home/oren/applications/paint-mono/Resources.mui'
gmcs -noconfig -codepage:utf8 -warn:4 -optimize+ -debug -define:DEBUG 
"-define:TRACE"
-out:bin/Release/Resources.mui.exe -target:exe './Stub.cs'      -r:System  
/bin/sh: gmcs: not found
make[1]: *** [bin/Release/Resources.mui.exe] Error 127
make[1]: Leaving directory `/home/oren/applications/paint-mono/Resources.mui'
make: *** [all-recursive] Error 1

Original comment by orengo...@gmail.com on 1 Apr 2008 at 5:18

GoogleCodeExporter commented 9 years ago
Encountered the same errors posted here on ubuntu gutsy gibbons. Not familiar 
with
mono or .NET development on Linux but after I did

apt-get install mono-gmcs mono-utils mono

I was able to make && make install. Not sure if mono-utils was necessary.

Original comment by eric...@gmail.com on 2 Apr 2008 at 4:07

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
sudo apt-get install mono

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package mono is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package mono has no installation candidate

Original comment by orengo...@gmail.com on 3 Apr 2008 at 1:38

GoogleCodeExporter commented 9 years ago
i found this page - 
http://archive.ubuntu.com/ubuntu/pool/main/m/mono/

which one should i get?
am I in the right place?

Original comment by orengo...@gmail.com on 3 Apr 2008 at 1:48

GoogleCodeExporter commented 9 years ago
i just read that i need to get it from the svn...

Original comment by orengo...@gmail.com on 3 Apr 2008 at 2:23

GoogleCodeExporter commented 9 years ago
Yep, the mono version in gutsy is too old, but i thought that the version of 
mono
inside Ubuntu Hardy is new enough to compile paint.mono.

$ mono --version
Mono JIT compiler version 1.2.6 (tarball)
Copyright (C) 2002-2007 Novell, Inc and Contributors. www.mono-project.com
    TLS:           __thread
    GC:            Included Boehm (with typed GC)
    SIGSEGV:       altstack
    Notifications: epoll
    Architecture:  amd64
    Disabled:      none

Original comment by christop...@gmail.com on 3 Apr 2008 at 12:55

GoogleCodeExporter commented 9 years ago
on your page [1] you say "All you need is mono 1.2.6" but after i svn'ed and
configured everything i "make" and have been told that gmcs was missing, so i
installed that too, re-run make and it seemed everything went finde this time. 
but i
got this error:
"
error CS0006: cannot find metadata file `System.Windows.Forms'
Compilation failed: 1 error(s), 0 warnings
make[1]: *** [bin/Release/PaintDotNet.StylusReader.dll] Fehler 1
make[1]: Verlasse Verzeichnis '/home/micha/paint-mono/StylusReader'
make: *** [all-recursive] Fehler 1
"
So what do i do now ? I'm on hardy.

[1] http://tirania.org/blog/archive/2007/Dec-21.html

Original comment by michael....@gmail.com on 11 Apr 2008 at 6:51

GoogleCodeExporter commented 9 years ago
Also on (k)ubuntu here (8.10) 

$ mono --version
Mono JIT compiler version 1.9.1 (tarball)
Copyright (C) 2002-2007 Novell, Inc and Contributors. www.mono-project.com
    TLS:           __thread
    GC:            Included Boehm (with typed GC)
    SIGSEGV:       altstack
    Notifications: epoll
    Architecture:  x86
    Disabled:      none

getting the same error:
error CS0006: cannot find metadata file `System.Windows.Forms'
Compilation failed: 1 error(s), 0 warnings

Original comment by kyo...@googlemail.com on 2 Jan 2009 at 11:38

GoogleCodeExporter commented 9 years ago
This will probably solve the problem:

sudo apt-get install libmono-winforms2.0-cil

Original comment by besuperh...@gmail.com on 17 Jan 2009 at 1:41

GoogleCodeExporter commented 9 years ago
Nope:

error CS0006: cannot find metadata file 
`System.Runtime.Serialization.Formatters.Soap'
Compilation failed: 1 error(s), 0 warnings

Original comment by kyo...@googlemail.com on 26 Jan 2009 at 6:15

GoogleCodeExporter commented 9 years ago
Even on Ubuntu Jaunty with mono 2.0.1 make fails with the previous noted 
messages...

Original comment by christop...@gmail.com on 3 Feb 2009 at 4:12

GoogleCodeExporter commented 9 years ago
Ok managed to compile it for Ubuntu, but it still won't run... 
First of, as  besuperhappy, Jan 17, 2009 said, I had to do 
sudo apt-get install libmono-winforms2.0-cil
but then, I got the error CS0006: cannot find metadata file
`System.Runtime.Serialization.Formatters.Soap'

This System.Runtime.Serialization.Formatters.Soap is in fact a part of some 
packages
for OpenSUSE and such, and packaged in an RPM, known as mono-web-***.rpm.. But 
that
package does not exist on Ubuntu. So I tried downloading 

http://rpm.pbone.net/index.php3/stat/4/idpl/11814187/com/mono-web-2.4-5.pre2.200
90502svn125709.fc11.i386.rpm.html

(via http://rpm.pbone.net/index.php3?stat=3&search=mono-web&srodzaj=3)

And then, tried to convert rpm package to deb using alien:

sudo alien mono-web-2.4-5.pre2.20090502svn125709.fc11.i386.rpm
sudo chown myself\:myself mono-web_2.4-6_i386.deb

Installing the deb via 

sudo dpkg -i mono-web_2.4-6_i386.deb

will fail at this stage with

dpkg: error processing mono-web_2.4-6_i386.deb (--install):
 trying to overwrite `/usr/share/man/man1/httpcfg.1.gz', which is also in package
mono-2.0-devel
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Processing triggers for man-db ...
Errors were encountered while processing:
 mono-web_2.4-6_i386.deb

So I tried to remove mono-2.0-devel (and additionally libmono2.0-cil since it
complained):

sudo apt-get remove mono-2.0-devel
sudo apt-get remove libmono2.0-cil

Only then  sudo dpkg -i mono-web_2.4-6_i386.deb  will pass.. But then, if 
trying to
do ./configure and make, we get again the Widows.Forms thing missing - so after
mono-web_2.4-6_i386.deb got installed, one has to do:

sudo apt-get install libmono-winforms2.0-cil

which will fail with:

dpkg: error processing
/var/cache/apt/archives/libmono2.0-cil_1.9.1+dfsg-4ubuntu2_all.deb (--unpack):
 trying to overwrite
`/usr/lib/mono/gac/Mono.Http/2.0.0.0__0738eb9f132ed756/Mono.Http.dll', which is 
also
in package mono-web
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Selecting previously deselected package libmono-system-web2.0-cil.
Unpacking libmono-system-web2.0-cil (from
.../libmono-system-web2.0-cil_1.9.1+dfsg-4ubuntu2_all.deb) ...
dpkg: error processing
/var/cache/apt/archives/libmono-system-web2.0-cil_1.9.1+dfsg-4ubuntu2_all.deb 
(--unpack):
 trying to overwrite
`/usr/lib/mono/gac/System.Web/2.0.0.0__b03f5f7f11d50a3a/System.Web.dll', which 
is
also in package mono-web
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Selecting previously deselected package libmono-winforms2.0-cil.
Unpacking libmono-winforms2.0-cil (from
.../libmono-winforms2.0-cil_1.9.1+dfsg-4ubuntu2_all.deb) ...
Errors were encountered while processing:
 /var/cache/apt/archives/libmono2.0-cil_1.9.1+dfsg-4ubuntu2_all.deb
 /var/cache/apt/archives/libmono-system-web2.0-cil_1.9.1+dfsg-4ubuntu2_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

But, now at least, ./configure and make works to the end - and an executable is
generated !!

Unfortunately, running this executable results with:

e$ mono PaintDotNet.exe 
** (PaintDotNet.exe:11652): WARNING **: The following assembly referenced from
/usr/lib/mono/gac/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.
Forms.dll
could not be loaded:
     Assembly:   Mono.Posix    (assemblyref_index=7)
     Version:    2.0.0.0
     Public Key: 0738eb9f132ed756
The assembly was not found in the Global Assembly Cache, a path listed in the
MONO_PATH environment variable, or in the location of the executing assembly
(/usr/lib/mono/gac/System.Windows.Forms/2.0.0.0__b77a5c561934e089).

** (PaintDotNet.exe:11652): WARNING **: Could not load file or assembly 
'Mono.Posix,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756' or one of its
dependencies.

Unhandled Exception: System.TypeLoadException: A type load exception has 
occurred.
  at System.Windows.Forms.Application.EnableVisualStyles () [0x00000] 
  at PaintDotNet.Startup.Start () [0x00000] 
  at PaintDotNet.Startup.Main (System.String[] args) [0x00000] 

Any ideas on what to do next? Thanks....

Original comment by vacuu...@gmail.com on 10 Feb 2009 at 10:10

GoogleCodeExporter commented 9 years ago
PS: About the Mono.Posix problem:
___________________
Tue Feb 10 2009 11:16:24 GMT+0100 (CET) 
Mono Documentation
http://www.go-mono.com/docs/index.aspx?tlink=0@N%3AMono.Posix
------------------------
The deprecated Mono.Posix namespace, use Mono.Unix instead. 
___________________

Original comment by vacuu...@gmail.com on 10 Feb 2009 at 10:17

GoogleCodeExporter commented 9 years ago
problem with "System.Runtime.Serialization.Formatters.Soap" solved for me by
installing: libmono-system-runtime2.0-cil

Original comment by limu...@gmail.com on 16 May 2009 at 5:51

GoogleCodeExporter commented 9 years ago
Should this bug should be closed as Invalid? Installing the proper prerequisites
solves the problem. It's just that Ubuntu and various other distributions have 
broken
mono up into minimal pieces whereas the original distribution is one big bundle.

Still, it would be a good idea ("Enhancement") to have the configure script 
check for
the necessary prerequisites (that's what the configure script is for...) - 
looking at
the configure script, it already checks for a list of required packages, but 
the list
is empty. But this list of packages belongs to pkg-config and is not the same 
as the
one maintained by dpkg.
Overall, I think the prerequisites will need some kind of distro-specific test.
For example, if [ -f /etc/debian_version ]; then check the return value of
dpkg -s $DEBIAN_PACKAGES (enumerated below)

These are the only packages I had to install (aside from their automatic 
dependencies):
libmono-system-runtime2.0-cil
libmono-winforms2.0-cil
mono-devel

and then running 'make install' is necessary because there is some hard-coded 
path
set when you ./configure - you can't just run it from the build directory?

Original comment by brlongb...@gmail.com on 23 Sep 2009 at 12:50

GoogleCodeExporter commented 9 years ago
brlongbons, thanks for the help.  installing libmono-winforms2.0-cil fixed the 
problem with "error CS0006: cannot find metadata file `System.Windows.Forms'".  
Thanks again!

Original comment by kedm...@gmail.com on 24 Sep 2009 at 2:36

GoogleCodeExporter commented 9 years ago
Yes, we can mark this issue as invalid, when you install all the necessary mono
stuff, you can install and run paint mono... I blogged about it:
http://linuxundich.de/en/ubuntu/paint-mono-paint-net-fur-linux/

Original comment by christop...@gmail.com on 24 Sep 2009 at 2:41