2016-04-13 4 views
0

Wenn der Wein-1.8.2/configure ausgeführt wird, meldet es flex Version zu alt ist:Wie bestimmte Version von Befehl zwingen in/bin/sh

configure: error: Your flex version is too old. Please install flex version 2.5.33 or newer

Wein 1.8.2/configure:

#! /bin/sh 
# Guess values for system-dependent variables and create Makefiles. 
# Generated by GNU Autoconf 2.69 for Wine 1.8.2. 
... 

ich installierte flex-2.6.0 in meiner Umgebung und legen Sie Alias ​​in .cshrc:

alias flex /user/user_name/TOOLS/flex-2.6.0/bin/flex 

Aber konfigurieren noch Berichte die gleiche Fehlermeldung.

Nachdem ich FLEX=$ac_cv_prog_FLEX zu FLEX=/user/user_name/TOOLS/flex-2.6.0/bin/flex geändert habe, hört es auf, die Flex-Version-Warnung zu melden.

Ich frage mich, wie man eine bestimmte in einem Skript erzwingt. Vielen Dank!

+1

Sie scheinen dieses Problem gelöst zu haben? Warum nicht dasselbe in einem Skript machen? – pfnuesel

+0

Ich möchte eine allgemeine Lösung finden, sonst muss jedes Skript Pfad. Vielen Dank! – Fisher

Antwort

1

sollten Sie voranstellen das Verzeichnis, das Sie die neuere Version des flex Befehl in Ihre PATH Umgebungsvariable installiert haben. Stellen Sie sicher, dass dieses Verzeichnis vor dem Verzeichnis mit der älteren Version angezeigt wird. Dies ist die erste gefundene Version.

Das Setzen eines Alias ​​in .cshrc funktioniert nur für Ihre interaktive C-Shell. Es hat keine Auswirkungen auf die nicht interaktive Bourne-ähnliche Shell (/bin/sh), die zur Interpretation des configure-Skripts verwendet wird. Ich habe nicht die C-Shell verwenden, aber Sie so etwas wie die folgenden in Ihrem .login Start-up-Datei haben könnte:

setenv PATH "/user/user_name/TOOLS/flex-2.6.0/bin/flex:$PATH" 

Wenn Ihr OS verwendet eine Bourne-Stil .profile für die Anpassung Ihrer Umgebung, würden Sie brauchen, zu aktualisieren Diese Datei verwendet die Syntax für eine Bourne-artige Shell:

export PATH="/user/user_name/TOOLS/flex-2.6.0/bin/flex:$PATH" 
+0

Danke für Ihren Vorschlag. Nicht sicher, was ".login Start-up-Datei" ist. Versucht, ein lokales Flex-Verzeichnis zu PATH hinzuzufügen, aber es funktioniert nicht, es wählt immer noch/usr/bin/flex als Standard. – Fisher

+0

@Fisher '.login' enthält Befehle, die ausgeführt werden, wenn Sie eine C-ähnliche Shell zum Anmelden starten (normalerweise zum Konfigurieren von Umgebungsvariablen wie dem Pfad zum Suchen von Befehlen). Ich habe die Frage so bearbeitet, dass sie die Befehle enthält, die für die Bourne-Shell ausgeführt werden. Wahrscheinlich müssen Sie mit den Startdateien Ihres Betriebssystems vertrauter sein, um sicher zu wissen, welche Datei Sie bearbeiten sollten. –

Verwandte Themen