Перейти к содержанию
    

Не устанавливается avr-libc

Пытаюсь собрать 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), этих библиотек там действительно нету.

 

Может кто-то сталкивался и подскажет в чем может быть проблема?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Насколько я понял, оно не может найти путь к библиотеке.
Нет, он не может найти avr-ranlib. Что это и в каком пакете идет - гугль в помощь. Двойной слеш в путях не криминален.
Насколько я понял, между ними должно быть имя семейства АВРок (avr2, avr5 и тд) но его почему-то нету. К тому-же я проверил путь (/usr/local/avr/avr/lib), этих библиотек там действительно нету.
Зайдите на форум avr-gcc на avrfreaks, там в одной из пришпиленных вверху тем есть скрипты для сборки. Посмотрите их как пример. Есть подозрение, что надо gcc конфигурить с --enable-multilib, возможно и avr-libc тоже.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо что отозвались!

 

Нет, он не может найти 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, там в одной из пришпиленных вверху тем есть скрипты для сборки.
Спасибо за наводку, сейчас именно так и поступлю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Изначально оно там было.

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?

 

Анатолий.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...