kurtis 0 11 мая, 2009 Опубликовано 11 мая, 2009 · Жалоба Пытаюсь собрать toolchain для AVR под Ubuntu 9.04. Версия собираемых програм GCC-4.4.0, Binutils-2.19.51, Avr-libc-1.6.6. Собирается этом все с помощью GCC 4.3.3 (Ubuntu 4.3.3-5ubuntu4), binutils 2.19.1-0ubuntu3. GCC и Binutils компилируются и устанавливаются нормально, Avr-libc компилируется нормально, но устанавливаться (sudo make install) не хочет. Avr-libc собираю следующими командами ./configure --host=avr --prefix=/usr/local/avr make sudo make install Первые 2 шага проходят без ошибок, но последнем шаге вылазит непонятная ошибка avr-ranlib '/usr/local/avr/avr/lib//libc.a' /bin/bash: line 4: avr-ranlib: команда не найдена avr-ranlib '/usr/local/avr/avr/lib//libprintf_min.a' /bin/bash: line 4: avr-ranlib: команда не найдена avr-ranlib '/usr/local/avr/avr/lib//libprintf_flt.a' /bin/bash: line 4: avr-ranlib: команда не найдена avr-ranlib '/usr/local/avr/avr/lib//libscanf_min.a' /bin/bash: line 4: avr-ranlib: команда не найдена avr-ranlib '/usr/local/avr/avr/lib//libscanf_flt.a' /bin/bash: line 4: avr-ranlib: команда не найдена avr-ranlib '/usr/local/avr/avr/lib//libm.a' /bin/bash: line 4: avr-ranlib: команда не найдена make[5]: *** [install-avrLIBRARIES] Ошибка 127 make[5]: Выход из каталога `/home/mike/src/avr-libc-1.6.6/avr/lib/avr2' make[4]: *** [install-am] Ошибка 2 make[4]: Выход из каталога `/home/mike/src/avr-libc-1.6.6/avr/lib/avr2' make[3]: *** [install-recursive] Ошибка 1 make[3]: Выход из каталога `/home/mike/src/avr-libc-1.6.6/avr/lib/avr2' make[2]: *** [install-recursive] Ошибка 1 make[2]: Выход из каталога `/home/mike/src/avr-libc-1.6.6/avr/lib' make[1]: *** [install-recursive] Ошибка 1 make[1]: Выход из каталога `/home/mike/src/avr-libc-1.6.6/avr' make: *** [install-recursive] Ошибка 1 Насколько я понял, оно не может найти путь к библиотеке. Т.е. в путе к библиотеке образовался двойной слеш ("//"). Насколько я понял, между ними должно быть имя семейства АВРок (avr2, avr5 и тд) но его почему-то нету. К тому-же я проверил путь (/usr/local/avr/avr/lib), этих библиотек там действительно нету. Может кто-то сталкивался и подскажет в чем может быть проблема? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 11 мая, 2009 Опубликовано 11 мая, 2009 · Жалоба Насколько я понял, оно не может найти путь к библиотеке.Нет, он не может найти avr-ranlib. Что это и в каком пакете идет - гугль в помощь. Двойной слеш в путях не криминален. Насколько я понял, между ними должно быть имя семейства АВРок (avr2, avr5 и тд) но его почему-то нету. К тому-же я проверил путь (/usr/local/avr/avr/lib), этих библиотек там действительно нету.Зайдите на форум avr-gcc на avrfreaks, там в одной из пришпиленных вверху тем есть скрипты для сборки. Посмотрите их как пример. Есть подозрение, что надо gcc конфигурить с --enable-multilib, возможно и avr-libc тоже. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aesok 0 11 мая, 2009 Опубликовано 11 мая, 2009 · Жалоба Добавте '/usr/local/avr' в PATH. Анатолий. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kurtis 0 11 мая, 2009 Опубликовано 11 мая, 2009 · Жалоба Спасибо что отозвались! Нет, он не может найти avr-ranlib.да в том то и проблема что avr-ranlib есть, и системе он "виден" mike@myHome:~/src/avr-libc-1.6.6$ avr-ranlib -v GNU ranlib (GNU Binutils) 2.19.51.20090510 Copyright 2008 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or (at your option) any later version. This program has absolutely no warranty. mike@myHome:~/src/avr-libc-1.6.6$ which avr-gcc /usr/local/avr/bin/avr-gcc mike@myHome:~/src/avr-libc-1.6.6$ which avr-ranlib /usr/local/avr/bin/avr-ranlib Добавте '/usr/local/avr' в PATH.Изначально оно там было. mike@myHome:~/src/avr-libc-1.6.6$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/avr/bin:/usr/local/avr где-то в интернетах вычитал что можно попробовать добавлять пути так export PATH=/usr/local/avr:$PATH т.е. в самом начае идет требуемый путь. Некоторые писали что им это помогло. Так же пробовал запускать последнюю команду установки таким вот образом RANLIB=/usr/local/avr/bin/avr-ranlib sudo make install Пробовал делать RANLIB переменной среды (т.е. добавлять через export) - не помогло. Попробовал взять версию Avr-libc индексом ниже - ситуация аналогичная. По идее сами GCC и binutils собрались правильно: mike@myHome:~/src/temp$ echo 'main(){}' > dummy.c mike@myHome:~/src/temp$ avr-gcc dummy.c mike@myHome:~/src/temp$ avr-gcc -S dummy.c mike@myHome:~/src/temp$ avr-objdump -h a.out a.out: file format elf32-avr Sections: Idx Name Size VMA LMA File off Algn 0 .text 00000066 00000000 00000000 00000054 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE 1 .stab 000006b4 00000000 00000000 000000bc 2**2 CONTENTS, READONLY, DEBUGGING 2 .stabstr 00000054 00000000 00000000 00000770 2**0 CONTENTS, READONLY, DEBUGGING mike@myHome:~/src/temp$ cat dummy.s .file "dummy.c" __SREG__ = 0x3f __SP_H__ = 0x3e __SP_L__ = 0x3d __tmp_reg__ = 0 __zero_reg__ = 1 .global __do_copy_data .global __do_clear_bss .text .global main .type main, @function main: push r29 push r28 in r28,__SP_L__ in r29,__SP_H__ /* prologue: function */ /* frame size = 0 */ /* epilogue start */ pop r28 pop r29 ret .size main, .-main Зайдите на форум avr-gcc на avrfreaks, там в одной из пришпиленных вверху тем есть скрипты для сборки.Спасибо за наводку, сейчас именно так и поступлю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aesok 0 11 мая, 2009 Опубликовано 11 мая, 2009 · Жалоба Изначально оно там было. mike@myHome:~/src/avr-libc-1.6.6$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/avr/bin:/usr/local/avr Это чей PATH? mike? ./configure --host=avr --prefix=/usr/local/avr make sudo make install А make install от чего имени запускается? От root? В PATH root-а есть /usr/local/avr? Анатолий. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kurtis 0 11 мая, 2009 Опубликовано 11 мая, 2009 · Жалоба Спасибо, понял! =) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться