[Mono-dev] compiling on solaris

Rafael Teixeira monoman at gmail.com
Wed Aug 23 18:46:40 EDT 2006


There's a mcs.in file that configure transforms in a mcs script,
normally installed in <prefix>/bin with execution permissions by make
install, but during bootstrap, I think the makefiles use a full
command line like "mono <monolite-dir>/mcs.exe ...".

mcs.exe isn't a dos file, but rather a mono/.net managed executable,
as all other that run under mono.

I've run out of ideas, but maybe PATH or other env vars are putting
incompatible tools/libs in the way of building mono.

I wish you luck in this chase,

On 8/23/06, Tom Bombadil <grlists at gmail.com> wrote:
> Thanks...
>
> What should be the location of the mcs script in the tree?
>
> A "find . -name mcs" just returns the sub-directories ./mcs and
> ./mcs/mcs. No real file with that name in the tree. I did find
> ./mcs/class/lib/monolite/mcs.exe, but it doesn't seem to be a script,
> but rather a DOS file.
>
>
> Anyway, I found:
> $ ls -la runtime/mono-wrapper
> -rwxr-xr-x   1 root     root         280 Aug 22 13:09 runtime/mono-wrapper
>
> ls -al mono/mini/mono
> -rwxr-xr-x   1 root     root     4629028 Aug 22 13:14 mono/mini/mono
>
> And I'm compiling as root to avoid these permission problems, and
> without any cages, nor chroot anywhere in the system.
>
>
> Cheers
>
>
> Rafael Teixeira wrote:
> > Are you sure the mcs script and the mono binary have the correct
> > permissions for execution. Also beware of security "cage" softwares
> > installed that may prevent programs that generate executable code
> > on-the-fly from running.
> >
> > The second time, indicates that the monolite package was downloaded
> > and it has a corlib that is newer than your runtime. Then you have two
> > choices:
> >
> > 1) You can go forward by downloading sources for the runtime (maybe
> > you'll need SVN head), and compile it first to match again with your
> > bootstrap corlib.
> > 2) You can restart, by killing the whole mono/mcs trees and  gnu
> > untarring the tarball again.
> >
> > Check to see that untarring is setting the permissions OK, and adjust
> > them properly, if needed.
> >
> > Hope it helps,
> >
> > On 8/22/06, Tom Bombadil <grlists at gmail.com> wrote:
> >> Thanks Rafael,
> >>
> >>
> >> I found one of the problems, but the compilation still fails:
> >>
> >> Solaris' tar just doesn't unpack the whole tree, and it exits without
> >> spitting out any error or warning. I have seen sun's tar fails unpacking
> >>   a bunch of stuff before, but it always returned an error.
> >>
> >>
> >> The new error is this:
> >> ---------
> >> gmake[2]: Entering directory `/home/gbaratto/src/mono-1.1.16.1/data'
> >> Making all in net_1_1
> >> gmake[3]: Entering directory
> >> `/home/gbaratto/src/mono-1.1.16.1/data/net_1_1'
> >> gmake[3]: Nothing to be done for `all'.
> >> gmake[3]: Leaving directory
> >> `/home/gbaratto/src/mono-1.1.16.1/data/net_1_1'
> >> Making all in net_2_0
> >> gmake[3]: Entering directory
> >> `/home/gbaratto/src/mono-1.1.16.1/data/net_2_0'
> >> gmake[3]: Nothing to be done for `all'.
> >> gmake[3]: Leaving directory
> >> `/home/gbaratto/src/mono-1.1.16.1/data/net_2_0'
> >> gmake[3]: Entering directory `/home/gbaratto/src/mono-1.1.16.1/data'
> >> gmake[3]: Nothing to be done for `all-am'.
> >> gmake[3]: Leaving directory `/home/gbaratto/src/mono-1.1.16.1/data'
> >> gmake[2]: Leaving directory `/home/gbaratto/src/mono-1.1.16.1/data'
> >> Making all in runtime
> >> gmake[2]: Entering directory `/home/gbaratto/src/mono-1.1.16.1/runtime'
> >> if test -w ../mcs; then :; else chmod -R +w ../mcs; fi
> >> cd ../mcs && gmake PROFILES='default net_2_0' CC='gcc' all-profiles
> >> gmake[3]: Entering directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> gmake profile-do--default--all profile-do--net_2_0--all
> >> gmake[4]: Entering directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> gmake PROFILE=basic all
> >> gmake[5]: Entering directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> gmake[6]: execvp: mcs: Permission denied
> >> gmake[6]: *** [build/deps/basic-profile-check.exe] Error 127
> >> gmake[6]: Entering directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> *** The compiler 'mcs' doesn't appear to be usable.
> >> *** Trying the 'monolite' directory.
> >> gmake[7]: Entering directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> build/deps/basic-profile-check.cs(1,1): error CS8025: Parsing error
> >> gmake[8]: *** [build/deps/basic-profile-check.exe] Error 1
> >> gmake[8]: Entering directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> *** The contents of your 'monolite' directory may be out-of-date
> >> *** You may want to try 'make get-monolite-latest'
> >> gmake[8]: *** [do-profile-check-monolite] Error 1
> >> gmake[8]: Leaving directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> gmake[7]: *** [do-profile-check] Error 2
> >> gmake[7]: Leaving directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> gmake[6]: *** [do-profile-check-monolite] Error 2
> >> gmake[6]: Leaving directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> gmake[5]: *** [do-profile-check] Error 2
> >> gmake[5]: Leaving directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> gmake[4]: *** [profile-do--basic--all] Error 2
> >> gmake[4]: Leaving directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> gmake[3]: *** [profiles-do--all] Error 2
> >> gmake[3]: Leaving directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> gmake[2]: *** [all-local] Error 2
> >> gmake[2]: Leaving directory `/home/gbaratto/src/mono-1.1.16.1/runtime'
> >> gmake[1]: *** [all-recursive] Error 1
> >> gmake[1]: Leaving directory `/home/gbaratto/src/mono-1.1.16.1'
> >> gmake: *** [all] Error 2
> >> ------------
> >>
> >>
> >>
> >>
> >>
> >>
> >> Then I executed "gmake get-monolite-latest" and got this:
> >>
> >> ----------
> >> Making all in docs
> >> gmake[2]: Entering directory `/home/gbaratto/src/mono-1.1.16.1/docs'
> >> gmake[2]: Nothing to be done for `all'.
> >> gmake[2]: Leaving directory `/home/gbaratto/src/mono-1.1.16.1/docs'
> >> Making all in data
> >> gmake[2]: Entering directory `/home/gbaratto/src/mono-1.1.16.1/data'
> >> Making all in net_1_1
> >> gmake[3]: Entering directory
> >> `/home/gbaratto/src/mono-1.1.16.1/data/net_1_1'
> >> gmake[3]: Nothing to be done for `all'.
> >> gmake[3]: Leaving directory
> >> `/home/gbaratto/src/mono-1.1.16.1/data/net_1_1'
> >> Making all in net_2_0
> >> gmake[3]: Entering directory
> >> `/home/gbaratto/src/mono-1.1.16.1/data/net_2_0'
> >> gmake[3]: Nothing to be done for `all'.
> >> gmake[3]: Leaving directory
> >> `/home/gbaratto/src/mono-1.1.16.1/data/net_2_0'
> >> gmake[3]: Entering directory `/home/gbaratto/src/mono-1.1.16.1/data'
> >> gmake[3]: Nothing to be done for `all-am'.
> >> gmake[3]: Leaving directory `/home/gbaratto/src/mono-1.1.16.1/data'
> >> gmake[2]: Leaving directory `/home/gbaratto/src/mono-1.1.16.1/data'
> >> Making all in runtime
> >> gmake[2]: Entering directory `/home/gbaratto/src/mono-1.1.16.1/runtime'
> >> if test -w ../mcs; then :; else chmod -R +w ../mcs; fi
> >> cd ../mcs && gmake PROFILES='default net_2_0' CC='gcc' all-profiles
> >> gmake[3]: Entering directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> gmake profile-do--default--all profile-do--net_2_0--all
> >> gmake[4]: Entering directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> gmake PROFILE=basic all
> >> gmake[5]: Entering directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> gmake[6]: execvp: mcs: Permission denied
> >> gmake[6]: *** [build/deps/basic-profile-check.exe] Error 127
> >> gmake[6]: Entering directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> *** The compiler 'mcs' doesn't appear to be usable.
> >> *** Trying the 'monolite' directory.
> >> gmake[7]: Entering directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> Corlib not in sync with this runtime: expected corlib version 53,
> >> found 54.
> >> Download a newer corlib or a newer runtime at
> >> http://www.go-mono.com/daily.
> >> gmake[8]: *** [build/deps/basic-profile-check.exe] Error 1
> >> gmake[8]: Entering directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> *** The contents of your 'monolite' directory may be out-of-date
> >> *** You may want to try 'make get-monolite-latest'
> >> gmake[8]: *** [do-profile-check-monolite] Error 1
> >> gmake[8]: Leaving directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> gmake[7]: *** [do-profile-check] Error 2
> >> gmake[7]: Leaving directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> gmake[6]: *** [do-profile-check-monolite] Error 2
> >> gmake[6]: Leaving directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> gmake[5]: *** [do-profile-check] Error 2
> >> gmake[5]: Leaving directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> gmake[4]: *** [profile-do--basic--all] Error 2
> >> gmake[4]: Leaving directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> gmake[3]: *** [profiles-do--all] Error 2
> >> gmake[3]: Leaving directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> gmake[2]: *** [all-local] Error 2
> >> gmake[2]: Leaving directory `/home/gbaratto/src/mono-1.1.16.1/runtime'
> >> gmake[1]: *** [all-recursive] Error 1
> >> gmake[1]: Leaving directory `/home/gbaratto/src/mono-1.1.16.1'
> >> gmake: *** [all] Error 2
> >> -------------
> >>
> >>
> >>
> >>
> >>
> >> Any ideas?
> >>
> >>
> >>
> >>
> >>
> >>
> >> Rafael Teixeira wrote:
> >> > Yes you need a precompiled mcs/gmcs/corlib set called the monolite.
> >> >
> >> > Just do:
> >> >
> >> > make get-monolite-latest
> >> >
> >> > as is already instructed inside your long list of messages...
> >> >
> >> > Renaming the solaris mcs or rearranging the PATH to avoid this
> >> > collision, is a step that normally only aflict those that doesn't get
> >> > monolite first.
> >> >
> >> > Although it doesn't seem to have experienced your trouble (I remember
> >> > more than one Solaris person having it in the past) this guy has a
> >> > good page on the subject:
> >> >
> >> > http://www.genunix.org/wiki/index.php/How_to_build_Mono_on_Solaris
> >> >
> >> > Fun,
> >> >
> >> > On 8/21/06, Tom Bombadil <grlists at gmail.com> wrote:
> >> >> Hi all...
> >> >>
> >> >> Trying to build 1.1.16.1 under solaris 10 with blastwave's gcc stuff,
> >> >> and I'm getting this error when compiling:
> >> >> ----------
> >> >> gmake[3]: Entering directory
> >> >> `/home/gbaratto/src/mono-1.1.16.1/data/net_1_1'
> >> >> gmake[3]: Nothing to be done for `all'.
> >> >> gmake[3]: Leaving directory
> >> >> `/home/gbaratto/src/mono-1.1.16.1/data/net_1_1'
> >> >> Making all in net_2_0
> >> >> gmake[3]: Entering directory
> >> >> `/home/gbaratto/src/mono-1.1.16.1/data/net_2_0'
> >> >> gmake[3]: Nothing to be done for `all'.
> >> >> gmake[3]: Leaving directory
> >> >> `/home/gbaratto/src/mono-1.1.16.1/data/net_2_0'
> >> >> gmake[3]: Entering directory `/home/gbaratto/src/mono-1.1.16.1/data'
> >> >> gmake[3]: Nothing to be done for `all-am'.
> >> >> gmake[3]: Leaving directory `/home/gbaratto/src/mono-1.1.16.1/data'
> >> >> gmake[2]: Leaving directory `/home/gbaratto/src/mono-1.1.16.1/data'
> >> >> Making all in runtime
> >> >> gmake[2]: Entering directory
> >> `/home/gbaratto/src/mono-1.1.16.1/runtime'
> >> >> if test -w ../mcs; then :; else chmod -R +w ../mcs; fi
> >> >> cd ../mcs && gmake PROFILES='default net_2_0' CC='gcc' all-profiles
> >> >> gmake[3]: Entering directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> >> gmake profile-do--default--all profile-do--net_2_0--all
> >> >> gmake[4]: Entering directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> >> gmake PROFILE=basic all
> >> >> gmake[5]: Entering directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> >> gmake[6]: mcs: Command not found
> >> >> gmake[6]: *** [build/deps/basic-profile-check.exe] Error 127
> >> >> gmake[6]: Entering directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> >> *** The compiler 'mcs' doesn't appear to be usable.
> >> >> *** Trying the 'monolite' directory.
> >> >> gmake[7]: Entering directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> >> error CS8025: Parsing error
> >> >> gmake[8]: *** [build/deps/basic-profile-check.exe] Error 1
> >> >> gmake[8]: Entering directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> >> *** The contents of your 'monolite' directory may be out-of-date
> >> >> *** You may want to try 'make get-monolite-latest'
> >> >> gmake[8]: *** [do-profile-check-monolite] Error 1
> >> >> gmake[8]: Leaving directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> >> gmake[7]: *** [do-profile-check] Error 2
> >> >> gmake[7]: Leaving directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> >> gmake[6]: *** [do-profile-check-monolite] Error 2
> >> >> gmake[6]: Leaving directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> >> gmake[5]: *** [do-profile-check] Error 2
> >> >> gmake[5]: Leaving directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> >> gmake[4]: *** [profile-do--basic--all] Error 2
> >> >> gmake[4]: Leaving directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> >> gmake[3]: *** [profiles-do--all] Error 2
> >> >> gmake[3]: Leaving directory `/home/gbaratto/src/mono-1.1.16.1/mcs'
> >> >> gmake[2]: *** [all-local] Error 2
> >> >> gmake[2]: Leaving directory `/home/gbaratto/src/mono-1.1.16.1/runtime'
> >> >> gmake[1]: *** [all-recursive] Error 1
> >> >> gmake[1]: Leaving directory `/home/gbaratto/src/mono-1.1.16.1'
> >> >> gmake: *** [all] Error 2
> >> >> [01:26 PM] van-www-test:~/src/mono-1.1.16.1$
> >> >> ---------
> >> >>
> >> >>
> >> >> do I need mcs pre-installed in the system?
> >> >>
> >> >> Also, solaris has /usr/css/bin/mcs (which I renamed temporarily), and
> >> >> the build system tries to execute it.
> >> >>
> >> >> Any ideas?
> >> >>
> >> >> Thanks
> >> >>
> >> >> _______________________________________________
> >> >> Mono-devel-list mailing list
> >> >> Mono-devel-list at lists.ximian.com
> >> >> http://lists.ximian.com/mailman/listinfo/mono-devel-list
> >> >>
> >> >
> >> >
> >> _______________________________________________
> >> Mono-devel-list mailing list
> >> Mono-devel-list at lists.ximian.com
> >> http://lists.ximian.com/mailman/listinfo/mono-devel-list
> >>
> >
> >
>


-- 
Rafael "Monoman" Teixeira
---------------------------------------
"The reasonable man adapts himself to the world; the unreasonable one
persists in trying to adapt the world to himself. Therefore all
progress depends on the unreasonable man." George Bernard Shaw



More information about the Mono-devel-list mailing list