1 votes

msp430/bin/ld : ne peut pas trouver -lc

J'ai installé avec succès le compilateur msp430-gcc 4.7.0. Le compilateur à la étape finale du processus de liaison il me montre l'erreur suivante pour Ubuntu 12.04.

msp430-gcc -mmcu=msp430f1611 -Wl,-Map=contiki-sky.map
-Wl,--gc-sections,--undefined=_reset_vector__,--undefined=InterruptVectors,--undefined=_copy_data_init__,--undefined=_clear_bss_init__,--undefined=_end_of_init__
hello-world.co obj_sky/contiki-sky-main.o contiki-sky.a  -o hello-world.sky
/opt/mspgccx/lib/gcc/msp430/4.7.0/../../../../msp430/bin/ld: cannot find -lc
collect2: error: ld returned 1 exit status
make: *** [hello-world.sky] Error 1

J'ai étendu mon chemin de recherche car msp430-gcc 4.7 était installé sous /opt à l'adresse ~/.bashrc pour inclure le /opt les répertoires.

msp430-gcc --version

msp430-gcc (GCC) 4.7.0 20120322 (mspgcc dev 20120911)
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
mswarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.

msp430-ld -version

GNU ld (GNU Binutils) 2.22 (mspgcc dev 20120911)
Copyright 2011 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) a later
version.
This program has absolutely no warranty.

$ gcc -v

Using built-in specs.
could not find specs file msp430mcu.spec
COLLECT_GCC=gcc
Target: msp430
Configured with: ../gcc-4.7.0/configure --target=msp430
--enable-languages=c --program-prefix=msp430- --prefix=/opt/mspgccx
Thread model: single
gcc version 4.7.0 20120322 (mspgcc dev 20120911) (GCC)

$ld -v

GNU ld (GNU Binutils for Ubuntu) 2.22

uname -a
Linux px 3.5.0-32-generic #53~precise1-Ubuntu SMP Wed May 29 20:35:31 UTC 2013 i686 i686 i386 GNU/Linux

J'ai essayé :

sudo apt-get install libcv-dev libcvaux-dev libhighgui-dev
sudo apt-get install glibc-static
sudo apt-get install build-essential
sudo apt-get update && sudo apt-get install libc6-dev

Des suggestions ?

0voto

William Points 31

J'ai eu le même problème. Et j'ai utilisé un contiki script pour faire une installation propre de mspgcc sur ubuntu 1204LTS. Mais d'abord, installé ces paquets

sudo apt-get install  ncurses-dev flex libgmp3-dev libmpfr-dev bison  libmpc-dev texinfo zlib1g-dev automake build-essential patch

Puis j'ai exécuté un script modifié de contiki (énumérés ci-dessous). N'oubliez pas d'ajouter /usr/local/bin à votre PATH.

 INSTALL_PREFIX="/usr/local/msp430"
echo The installatoin prefix:$INSTALL_PREFIX
# Switch to the tmp directory
mkdir tmp
cd tmp

# Getting
wget http://sourceforge.net/projects/mspgcc/files/mspgcc/DEVEL-4.7.x/mspgcc-20120911.tar.bz2
wget http://sourceforge.net/projects/mspgcc/files/msp430mcu/msp430mcu-20130321.tar.bz2
wget http://sourceforge.net/projects/mspgcc/files/msp430-libc/msp430-libc-20120716.tar.bz2
wget http://ftpmirror.gnu.org/binutils/binutils-2.22.tar.bz2
wget http://mirror.ibcp.fr/pub/gnu/gcc/gcc-4.7.0/gcc-4.7.0.tar.bz2

# Unpacking the tars 
tar xvfj binutils-2.22.tar.bz2
tar xvfj gcc-4.7.0.tar.bz2
tar xvfj mspgcc-20120911.tar.bz2
tar xvfj msp430mcu-20130321.tar.bz2
tar xvfj msp430-libc-20120716.tar.bz2

# 1) Incorporating the changes contained in the patch delievered in mspgcc-20120911
cd binutils-2.22
patch -p1<../mspgcc-20120911/msp430-binutils-2.22-20120911.patch
cd ..

# 2) Incorporating the changes contained in the patch delievered in mspgcc-20120911
cd gcc-4.7.0
patch -p1<../mspgcc-20120911/msp430-gcc-4.7.0-20120911.patch
cd ..

# 3) Creating new directories
mkdir binutils-2.22-msp430
mkdir gcc-4.7.0-msp430

# 4) installing binutils in INSTALL_PREFIX
cd binutils-2.22-msp430/
../binutils-2.22/configure --target=msp430 --program-prefix="msp430-" --prefix=$INSTALL_PREFIX
make
make install

# 5) Download the prerequisites
cd ../gcc-4.7.0
./contrib/download_prerequisites

# 6) compiling gcc-4.7.0 in INSTALL_PREFIX
cd ../gcc-4.7.0-msp430
../gcc-4.7.0/configure --target=msp430 --enable-languages=c --program-prefix="msp430-" --prefix=$INSTALL_PREFIX
make
make install

# 7) compiping msp430mcu in INSTALL_PREFIX
cd ../msp430mcu-20130321
MSP430MCU_ROOT=`pwd` ./scripts/install.sh ${INSTALL_PREFIX}/

# 8) compiling the msp430 lib in INSTALL_PREFIX
cd ../msp430-libc-20120716
cd src
PATH=${INSTALL_PREFIX}/bin:$PATH
make
make PREFIX=$INSTALL_PREFIX install

# cleanup
# no need since every thing created in tmp
echo Reminder: remove tmp

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X