Unixkommando - Installera TrueTime 1.5

Tråden skapades och har fått 12 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Stockholm
  • 2010-02-17 11:12

Hej!

Jag har försökt installera TrueTime ( TrueTime: Simulation of Networked and Embedded Control Systems ) utan framgång. Jag placerade tråden under UNIX eftersom instruktionerna är för Unix/Linux operativsystem. Instruktionerna säger följande:

Citat:

Download and extract the compressed archive (truetime-1.5.zip), available at
TrueTime: Simulation of Networked and Embedded Control Systems
Extracting the file creates a truetime-1.5 directory, which will be referred to as $DIR in the sequel.
Before starting Matlab, you must set the environment variable TTKERNEL to point to the directory with the TRUETIME kernel files, $DIR/kernel. This is typically done in the following manner:
• Unix/Linux: export TTKERNEL=$DIR/kernel • Windows: use Control Panel / System / Advanced / Environment Variables
Then add the following lines to your Matlab startup script. This will set up all necessary paths to the TRUETIME kernel files.
addpath([getenv(’TTKERNEL’)]) init_truetime;

När jag sedan kör init_truetime ger det bara

Ursprungligen av MATLAB:

??? Undefined function or variable 'init_truetime'.

Jag skriver alltså följande i terminalen

Citat:

export TTKERNEL=$/Users/.../truetime-1.5/kernel

där ... förstås är exakta adressen. Så, är det inte samma kommandon i OS X som i Linux/Unix eller vad är det som går fel??

Tacksam för hjälp!

  • Medlem
  • Stockholm
  • 2010-02-17 11:57

Och om jag i MATLAB står i TrueTime-mappen och skriver init_truetime ger det:

Ursprungligen av MATLAB:

??? Error using ==> init_truetime at 3
Environment variable TTKERNEL not defined - please quit MATLAB and set this variable first. See Section 2 of the reference manual

Section 2, vilket är det jag skrev i förra inlägget. Så jag antar att "export" aldrig tar så att säga.

  • Medlem
  • Stockholm
  • 2010-02-17 12:43

Ok, strunta i vad jag skrev tidigare. Jag tror problemet är att jag inte sätter "miljövariabeln" korrekt.
Så hur gör man?
Vad betyder egentligen DIR i följande: export TTKERNEL=$DIR/kernel ? Bara ett generiskt namn för en mapp-address?

Måste man skriva "PATH" före adressen, typ TTKERNEL=$PATH:/Users... ?

Hur gör man!?!?! Börjar bli något frustrerad!

  • Medlem
  • Kiruna
  • 2010-02-17 13:47

Du kan också kontrollera att miljövariabeln är satt genom följande:

echo $TTKERNEL
  • Medlem
  • Stockholm
  • 2010-02-17 14:11
Ursprungligen av spot:

Du kan också kontrollera att miljövariabeln är satt genom följande:

echo $TTKERNEL

Tack tack tack! Började misströsta. Kan du MATLAB också? Echo bekräfter att sökvägen är satt. Det ändrar inte utfallet i matlab dock. Säger samma sak som tidigare. Antingen "Undefined function..." eller "Error using... Environment variable TTKERNEL not defined..." Precis som tidigare.

Edit: kan du göra det åt mig via iChat?

  • Medlem
  • Kiruna
  • 2010-02-17 13:45
Citat:

export TTKERNEL=$/Users/.../truetime-1.5/kernel

Det ska inte vara ett dollartecken innan sökvägen. Dollartecknet används för variabelsubstitution, ex:

TTDIR=/path/to/ttdir
TTKERNEL=$TTDIR/kernel
export TTKERNEL

Men när du anger den direkta sökvägen behövs ju inte det.

Alltså:

export TTKERNEL=/Users/.../truetime-1.5/kernel
  • Medlem
  • Stockholm
  • 2010-02-17 14:41

Startar du MATLAB i samma terminalsession (fönster) som där du satte variabeln TTKERNEL?

  • Medlem
  • Stockholm
  • 2010-02-17 15:41

Nä, det gör jag ju inte! Jag kör MATLAB med X11 GUI så det är kanske där jag ska skriva in kommandot? Annars trodde jag att den där environment variabeln var en helt global variabel...

Tack pesc för att du kom ned till min nivå!

EDIT: funkar samma kommandon i X11 som i "vanliga" terminalen?

  • Medlem
  • Stockholm
  • 2010-02-17 15:49

Nix, samma grej om jag skriver in det i X11:s terminal. Fast det kanske inte var speciellt förvånande? Jag missförstod kanske vad du var ute efter?

  • Medlem
  • Stockholm
  • 2010-02-17 16:06

Jag har aldrig kört MATLAB och vet inte hur du startar det.

Det borde fungera om du startar programmet i samma fönster som där du sätter variabeln. T.ex.

$ export TTKERNEL=/Users/.../truetime-1.5/kernel
$ echo $TTKERNEL # Stämmer variabeln?
$ ls $TTKERNEL # Finns det något på den pathen?
$ /path/to/program/mathlab #Starta mathlab (eller vilket kommando du nu använder)

Alltså, alla kommandon, inklusive det som startar MATLAB i samma session.

Att programmet sedan med hjälp av X11 öppnar nya, egna fönster har ingen betydelse.

Environment-variabler är (normalt) inte globala.

/Per

  • Medlem
  • Stockholm
  • 2010-02-17 16:51

Jeppsk! Det funkar om jag både skriver in det där kommandot och startar matlab i X11!

Där kommer det igen... jag har ingen aning om varför det funkade nu. Vad är en terminal liksom? Varför får matlab bara tillgång variabler om de startas upp i samma terminal? Som sagt, jag trodde att environment variables var nåt som hela operativsystemet hade tillgång till... Och när ska jag få tid till att läsa in mig på UNIX (det här är nog en hint att jag snarast inte har tid att inte läsa in mig på UNIX)?

Hur som helst, ett stort tack ska du ha!

  • Medlem
  • Kiruna
  • 2010-02-18 17:59

För att inte behöva bry dig om att skriva export-kommandot varje gång kan du lägga till det i din kommandotolks init-fil. (Ex. ~/.bash_profile för Bash, ~/.tcshrc för Tcsh eller ~/.profile, som läses av de flesta kommandotolkar.

  • Medlem
  • Stockholm
  • 2010-02-18 18:28

Jo, just det. Jag läste om det. Tyvärr var det nåt annat som felade också, så jag gav upp till slut. Det slutade med att jag gjorde alltihopa i Windowsmiljö istället. Det är jäkligt synd för TrueTime är någonting jag gillar skarpt. Tack ändå för hjälpen!

1
Bevaka tråden