Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Lejos installeren  (gelezen 13167 keer)

nearus magnus

  • Gast
Lejos installeren
« Gepost op: 2008/12/01, 14:06:47 »
Ik zou graag gebruik maken van mijn Mindstorm RCX vanuit Ubuntu 8.10 32-bit.
Graag zou ik deze programmeren in java met behulp van Lejos 2.1.0. Helaas lukt het mij niet het te installeren. Aangezien ik enkele classpaths toe moet voegen heb ik het volgende aan mijn .profile bestandje toegevoegd:

export LEJOS_HOME=/home/stan/lejos/lejoswin
export PATH=$PATH:$/home/stan/lejos/lejoswin/bin
export CLASSPATH=$CLASSPATH:.:$/home/stan/lejos/lejoswin/lib/classes.jar:$/home/stan/lejos/lejoswin/lib/pcrcxcomm.jar
export RCXTTY=/dev/usb/legousbtower0

welk pakket in synaptic heb ik nodig om sun's java sdk te installeren?

Re: Lejos installeren
« Reactie #1 Gepost op: 2008/12/01, 17:27:01 »
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

nearus magnus

  • Gast
Re: Lejos installeren
« Reactie #2 Gepost op: 2008/12/01, 17:53:25 »
Ok, java is nu in ieder geval goed geïnstalleerd maar Lejos lukt nog steeds niet, als ik vanuit de lejos map het 'ant' commando geeft zegt hij dat dat bestand niet gevonden kan worden. Wanneer ik 'make' probeer krijg ik een paar foutmeldingen:stan@stan-laptop:~/lejos/lejos_2_1_0$ make
cd tools; make OSTYPE=linux
make[1]: Entering directory `/home/stan/lejos/lejos_2_1_0/tools'
cd firmdl; make
make[2]: Entering directory `/home/stan/lejos/lejos_2_1_0/tools/firmdl'
gcc -O2    -c -o mkimg.o mkimg.c
mkimg.c: In function ‘srec_load’:
mkimg.c:63: warning: incompatible implicit declaration of built-in function ‘exit’
mkimg.c:84: warning: incompatible implicit declaration of built-in function ‘exit’
mkimg.c:99: warning: incompatible implicit declaration of built-in function ‘exit’
mkimg.c:111: warning: incompatible implicit declaration of built-in function ‘exit’
mkimg.c:131: warning: incompatible implicit declaration of built-in function ‘exit’
mkimg.c: In function ‘main’:
mkimg.c:173: warning: incompatible implicit declaration of built-in function ‘exit’
gcc -O2    -c -o srec.o srec.c
gcc mkimg.o srec.o -o mkimg -O2
./mkimg fastdl.srec > fastdl.h
gcc -O2    -c -o firmdl.o firmdl.c
firmdl.c: In function ‘main’:
firmdl.c:631: warning: format not a string literal and no format arguments
gcc -O2    -c -o rcx_comm.o rcx_comm.c
rcx_comm.c: In function ‘nbread’:
rcx_comm.c:165: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘long int’
rcx_comm.c:178: warning: format ‘%d’ expects type ‘int’, but argument 3 has type ‘long int’
rcx_comm.c:184: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘long int’
rcx_comm.c:195: warning: format ‘%d’ expects type ‘int’, but argument 4 has type ‘long int’
rcx_comm.c: In function ‘mywrite’:
rcx_comm.c:275: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘long int’
rcx_comm.c:279: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘long int’
rcx_comm.c:284: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘long int’
rcx_comm.c:290: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘long int’
gcc -O2    -c -o util.o util.c
gcc firmdl.o srec.o rcx_comm.o util.o -o ../../bin/lejosfirmdl -O2 
make[2]: Leaving directory `/home/stan/lejos/lejos_2_1_0/tools/firmdl'
gcc -I../vmsrc -Wall -Wno-unused -O2  -c lejosrun.c
lejosrun.c: In function ‘main’:
lejosrun.c:263: warning: format not a string literal and no format arguments
gcc lejosrun.o firmdl/rcx_comm.o -o ../bin/lejosrun
gcc -I../vmsrc -Wall -Wno-unused -O2  -c util.c
gcc -DTOOL_NAME=\"javac\" -DTOOL_ALT_VAR=\"JAVAC\" -DJAVA2 -c jtoolexec.c
gcc jtoolexec.o util.o -o ../bin/lejosc
gcc -DTOOL_NAME=\"javap\" -DTOOL_ALT_VAR=\"JAVAP\" -DJAVA2 -c jtoolexec.c
gcc jtoolexec.o util.o -o ../bin/lejosp
gcc -DTOOL_NAME=\"javac\" -DTOOL_ALT_VAR=\"JAVAC\" -c jtoolexec.c
gcc jtoolexec.o util.o -o ../bin/lejosc1
gcc -DTOOL_NAME=\"javap\" -DTOOL_ALT_VAR=\"JAVAP\" -c jtoolexec.c
gcc jtoolexec.o util.o -o ../bin/lejosp1
gcc -DWRITE_ORDER=\"BE\" -DLOADER_TOOL=\"lejosrun\"  -c javaexec.c
gcc javaexec.o util.o -o ../bin/lejos
gcc -DWRITE_ORDER=\"LE\" -DLOADER_TOOL=\"emu-lejosrun\" -c javaexec.c
gcc javaexec.o util.o -o ../bin/emu-lejos
make[1]: Leaving directory `/home/stan/lejos/lejos_2_1_0/tools'
javac -target 1.1 -classpath classes `find classes -name '*.java'`
/bin/sh: javac: not found
make: *** [core_classes] Error 127

op de officiële website van lejos staat een handleiding maar het wil maar niet lukken. Ben er al flink wat uurtjes mee zoet geweest maar het lukt gewoon niet. De handleiding staat http://lejos.sourceforge.net/rcx/tutorial/getstarted/firstbrick/linux.html.

Re: Lejos installeren
« Reactie #3 Gepost op: 2008/12/01, 19:00:48 »
heb je de sun-java6-jdk geïnstalleerd? Hij kan namelijk Javac (de java compiler) niet vinden.

- SeySayux
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

nearus magnus

  • Gast
Re: Lejos installeren
« Reactie #4 Gepost op: 2008/12/01, 20:13:55 »
ja, heb ik geïnstalleerd, maar het lukt maar niet. Ik baal hier stevig van want ik heb lejos nodig voor een project en zolang het niet werkt kan ik hier niet verder mee.

Re: Lejos installeren
« Reactie #5 Gepost op: 2008/12/01, 20:43:31 »
Typ eens:
which javac
find /usr -type f javac
apt-cache showpkg sun-java6-jdk
# heel erg wanhopig...
sh 'echo $PATH'

- SeySayux
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

nearus magnus

  • Gast
Re: Lejos installeren
« Reactie #6 Gepost op: 2008/12/01, 22:40:41 »
stan@stan-laptop:~/Bureaublad$ sh lejosscriptje
find: paths must precede expression: javac
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
Package: sun-java6-jdk
Versions:
6-10-0ubuntu2 (/var/lib/apt/lists/nl.archive.ubuntu.com_ubuntu_dists_intrepid_multiverse_binary-i386_Packages) (/var/lib/dpkg/status)
 Description Language:
                 File: /var/lib/apt/lists/nl.archive.ubuntu.com_ubuntu_dists_intrepid_multiverse_binary-i386_Packages
                  MD5: cb47d4c49fa7317c472613b7010ef9d8


Reverse Depends:
  sun-java6-source,sun-java6-jdk 6-10-0ubuntu2
  sun-java6-javadb,sun-java6-jdk 6-10-0ubuntu2
  sun-java6-demo,sun-java6-jdk
  sun-java6-demo,sun-java6-jdk 6-10-0ubuntu2
  glassfishv2-bin,sun-java6-jdk
  glassfishv2,sun-java6-jdk
  libnb-java2-java,sun-java6-jdk
Dependencies:
6-10-0ubuntu2 - sun-java6-bin (5 6-10-0ubuntu2) libc6 (0 (null)) libx11-6 (0 (null)) debconf (18 0.5) debconf-2.0 (0 (null)) sun-java6-demo (0 (null)) sun-java6-doc (0 (null)) sun-java6-source (0 (null))
Provides:
6-10-0ubuntu2 - java6-sdk java5-sdk java2-sdk java2-compiler java-sdk java-compiler
Reverse Provides:
sh: Can't open echo $PATH
stan@stan-laptop:~/Bureaublad$

dit is het resultaat. Helaas ben ik zelf niet handig genoeg er iets van te maken. Misschien dat je me nog verder kunt helpen. Bedankt voor de hulp en moeite!

Re: Lejos installeren
« Reactie #7 Gepost op: 2008/12/02, 17:30:53 »
nog een keertje dit... (je kan dit gewoon kopieren en plakken)
which javac
find /usr -name javac

Zoek ook eens in synaptic naar jdk en neem even een screenshot, wil je?

- SeySayux
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

nearus magnus

  • Gast
Re: Lejos installeren
« Reactie #8 Gepost op: 2008/12/02, 17:57:56 »
stan@stan-laptop:~$ which javac
stan@stan-laptop:~$ find /usr -name javac
/usr/lib/jvm/java-6-sun-1.6.0.10/bin/javac
^C
stan@stan-laptop:~$ which javac
stan@stan-laptop:~$ find /usr -name javac
/usr/lib/jvm/java-6-sun-1.6.0.10/bin/javac
/usr/share/doc/sun-java6-jdk/html/technotes/guides/javac
/usr/share/doc/sun-java6-jdk/html/jdk/api/javac
/usr/bin/javac
stan@stan-laptop:~$
zoals je ziet geeft "which javac" geen output.

nogmaals bedankt voor je hulp, de screenshots zijn als het goed is toegevoegd als bijlage.



[verwijderd door de beheerder]

Re: Lejos installeren
« Reactie #9 Gepost op: 2008/12/02, 18:36:59 »
dat which geen uitvoer geeft, is op zich al vreemd... maar je hebt in /usr/bin een javac staan... ik zou dus proberen (in de builddir van lejos)

sed -i 's@javac@/usr/bin/javac@g' Makefile
Dit vervangt overal in de Makefile javac door /usr/bin/javac
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

nearus magnus

  • Gast
Re: Lejos installeren
« Reactie #10 Gepost op: 2008/12/02, 18:41:04 »
het kan nog gekker, na het uitvoeren van het sed.... commando gevolgd door make krijg ik de volgende foutmelding:
stan@stan-laptop:~$ cd /home/stan/lejos/lejos_2_1_0/
stan@stan-laptop:~/lejos/lejos_2_1_0$ sed -i 's@javac@/usr/bin/javac@g' Makefile
stan@stan-laptop:~/lejos/lejos_2_1_0$ make
cd tools; make OSTYPE=linux
make[1]: Entering directory `/home/stan/lejos/lejos_2_1_0/tools'
cd firmdl; make
make[2]: Entering directory `/home/stan/lejos/lejos_2_1_0/tools/firmdl'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/stan/lejos/lejos_2_1_0/tools/firmdl'
make[1]: Leaving directory `/home/stan/lejos/lejos_2_1_0/tools'
/usr/bin/javac -target 1.1 -classpath classes `find classes -name '*.java'`
/bin/sh: /usr/bin/javac: not found
make: *** [core_classes] Error 127

/usr/bin/java not found.... vreemd, zijn er nog andere mogelijkheden? bedankt voor je snelle reactie trouwens!

Re: Lejos installeren
« Reactie #11 Gepost op: 2008/12/02, 19:08:17 »
ik kan nog twee dingen aanraden:
1)
sudo rm /bin/sh && sudo ln -sv bash /bin/sh2)
Post die verdraaide Makefile eens hier...
- SeySayux

EDIT: ik heb lejos eens gedownload, en er zit een ant-file bij mij in, en geen makefile??? Welke versie heb je en van welke website?

- SeySayux
« Laatst bewerkt op: 2008/12/02, 19:12:14 door SeySayux »
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

nearus magnus

  • Gast
Re: Lejos installeren
« Reactie #12 Gepost op: 2008/12/02, 19:57:52 »
ik heb versie 2.1.0 van de lejos sourceforge website. Er wordt inderdaad verteld dat je het met ant moet proberen maar op een ander forum over ubuntu heb ik gelezen dat het daar niet werkte maar wel met make. Dat topic is echter al behoorlijk oud dus probeer ik het hier.

wanneer ik ant gebruik krijg ik, zoals ik ook zeg in post 2, een foutmelding:
stan@stan-laptop:~/lejos/lejos_2_1_0$ ant
Buildfile: build.xml does not exist!
Build failed

Volgens ant zit er dus geen build.xml bestand bij. Wel zitten er makefiles bij, zie bijlage.

website: http://downloads.sourceforge.net/lejos/lejos_2_1_0.tar.gz?modtime=1040083200&big_mirror=0

Re: Lejos installeren
« Reactie #13 Gepost op: 2008/12/03, 14:38:39 »
Ik zou graag gebruik maken van mijn Mindstorm RCX vanuit Ubuntu 8.10 32-bit.
Het werkt perfect hier onder Ubuntu 8.04 en Mac OS X Leopard. Blijkbaar heb ik je probleem dus gevonden...
Helaas ken ik niets van Ubuntu 8.10, en er zijn niet veel andere java-programmeurs op het forum... Heel vreemd dat hij zelfs /usr/bin/javac niet vindt, en dat which geen uitvoer geeft...

- SeySayux
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

nearus magnus

  • Gast
Re: Lejos installeren
« Reactie #14 Gepost op: 2008/12/03, 17:56:20 »
ik ben nu aan het proberen lejos te installeren in een virtual machine. Eerst met Ubuntu 8.10 om te kijken of het aan verkeerde instellingen op mijn gewone ubuntu-installatie ligt. Wanneer het niet werkt zal ik het proberen met een VM in ubuntu 8.04.

Was het gewoon een kwestie van 'ant' en klaar of kwam er toch nog meer bij kijken?

Re: Lejos installeren
« Reactie #15 Gepost op: 2008/12/03, 20:53:53 »
make JAVAC='javac -target 1.5'Hij gaf wel nog wat foutmeldingen wat betreft het compileren, maar dat zal waarschijnlijk zijn omdat ik niet m'n hele build environment geïnstalleerd heb, en omdat ik geen RCX heb (helaas).
Trouwens, zou dat spul (met wat aanpassingen) ook op TI-rekenmachines werken? :P

- SeySayux
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

nearus magnus

  • Gast
Re: Lejos installeren
« Reactie #16 Gepost op: 2008/12/03, 21:07:53 »
ik heb 8.04 nu in een virtual machine staan en ((alleen)) sun's java geïnstalleerd, evenals ant. Heb jij ook nog dingen verandert buiten dit zoals classpaths etc. Ik kom daar zelf namelijk niet uit en misschien zou je me daarmee ook nog even kunnen helpen.

ik krijg trouwens opnieuw de foutmelding dat het build.xml bestand niet bestaat. Ik kan het zelf ook niet vinden in de map. Weet iemand misschien wat ik fout doe??
« Laatst bewerkt op: 2008/12/03, 23:21:14 door nearus magnus »

Re: Lejos installeren
« Reactie #17 Gepost op: 2008/12/04, 08:14:01 »
Je moet make gebruiken, niet ant.
make JAVAC='javac -target 1.5'Zou moeten volstaan.
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

nearus magnus

  • Gast
Re: Lejos installeren
« Reactie #18 Gepost op: 2008/12/04, 17:41:35 »
het compileren is inderdaad gelukt. Bedankt voor de hulp hierbij. Het programma werkt echter nog niet (goed). Tijdens het draaien van firmdl (het programma om de lejos firmware te versturen naar de rcx-robot) krijg ik de volgende foutmeldingen:
stan@stan-laptop:~$ cd /home/stan/Desktop/lejos/lejos_2_1_0/bin/
stan@stan-laptop:~/Desktop/lejos/lejos_2_1_0/bin$ sh firmdl
[: 12: cygwin: unexpected operator
Exception in thread "main" java.lang.NoClassDefFoundError: js/tools/Firmdl
Caused by: java.lang.ClassNotFoundException: js.tools.Firmdl
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
stan@stan-laptop:~/Desktop/lejos/lejos_2_1_0/bin$

Ik denk niet dat het op een rcx werkt trouwens. Je zult er ook niet zoveel aan hebben want wat heb je aan een commando zoals MotorA.forward op een rekenmachine  =D
Lijkt me wel leuk trouwens, java op een ti...

Re: Lejos installeren
« Reactie #19 Gepost op: 2008/12/05, 16:09:53 »
Komt er op ner dat hij de klasse js.tools.Firmdl niet kan vinden. Graag de inhoud van dat script firmdl.

- SeySayaux
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

nearus magnus

  • Gast
Re: Lejos installeren
« Reactie #20 Gepost op: 2008/12/05, 17:52:15 »
Firmdl:
#!/bin/bash

#
# firmdl: Downloads firmware to the RCX
#
# 12/12/02  created L. Griffiths

if [ $OSTYPE == "cygwin" ]; then
  SEPARATOR=";"
else
  SEPARATOR=":"
fi

if [ -z "$LEJOS_HOME" ]; then
  echo LEJOS_HOME is not defined
else
  java -Djava.library.path="$LEJOS_HOME/bin" -classpath "$LEJOS_HOME/lib/jtools.jar$SEPARATOR$LEJOS_HOME/lib/pcrcxcomm.jar" js.tools.Firmdl $*
fi

Ik zie $LEJOS_HOME/bin staan, ik denk dat ik deze dus ergens moet definiëren. Weet je misschien waar ik dit moet doen of heeft dit niets te maken met de foutmelding die ik krijg?
Nogmaals bedankt trouwens!

Offline profoX

  • Lid
    • wesley
    • Lionslink
Re: Lejos installeren
« Reactie #21 Gepost op: 2008/12/05, 18:15:33 »
LEJOS_HOME="foobar" ./firmdl
waarbij foobar de map is
Human Knowledge Belongs To The World -- Antitrust (2001)
Nederlandstalige Ubuntu documentatie van Ubuntu-NL (wiki)

nearus magnus

  • Gast
Re: Lejos installeren
« Reactie #22 Gepost op: 2008/12/05, 19:15:00 »
de foutmelding blijft hetzelfde helaas. Misschien is het nodig om hetzelfde te doen voor de java compiler, iets als JAVA_HOME=... Waar wordt java (van sun) standaard geïnstalleerd onder ubuntu?

Re: Lejos installeren
« Reactie #23 Gepost op: 2008/12/05, 19:26:21 »
LEJOS_HOME="foobar" OSTYPE="SeySayux_is_Almighty" ./firmdl

dat zou moeten werken ;) ( profoX, je had toch moeten weten dat dit de fout was ;) )

- SeySayux
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

nearus magnus

  • Gast
Re: Lejos installeren
« Reactie #24 Gepost op: 2008/12/05, 21:44:25 »
dat werkt helaas ook niet. Blijkbaar is SeySayux toch niet zo 'almighty'  ;)

Maar weet je misschien hoe ik het volgende doe, dit staat beschreven in de lejos tutorial:
Add the SDK's bin directory to your PATH environment variable.