2014-07-17 3 views
5

J'ai installé Ubuntu 14.04 sur mon ordinateur portable et j'essaie de compiler le code de MonoDevelop 5.3 que j'ai téléchargé depuis GitHub, j'ai installé toutes les dépendances.Erreur lors de la compilation de MonoDevelop 5.3 sous Linux

J'ai installé Mono 3.2.8:

[email protected]:~/Downloads/monodevelop$ mono -V 
Mono JIT compiler version 3.2.8 (Debian 3.2.8+dfsg-4ubuntu1) 
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com 
    TLS:   __thread 
    SIGSEGV:  altstack 
    Notifications: epoll 
    Architecture: amd64 
    Disabled:  none 
    Misc:   softdebug 
    LLVM:   supported, not enabled. 
    GC:   sgen 

Quand je ./Configure je reçois ceci:

Configuration summary 

    * Installation prefix = /usr 
    * Version = 5.3 
    * Version Label = 5.3 
    * Compat Version = 5.0 
    * C# compiler = /usr/bin/dmcs 
    * Mono class library development extensions: yes 
    * Version control providers: 
    *  Subversion (Unix): yes 
    *  Git: yes 
    * Platform bindings: GNOME 
    * Unit tests: no 

Now type `make' to compile MonoDevelop 
Configuration Summary 
--------------------- 

MonoDevelop has been configured with 
    prefix = /usr 
    profile = default 

Packages included in the build: 
    main 

Mais quand je me envoie utilise make cette erreur:

Errors: 

/home/raven/Downloads/monodevelop/main/Main.sln (default targets) -> 
(Build target) -> 
/home/raven/Downloads/monodevelop/main/src/addins/AspNet/MonoDevelop.AspNet.csproj (default targets) -> 
(BeforeBuild target) -> 

    /home/raven/Downloads/monodevelop/main/src/addins/AspNet/MonoDevelop.AspNet.csproj: error : Command 'mono ../../../external/nuget-binary/NuGet.exe restore -SolutionDirectory ../../..' exited with code: 1. 

    1 Warning(s) 
    1 Error(s) 

Time Elapsed 00:00:24.5810510 
make[2]: *** [sln_build] Error 1 
make[2]: Leaving directory `/home/raven/Downloads/monodevelop/main' 
make[1]: *** [all-recursive] Error 1 
make[1]: Leaving directory `/home/raven/Downloads/monodevelop/main' 
make: *** [all-recursive] Error 1 

Si quelqu'un sait comment corriger cette erreur, s'il vous plaît laissez-moi savoir, merci.

+1

Il s'agit d'une erreur lors de la tentative de restauration des packages NuGet. Malheureusement, le message d'erreur réel n'est pas affiché. Ce peut être une erreur de certificat. Essayez d'exécuter external/nuget-binary/NuGet.exe et passez le chemin d'accès au répertoire de la solution - 'mono ../../../external/nuget-binary/NuGet.exe restore -SolutionDirectory ../ ../.. '. Ou vous pouvez simplement exécuter 'mono externe/nuget-binary/NuGet.exe restore Main.sln' à partir du répertoire principal du répertoire. Cela devrait montrer un meilleur message d'erreur, espérons-le. –

+0

J'ai déjà utilisé 'Mono externe/nuget-binary/NuGet.exe restaurer Main.sln' et c'était le message d'erreur: **' AVERTISSEMENT: La fonction d'initialisation tente d'accéder à la valeur sur cette instance AVERTISSEMENT: Erreur d'obtention de réponse stream (Write: L'authentification ou le décryptage a échoué.): SendFailure AVERTISSEMENT: La fonction d'initialisation tente d'accéder à Value sur cette instance Impossible de trouver la version '4.0.30506' du package 'Microsoft.AspNet.Mvc'. Impossible de trouver la version '2.0.30506' du paquet 'Microsoft.AspNet.WebPages'. Impossible de trouver la version '2.0.30506' du paquet 'Microsoft.AspNet.Razor'.'** – R4v3nPr0

+8

Cela ressemble à un problème de certificat. Avez-vous essayé de courir 'mozroots --import --sync' –

Répondre

5

S'il y a une erreur NuGet lors de la compilation MonoDevelop sur Linux, vous pouvez voir le message d'erreur réelle en exécutant NuGet restaurer directement sur la ligne de commande.

mono external/nuget-binary/NuGet.exe restore Main.sln 

Si le message d'erreur contient:

Error getting response stream (Write: The authentication or decryption has failed.): SendFailure 

Alors ceci est très probablement une erreur de certificat depuis Linux by default does not trust any certificates.

Cette erreur NuGet peut généralement être résolu en exécutant la commande suivante:

mozroots --import --sync 

Si cela ne fonctionne pas au-dessus de jeter un oeil au poste NuGet on Linux Error Getting Response Stream StackOverflow qui a d'autres mozroots légèrement différentes commandes que vous pouvez essayer.

+0

Awesome, Matt. Merci beaucoup. – Tico

+0

Une autre chose qui pourrait affecter les utilisateurs utilisant GNOME. Le terminal gnome récent n'accepte plus l'argument --disable-factory. Donc, si vous voulez accéder à Monodevelop en dehors du terminal, créez un script: 'exporter GNOME_DESKTOP_SESSION_ID = && monodevelop' et remplacez le fichier .desktop par le script au lieu de simplement monodevelop. (Note: 'GNOME_DESKTOP_SESSION_ID && monodevelop' peut également fonctionner). – Tico

+0

La première commande a fait l'affaire pour moi sur Ubuntu 14. Merci beaucoup! –

Questions connexes