2010-11-23 5 views
5

Mise à jour: Essayé Novembre CTP sortie. Même message d'erreur J'ai oublié de mentionner que l'édition du serveur Ubuntu est installée sur ce serveur. Je n'ai pas ce problème sur mon bureau Ubuntu qui exécute Desktop 10.10. J'ai donc suspecté que certaines bibliothèques liées à la ligne de commande manquaient. Après avoir installé libreadline-dev et libreadline5, le message d'erreur a disparu. Cependant, le problème que fsi est toujours là.FSI.exe ne fonctionne pas sous Ubuntu 10.10

Mise à jour 2: J'ai essayé le nouveau Mono 2.8.1. Même problème bloqué par FSI.

Mise à jour 3: Comme ce problème est très reproductible, je l'ai signalé comme un bogue dans fsi.exe à Microsoft. Voyons comment ça se passe.

Mise à jour4: Vous avez une réponse rapide de Don Syme. La solution qu'il a proposée a résolu ce problème. J'ai créé la réponse moi-même.

Salut,

I installé F # 2.0 dans un serveur exécutant Ubuntu 10.10 et Mono 2.8. fsc.exe fonctionne parfaitement, je n'ai aucun problème à compiler des fichiers fs. Cependant, quand je lance fsi.exe comme suit: mono /usr/local/FSharp/bin/fsi.exe

Je suis l'invite FSI, mais un message d'erreur ne cessent de répéter

« Échec de l'installation ctrl -c handler - La manipulation de Ctrl-C ne sera pas disponible Erreur: Une exception a été lancée par la cible d'une invocation "

Est-ce que quelque chose me manque ici?

Le Mono 2.8 a été compilé et installé à partir de la source.

+0

Avez-vous utilisé la dernière version CTP de F # de novembre? Est-ce que cela tue FSI ou pouvez-vous continuer à l'utiliser (même si Ctrl + C ne fonctionne pas pour rompre l'exécution de code F #) –

+0

J'ai utilisé la version CTP d'août 2010. N'était pas au courant de la nouvelle version. Je vais l'essayer. Le symptôme était qu'après avoir montré ce message d'erreur, FSI est resté là - il est toujours là mais n'a jamais répondu à mon entrée – Cygwin98

Répondre

7

Sentez-vous vraiment gênant de répondre à ma propre question.Quoi qu'il en soit, je vais y répondre afin que d'autres puissent en bénéficier.

Tout d'abord, installer libreadline-dev et libreadline5 afin que vous puissiez vous débarrasser du message d'erreur suivant

Échec de l'installation gestionnaire ctrl-c - manipulation Ctrl-C ne sera pas disponible. Erreur était: Une exception a été levée par la cible d'un appel

Si vous rencontrez problème coincé fsi.exe, essayez

fsi --gui- 

Il fonctionne parfaitement dans mon cas.

Voici ma compréhension de la raison pour laquelle un tel problème s'est produit. Si vous regardez dans le code, vous trouverez fsi.exe références System.Windows.Forms, qui plus loin des liens vers le système de fenêtre. Dans mon cas, j'ai couru fsi dans un serveur sans système X installé. Par conséquent, fsi est resté là à essayer de parler au X inexistant. Cela explique pourquoi je n'ai pas le problème sur mon bureau.

1

F # n'a jamais travaillé pour moi sous Linux. Aujourd'hui, avec Mono 2.8 et Novembre 2010 baisse de F # (qui a confusément le nombre exact même version que la version précédente ?!) Je reçois:

$ sudo ./install-mono.sh 
In order to add FSharp.Core.dll to the Mono GAC the DLL needs to be 
re-signed with the mono.snk key. The mono.snk key is available from 
the 'Mono Sources'. 

    http://www.mono-project.com/ 
    http://github.com/mono/mono/raw/master/mcs/class/mono.snk 

For example, run: 
    wget -O mono.snk http://github.com/mono/mono/raw/master/mcs/class/mono.snk 

Then re-run this script. 

An alternative to installing the DLLs in the Mono GAC is to add the 
FSharp bin directory to the MONO_PATH variable. For more information 
on 'How Mono Finds Assemblies' see http://www.mono-project.com/Gacutil 

Si je lance la commande wget qu'il suggère alors il meurt:

$ wget -O mono.snk http://github.com/mono/mono/raw/master/mcs/class/mono.snk 
--2010-11-23 17:02:43-- http://github.com/mono/mono/raw/master/mcs/class/mono.snk 
Resolving github.com... 207.97.227.239 
Connecting to github.com|207.97.227.239|:80... connected. 
HTTP request sent, awaiting response... 301 Moved Permanently 
Location: https://github.com/mono/mono/raw/master/mcs/class/mono.snk [following] 
--2010-11-23 17:02:44-- https://github.com/mono/mono/raw/master/mcs/class/mono.snk 
Connecting to github.com|207.97.227.239|:443... connected. 
ERROR: certificate common name `*.github.com' doesn't match requested host name `github.com'. 
To connect to github.com insecurely, use `--no-check-certificate'. 
Unable to establish SSL connection. 

maintenant, si je réexécuter le F # installeur je reçois une autre erreur:

$ sudo ./install-mono.sh 
-- Resigning FSharp.Core.dll with mono.snk 
ERROR: Invalid number of parameters. 

Usage: sn [-q | -quiet] options [parameters] 

-q | -quiet   Quiet mode (minimal display) 

Help options 
-? | -h    Show this help screen about the tool 
-? | -h config   Configuration options 
-? | -h csp   Crypto Service Provider (CSP) related options 
-? | -h convert  Format convertion options 
-? | -h sn    StrongName signing options 
-- Installing FSharp DLLS into the GAC 
Failure adding assembly bin/FSharp.Core.dll to the cache: Strong name cannot be verified for delay-signed assembly 

Si je copie le fichier mono.snk du directeur Mono 2.8 y dans le répertoire F # à la main puis le programme d'installation semble fonctionner:

$ sudo ./install-mono.sh 
-- Resigning FSharp.Core.dll with mono.snk 
Assembly bin/FSharp.Core.dll signed. 
-- Installing FSharp DLLS into the GAC 
Installed bin/FSharp.Core.dll into the gac (/usr/local/lib/mono/gac) 

Mais F # lui-même ne fonctionne toujours pas exactement de la même manière qu'il a fait avant (apparaissant à suspendre dès que l'entrée est entrée):

$ mono bin/fsi.exe 

Microsoft (R) F# 2.0 Interactive build 2.0.0.0 
Copyright (c) Microsoft Corporation. All Rights Reserved. 

For help type #help;; 

> 1+2*3;; 

Je dois utiliser CTRL + Z pour reprendre le contrôle, puis kill %1 pour tuer le processus escroc.

+0

Salut, Jon, je suis passé par les mêmes étapes que vous. Maintenant, le message d'erreur est parti alors que le fsi est toujours bloqué. Je suppose qu'il doit manquer certaines autres bibliothèques. – Cygwin98

Questions connexes