[Mono-list] Error: mcs.exe: cannot execute binary file

Jaime Anguiano Olarra jaime@geneura.ugr.es
16 Jun 2002 20:22:21 +0200


--=-xAYlRfRRpkyMu2MJeexk
Content-Type: multipart/mixed; boundary="=-38tYyJhDoXuil9dca2oU"


--=-38tYyJhDoXuil9dca2oU
Content-Type: text/plain; charset=ISO-8859-15
Content-Transfer-Encoding: quoted-printable


Here is the first version of the mono-common-problems.

I will upload it to the cvs right know, also I will add a link in the
FAQ.

Greets,

Jaime.=20

El dom, 16-06-2002 a las 02:15, Jose Cornado escribi=F3:
> Monos:
>=20
> 	I've just downloaded 0.12 mono/mcs. Finished making mono. When I try to
> make mcs, Nant throws an error that csc can not be found. I changed makef=
ile
> to use mcs instead of csc (I am running rh 7.2 no cygwin at all) then it
> throws some garbage message. To be sure I typed $mcs.exe and I get the er=
ror
> on the subject line. Any ideas, hitns?
>=20
>=20
>=20
> _______________________________________________
> Mono-list maillist  -  Mono-list@ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-list
--=20
// http://geneura.ugr.es -- The Geneura Team
// http://www.go-mono.com -- The Mono Project

--=-38tYyJhDoXuil9dca2oU
Content-Disposition: attachment; filename=mono-common-problems
Content-Type: text/plain; name=mono-common-problems; charset=ISO-8859-15
Content-Transfer-Encoding: quoted-printable

	Common Problems with Mono (see the bottom)
	------------------------------------------
=09

	(c) 2002, Jaime Anguiano Olarra=20
	<jaime@geneura.ugr.es>


Getting it:

	There are several ways to get Mono running on your computer.=20
	Although the purpose of this document I will add some info=20
	here for completness. After all you need the software if you
	want to get in trouble :).

	RPMs or DEBs can be found at Baselabs <a href=3D"http://mono.baselabs.org/=
index.php/software">http://mono.baselabs.org/index.php/software</a>.

	See <a href=3D"http://www.go-mono.com/download">http://www.go-mono.com/dow=
nload</a> for more information.

Installing it:

	Here comes the real fun. This is what some people have claimed for as
	a 'foolproff way to get started'.

	First, assume you have the packages.
	You must know that:

		1.- Mono can be compiled in Linux and Windows but mcs
		    cannot. Please don't write to the list telling that
		    you have downloaded the mcs-X.XX.tar.gz and that=20
		    you can't build it. It's a 'status' problem. The=20
		    mcs compiler can't be compiled under Linux yet.
		    This means, entering in mcs-X.XX and running 'make'
		    will show you something as:
		=09
			[jaime@localhost mcs-0.12]$ make
			for i in jay nant mcs class nunit tools; do 				=09
			\	(cd $i; make linux) || exit 1;	\
			done
			make[1]: Cambiando a directorio `/home/jaime/utils/mcs-0.12/jay'
			make[1]: No se hace nada para `linux'.
			make[1]: Saliendo directorio `/home/jaime/utils/mcs-0.12/jay'
			make[1]: Cambiando a directorio `/home/jaime/utils/mcs-0.12/nant'
			csc /out:NAnt.exe /recurse:*.cs=20
			/bin/sh: csc: command not found
			make[1]: *** [NAnt.exe] Error 127
			make[1]: Saliendo directorio `/home/jaime/utils/mcs-0.12/nant'
			make: *** [linux] Error 1


                2.- You need to get the packages refered in the Mono=20
		    download page. These are: glib 1.3, pkgconfig...

	Second, read all the READMEs and INSTALLs.=20

		For short, you will normally will be able to install the RPMs and DEBs as
		usual:

			rpm -Uhv mono-X.XX_baselabs-XXXXXXXX.rpm

		See the BaseLabs page for a full explanation.=20

		Building your own binaries it's easy too!.=20
		Unzip and untar the tarball (will work only for Mono, remember!!)
	=09
			tar -zxvf mono-X.XX.tar.gz=20

		Enter the directory where the sources reside:

			cd mono-X.XX

		Run the configure script:

			./configure.in

		Then make the package:

			make

		Now you are able to install it:

			make install

	Remember once again. mcs cannot be compiled under Linux. You need a Window=
s system
	where to build it. The only way for you to get the mcs in Linux without bu=
ilding
	it by your own in a Windows machine (including the VMWare alternative) is =
to install
	the binaries from the BaseLabs page. It's also important to say that there=
 are=20
	NUnit packages too in that site but that you probably won't need to care a=
bout that
	if you are reading this document.

Running it:

	If you want to compile a little program using the mcs, let's say "konnichi=
wa.cs"=20
	do this:

		mcs konnichiwa.cs

	The output will depend on wether your program is compilable or not, if it =
is a
	"RESULT: 0" will be printed in your gnome-terminal (or whatever 'console' =
you use).
	You should see a file called "konnichiwa.exe" in the same directory (folde=
r) where
	the source (konnichiwa.cs) is.

	To run the binary you have to options. The most used is:

		mono konnichiwa.exe

	but it might be better to use this other approach instead (calling the int=
erpreter):

		mint konnichiwa.exe

	That's it. The Mono mcs compiler allows you to perform more complicated co=
mpilations
	and I will show an example using three source files. Suppose you have thre=
e files:
	person.cs, employee.cs, Test.cs. The first one could contain an abstract c=
lass Person
	while the second one could be the source for a concrete class derived from=
 Person and
	called Employee. The last one, Test.cs could be a simple class to show how=
 the classes
	work and it contains an entry point (the Main() method, signed with the ap=
propiate=20
	attributes 'public static' and the correct type 'void'). Then you could ge=
t the=20
	Text.exe program by calling:=20

		mcs Test.cs person.cs employee.cs

	You might want to see my slides, source code and other material from the c=
ourse on
	CSharp I am preparing to teach at the University of Granada, Spain. If you=
 are a newbie
	HTH.=20
=09
A note about problems:

	First see the <a href=3D"http://bugzilla.ximian.com">Ximian Bugzilla</a> p=
age in order=20
	to get know if the bug has already been reported.

	Second, read this document.=20

	Third, visit the mono mailing lists' archives and do a little research in =
there for
	threads talking about the problems you are having.

	Fourth if you still cannot override the problem, contact the lists.

Known problems:   =09

	1.- mcs fails to compile in Linux.=20

		sol. mcs cannot compile in Linux. Try to install the already made package=
s=20
			from http://mono.baselabs.org/index.php/software

	2.- mono fails to compile in my Linux box.

		sol. Uhg... a generic 'question'. Proceed as above.  (note for geeks: GOT=
O: 1.-)

	3.- I cannot install mono under RedHat 7.3.

		sol. Try to upgrade your libc6 packages. In general, check that you have =
the=20
			right versions for the packages glib, pkgconfig, libc...

	4.- I cannot compile mcs nor mono under Windows. Are you fooling me?.

		sol. No, we are not. Have you read carefully the <a href=3D"http://www.go=
-mono.com">download</a>=20
			page?. You need CygWin among other things. Check all of that before=20
			trying to compile.

=20

--=-38tYyJhDoXuil9dca2oU--

--=-xAYlRfRRpkyMu2MJeexk
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: Esta parte del mensaje esta firmada digitalmente

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQA9DNdd0ZuGtECkr6cRApGhAKCmcx3BiVz2ziepedjLiz7Gp07RWQCfX+uC
q2bYRkFVCFLmhnbefXFDJsw=
=8DFQ
-----END PGP SIGNATURE-----

--=-xAYlRfRRpkyMu2MJeexk--