Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

Library requirements PKG_CONFIG_PATH


Messages recommandés

Posté(e)

j'ai pas de .configure dans mcs-0.29 :-(

 

derniere tentative:

 

root@Worgroup:/usr/src/mcs-0.29# make
make[1]: Entering directory `/usr/src/mcs-0.29/build'
make[1]: Leaving directory `/usr/src/mcs-0.29/build'
make[1]: Entering directory `/usr/src/mcs-0.29/jay'
make[1]: Leaving directory `/usr/src/mcs-0.29/jay'
make[1]: Entering directory `/usr/src/mcs-0.29/mcs'
make[1]: Leaving directory `/usr/src/mcs-0.29/mcs'
make[1]: Entering directory `/usr/src/mcs-0.29/class'
make[2]: Entering directory `/usr/src/mcs-0.29/class/corlib'
mcs /nowarn:649 /nowarn:169 -d:INSIDE_CORLIB  -d:NET_1_1 -g /noconfig /unsafe /nostdlib /target:library /out:../../class/lib/mscorlib.dll @../../build/deps/corlib.dll.response
System/Environment.cs(285) error CS0051: Inconsistent accessibility: parameter type `System.Environment+SpecialFolder' is less accessible than method `GetFolderPath'
System.Collections/Hashtable.cs(718) error CS0051: Inconsistent accessibility: parameter type `System.Collections.Hashtable+EnumeratorMode' is less accessible than method `Enumerator'
System.Collections/SortedList.cs(597) error CS0051: Inconsistent accessibility: parameter type `System.Collections.SortedList+EnumeratorMode' is less accessible than method `Enumerator'
System.Runtime.InteropServices/ELEMDESC.cs(13) error CS0052: Inconsistent accessibility: field type `System.Runtime.InteropServices.ELEMDESC+DESCUNION' is less accessible than field `desc'
Compilation failed: 4 error(s), 0 warnings
make[2]: *** [../../class/lib/mscorlib.dll] Error 1
make[2]: Leaving directory `/usr/src/mcs-0.29/class/corlib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/mcs-0.29/class'
make: *** [all-recursive] Error 1

:P

 

install.txt:

 

Basic Installation
==================

The Mono project has developed mono, a CLI runtime. The build process
of each of these depends on nothing more than a C compiler and glib2.

However, to provide a working runtime environment, these programs must
be supplemented by the class libraries, which are written in C#.  This
package contains the components written in C#: class libraries,
compilers and tools.

Build Process for Users.
========================

If you only want to build a snapshot or a fresh CVS checkout of the
sources, you should go into the `mono' sibling directory and issue the
following command:

  ./autogen --prefix=/usr/local
  make fullbuild

That will build and install the code in a single pass.  The
compilation is bundled with the build due to dependencies on the class
libraries on the runtime.

Build Features for Developers.
==============================

These instructions apply to both Linux and Windows. To build this
package, you must already have a C# compiler installed.  This means
that to build on Linux, you need to get a distribution of the MCS
binaries; these are called monocharges. They can be found at
www.go-mono.com/daily. On Windows, you can just use the
Microsoft compiler. You also need GNU make to build the software (on
Windows, you will need for example the Cygwin environment setup).

To build the compiler and class libraries, run:

   make

The libraries will be placed in the directory class/lib/ and the mcs
compiler executable in mcs/.

To install them, run the following:

   make install

The default prefix is /usr/local. To change this configuration option type:

   echo prefix=/your-prefix >> build/config.make

If you get "corlib out of sync" errors, try

   make PROFILE="atomic"

The difference between the two modes is explained farther down.

Troubleshooting
===============

Occasionally, something in the compiler or runtime changes enough that
an existing installation cannot complete a full build from cvs.  In this case,
go to http://go-mono.com/daily and download a monocharge or monolite tarball.
Unpack and copy the .dlls to $prefix/lib and .exes to $prefix/bin/.  Then
you should be able to complete the build normally (i.e. using make fullbuild).

wget http://go-mono.com/daily/monolite-20031028.tar.gz
tar -zxvf monolite-20031028.tar.gz
cd monolite-20031028
cp *.exe /usr/local/bin/.
cp *.dll /usr/local/lib/.

Monocharges
===========

If you are tracking Mono's development, you may sometimes need to share
the compiled libraries with others, you can do:

   make monocharge

Or a light version, which contains only the essential libraries and
results in a much smaller file:

   make monocharge-lite

Configuration
=============

If you want to change the configuration options for the build process,
place your configuration options in build/config.make

A list of variables that control the build are listed in the file
build/config-default.make.

Build profiles? What?
======================

Don't worry about them too much. If you're wondering which to use:
use the default if you can (that's why it's the default!) and use
the atomic if you have to.

The default profile uses the C# compiler and class libaries as they
are built. This lets you build MCS without needing to have already 
installed it, but can fail if the libraries change significantly.
(This is the source of the dreaded "corlib out of sync" warning, most
of the time.)

The atomic profile tries to use the system compiler and preexisting
MCS libraries. New libaries are built against this constant reference 
point, so if a newly built library has a binary incompatibility, the
rest of your build can proceed.

If you want to always use the atomic profile, run this command:

echo PROFILE=atomic >> build/config.make

More About the Build System
===========================

More information is found in build/README.*. Here's a quick rundown
of the features:

       * Unified build system for Windows and Linux. Windows is still
  fairly untested, but "should work." Unfortunately I don't
  have a Windows machine to test on, but Gonzalo can get
  corlib to build I think and that's about as complicated as
  it gets.

       * Profile support. 'make PROFILE=profilename' or 'export
  PROFILE=profilename; make' will work. Profiles are defined
  in build/profiles/profilename.make; right now there isn't
  too much going on. The 'bootstrap' profile will build the
  way makefile.gnu did on Linux, by setting MONO_PATH and
  using mcs/mcs.exe; the default profile will build against
  the existing system libraries and compile with 'mcs', which
  should reduce a lot of 'corlib out of sync' warnings.

       * Important variables are shared among makefiles now; you can
  edit build/config.make (see build/config-default.make for a
  template) and give global settings, or just have a much
  saner time of writing new makefiles.

       * Response files, stamps, and other build trivia now all land
  in build/deps/, making the library build directories
  cleaner.

       * Test libraries now live in class/Library/Library_test.dll,
  not class/Library/Test. 'make test' will build the test DLL,
  'make run-test' will actually run the nunit tests. Set the
  variable TEST_HARNESS to run with a program other than
  nunit-console (for example, nunit-gtk).

       * Standardized recursive targets: all, clean, install, test,
  run-test.  Read build/README.makefiles for definitions of
  what they should do

       * (Relatively) sane 'make dist' target; 'make distcheck'
  support; cute 'make monocharge' and 'make monocharge-lite'
  targets. They're made possible because 'make install' now
  supports DESTDIR a la automake, which I'm sure someone cares
  about.

 

 

Le makefile:

thisdir := .
SUBDIRS := build jay mcs class mbas nunit20 monoresgen ilasm tools tests errors docs
OVERRIDE_BARE_TARGETS = hells yeah
include build/rules.make

# Define these ourselves to that the platform checks come first

all: platform-check profile-check all-recursive #all-local

install: platform-check profile-check install-recursive #install-local

uninstall: platform-check profile-check uninstall-recursive #uninstall-local

test: platform-check profile-check test-recursive #test-local

run-test: run-test-recursive #run-test-local

clean: clean-recursive #clean-local

# fun specialty targets

testcorlib:
@cd class/corlib && $(MAKE) test run-test

# Disting. We need to override $(distdir) here.

package := mcs-$(VERSION)
top_distdir = $(dots)/$(package)
distdir = $(top_distdir)
export package

DISTFILES = \
AUTHORS  	\
ChangeLog  \
COPYING  	\
COPYING.LIB  \
INSTALL.txt  \
LICENSE  	\
LICENSE.GPL  \
LICENSE.LGPL  \
Makefile  \
mkinstalldirs  \
MIT.X11  	\
MonoIcon.png  \
README  	\
ScalableMonoIcon.svg	\
winexe.in

dist-pre:
rm -rf $(package)

dist-post:
tar cvzf $(package).tar.gz $(package)

dist-local: dist-default

dist-tarball: dist-pre dist-recursive dist-post

dist: dist-tarball
rm -rf $(package)

# the egrep -v is kind of a hack (to get rid of the makefrags)
# but otherwise we have to make dist then make clean which
# is sort of not kosher. And it breaks with DIST_ONLY_SUBDIRS.
#
# We need to set prefix on make so class/System/Makefile can find
# the installed System.Xml to build properly

distcheck:
rm -rf InstallTest Distcheck-MCS; \
mkdir InstallTest; \
destdir=`cd InstallTest && pwd`; \
$(MAKE) dist-tarball || exit 1; \
mv $(package) Distcheck-MCS; \
(cd Distcheck-MCS && \
    $(MAKE) prefix=$(prefix) && $(MAKE) test && $(MAKE) install DESTDIR="$$destdir" && \
    $(MAKE) clean && $(MAKE) dist || exit 1) || exit 1; \
mv Distcheck-MCS $(package); \
tar tzf $(package)/$(package).tar.gz |sed -e 's,/$$,,' |sort >distdist.list; \
rm $(package)/$(package).tar.gz; \
tar tzf $(package).tar.gz |sed -e 's,/$$,,' |sort >before.list; \
find $(package) |egrep -v '(makefrag|response)' |sed -e 's,/$$,,' |sort >after.list; \
cmp before.list after.list || exit 1; \
cmp before.list distdist.list || exit 1; \
rm -f before.list after.list distdist.list; \
rm -rf $(package) InstallTest

monocharge:
chargedir=monocharge-`date -u +%Y%m%d`; \
mkdir "$$chargedir"; \
DESTDIR=`cd "$$chargedir" && pwd`; \
$(MAKE) install DESTDIR="$$DESTDIR" || exit 1; \
tar cvzf "$$chargedir".tgz "$$chargedir"; \
rm -rf "$$chargedir"

# A bare-bones monocharge.

monocharge-lite:
chargedir=monocharge-lite-`date -u +%Y%m%d`; \
mkdir "$$chargedir"; \
DESTDIR=`cd "$$chargedir" && pwd`; \
$(MAKE) -C mcs install DESTDIR="$$DESTDIR" || exit 1; \
$(MAKE) -C class/corlib install DESTDIR="$$DESTDIR" || exit 1; \
$(MAKE) -C class/System install DESTDIR="$$DESTDIR" || exit 1; \
$(MAKE) -C class/System.XML install DESTDIR="$$DESTDIR" || exit 1; \
$(MAKE) -C class/Mono.CSharp.Debugger install DESTDIR="$$DESTDIR" || exit 1; \
tar cvzf "$$chargedir".tgz "$$chargedir"; \
rm -rf "$$chargedir"

Posté(e)

Là je crois qu'on ne peut plus grand chose pour toi. Tu ferais bien mieux de contacter directement l'équipe de dev de mono en leur donnant tous les détails de ta config (i.e. le log du ./configure)

Rejoindre la conversation

Vous publiez en tant qu’invité. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...