Sida 1 av 1

Kompilera AVRdude för Ubuntu?

Postat: 6 februari 2007, 11:40:54
av FS
Senaste AVRdude finns inte i pakethantararen så man måste installera själv...

Hade tänkt installera med:
# tar xvzf avrdude-5.3.1.tar.gz
# cd avrdude-5.3.1
# ./configure
# make
# make install

Men... När jag kör make möts jag av:
fredrik@laptop:~/AVR/avrdude-5.3.1$ make
make all-recursive
make[1]: Entering directory `/home/fredrik/AVR/avrdude-5.3.1'
make[2]: Entering directory `/home/fredrik/AVR/avrdude-5.3.1'
yacc -d config_gram.y
/bin/bash: yacc: command not found
make[2]: *** [config_gram.c] Error 127
make[2]: Leaving directory `/home/fredrik/AVR/avrdude-5.3.1'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/fredrik/AVR/avrdude-5.3.1'
make: *** [all] Error 2

Vad gör jag för fel?

Postat: 6 februari 2007, 11:43:20
av FS
Eller rättare sagt jag ser att den inte hittar yacc... Men vad gör jag åt det? Tankar hem yacc och kör igen?

Postat: 6 februari 2007, 12:07:32
av $tiff
sudo? kör som root? :humm:

Postat: 6 februari 2007, 15:48:33
av FS
Tankade hem bison som verkar var nån GNU variant av yacc...

sedan körde jag make (som root...)

root@n200:/home/fredrik/AVR/avrdude-5.3.1# make
make all-recursive
make[1]: Entering directory `/home/fredrik/AVR/avrdude-5.3.1'
make[2]: Entering directory `/home/fredrik/AVR/avrdude-5.3.1'
bison -y -d config_gram.y
config_gram.y:143.8-18: warning: symbol K_WRITEPAGE redeclared
if test -f y.tab.h; then \
to=`echo "config_gram_H" | sed \
-e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
-e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`; \
sed -e "/^#/!b" -e "s/Y_TAB_H/$to/g" -e "s|y\.tab\.h|config_gram.h|" \
y.tab.h >config_gram.ht; \
rm -f y.tab.h; \
if cmp -s config_gram.ht config_gram.h; then \
rm -f config_gram.ht ;\
else \
mv config_gram.ht config_gram.h; \
fi; \
fi
if test -f y.output; then \
mv y.output config_gram.output; \
fi
sed '/^#/ s|y\.tab\.c|config_gram.c|' y.tab.c >config_gram.ct && mv config_gram.ct config_gram.c
rm -f y.tab.c
if gcc -DHAVE_CONFIG_H -I. -I. -I. -DCONFIG_DIR=\"/usr/local/etc\" -Wall -g -O2 -MT avrdude-config_gram.o -MD -MP -MF ".deps/avrdude-config_gram.Tpo" -c -o avrdude-config_gram.o `test -f 'config_gram.c' || echo './'`config_gram.c; \
then mv -f ".deps/avrdude-config_gram.Tpo" ".deps/avrdude-config_gram.Po"; else rm -f ".deps/avrdude-config_gram.Tpo"; exit 1; fi
/bin/bash /home/fredrik/AVR/avrdude-5.3.1/missing --run flex lexer.l
/home/fredrik/AVR/avrdude-5.3.1/missing: line 46: flex: command not found
WARNING: `flex' is missing on your system. You should only need it if
you modified a `.l' file. You may need the `Flex' package
in order for those modifications to take effect. You can get
`Flex' from any GNU archive site.
sed '/^#/ s|\.c|lexer.c|' .c >lexer.c
sed: can't read .c: No such file or directory
make[2]: *** [lexer.c] Error 2
make[2]: Leaving directory `/home/fredrik/AVR/avrdude-5.3.1'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/fredrik/AVR/avrdude-5.3.1'
make: *** [all] Error 2


Hmm?

Postat: 6 februari 2007, 16:52:40
av FS
Häpp, problemet löst! Man behövde tydligen flex också...

Summa sumarum:

För att utveckla AVR från Ubuntu krävs:
Lite paket:
bison
flex
gcc-avr
(binutils-avr fås med gcc-avr)
avr-libc
gdb-avr


Lite okompilerad kod:
libusb-0.1.12.tar.gz
avrdude-5.3.1.tar.gz


Sedan är det bara att köra:
tar xvzf libusb-0.1.12.tar.gz
cd libusb-0.1.12
./configure
make
sudo make install

tar xvzf avrdude-5.3.1.tar.gz
cd avrdude-5.3.1
./configure
make
sudo make install

Edit: libusb behövs egentligen bara för usb-programmerarna (AVRISPmkII mfl) men det är ju aldrig fel att ha =)