Jump to content

ubuntu linux - make arm-none-eabi-gcc: error


Phatline

Recommended Posts

the system:

ubuntu 15.10, 32bit

 

every time i have problems when i come with a new linux system.... ours of ours of trial and error...

the error message:

triggermatrix@aha:~/mios32/trunk/apps/tutorials/016_aout$ make
rm -f project.hex
arm-none-eabi-gcc: error: .ld: No such file or directory
/home/triggermatrix/mios32/trunk/include/makefile/common.mk:139: recipe for target 'project_build/project.elf' failed
make: *** [project_build/project.elf] Error 1

it creates object files,  but then the error, e.g.:

triggermatrix@lap:~/mios32/trunk/apps/tutorials/027_scs$ make
rm -f project.hex
Creating object file for app.c
Creating object file for scs_config.c
scs_config.c:53:13: warning: 'stringDecPM' defined but not used [-Wunused-function]
scs_config.c:55:13: warning: 'stringHex2' defined but not used [-Wunused-function]
Creating object file for cc_labels.c
Creating object file for main.c
Creating object file for strtol.c
Creating object file for tasks.c
Creating object file for list.c
Creating object file for queue.c
Creating object file for timers.c
Creating object file for port.c
Creating object file for umm_malloc.c
Creating object file for startup_LPC17xx.c
Creating object file for mios32_srio.c
Creating object file for mios32_din.c
Creating object file for mios32_dout.c
Creating object file for mios32_enc.c
Creating object file for mios32_lcd.c
Creating object file for mios32_midi.c
Creating object file for mios32_osc.c
Creating object file for mios32_com.c
Creating object file for mios32_uart_midi.c
Creating object file for mios32_spi_midi.c
Creating object file for mios32_iic_midi.c
Creating object file for mios32_iic_bs.c
Creating object file for mios32_mf.c
Creating object file for mios32_sdcard.c
Creating object file for mios32_enc28j60.c
Creating object file for mios32_timestamp.c
Creating object file for mios32_bsl.c
Creating object file for mios32_sys.c
Creating object file for mios32_irq.c
Creating object file for mios32_spi.c
Creating object file for mios32_i2s.c
Creating object file for mios32_board.c
Creating object file for mios32_timer.c
Creating object file for mios32_stopwatch.c
Creating object file for mios32_delay.c
Creating object file for mios32_ain.c
Creating object file for mios32_usb.c
Creating object file for mios32_usb_midi.c
Creating object file for mios32_usb_com.c
Creating object file for mios32_uart.c
Creating object file for mios32_iic.c
Creating object file for printf-stdarg.c
Creating object file for core_cm3.c
Creating object file for usbhw_lpc.c
Creating object file for usbcontrol.c
/home/triggermatrix/mios32/trunk/drivers/LPC17xx/usbstack/src/usbcontrol.c: In function 'StallControlPipe':
/home/triggermatrix/mios32/trunk/drivers/LPC17xx/usbstack/src/usbcontrol.c:127:6: warning: variable 'pb' set but not used [-Wunused-but-set-variable]
Creating object file for usbstdreq.c
Creating object file for usbinit.c
Creating object file for app_lcd.c
Creating object file for glcd_font_normal.c
Creating object file for glcd_font_normal_inv.c
Creating object file for glcd_font_big.c
Creating object file for glcd_font_small.c
Creating object file for glcd_font_tiny.c
Creating object file for glcd_font_knob_icons.c
Creating object file for glcd_font_meter_icons_h.c
Creating object file for glcd_font_meter_icons_v.c
Creating object file for scs.c
Creating object file for scs_lcd.c
Creating object file for mini_cpp.cpp
Creating object file for freertos_heap.cpp
arm-none-eabi-gcc: error: .ld: No such file or directory
/home/triggermatrix/mios32/trunk/include/makefile/common.mk:139: recipe for target 'project_build/project.elf' failed
make: *** [project_build/project.elf] Error 1

 

my environment variables:

PATH="/home/triggermatrix/mios32_toolchain/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

MIOS32_PATH="/home/triggermatrix/mios32/trunk"
MIOS32_BIN_PATH="/home/triggermatrix/mios32/trunk/bin"
MIOS32_GCC_PREFIX=arm-none-eabi
MIOS32_FAMILY=LPC17xx
MIOS32_PROCESSOR=LPC1769
MIOS32_BOARD=MBHP_CORE_LPC17
MIOS32_LCD=universal

 

Mios32 is located under: /home/triggermatrix/mios32 ,, in there are the folders: "playground" and "trunk"

toolchain is located under: /home/triggermatrix/mios32_toolchain ,, in there are the folders: "arm-none-eabi" "bin" "lib" "share"

 

i have already installed:

sudo aptitude install subversion

sudo aptitude install subversion

sudo aptitude install build-essential

sudo aptitude install libgmp3-dev

 

i removed and installed, the thoolchain, mios32, essential, gcc, libgmp3  several times...nothing helped.

 

what do i miss?

Edited by Phatline
Link to comment
Share on other sites

Hola and a happy new year! :-)

Strange problem, could you rerun with a "make --trace" and copy & paste the region just above the error (not the full dump, that would be rather long ;-))?

So we know, which exact command is being executed that causes the problem...

Many greets!
Peter

Link to comment
Share on other sites

oh, a white new year...

--trace, a new word, cool.

it starts with that:

triggermatrix@lap:~/mios32/trunk/apps/tutorials/020_lcd$ make --trace
/home/triggermatrix/mios32/trunk/include/makefile/common.mk:118: target 'dirs' does not exist
if [ ! -e project_build ]; then mkdir project_build; fi;
if [ ! -e project_build/./ ]; then mkdir -p project_build/./; fi;   if [ ! -e project_build//home/triggermatrix/mios32/trunk/programming_models/traditional/ ]; then mkdir -p project_build//home

 

end ends with that:

arm-none-eabi-gcc -Wp,-MMD,project_build//home/triggermatrix/mios32/trunk/programming_models/traditional/startup_stm32f4xx.dd -g -Os -DGCC_ARMCM3 -DMIOS32_PROCESSOR_STM32F407VG -DMIOS32_FAMILY_STM32F4xx -DMIOS32_FAMILY_STR=\"STM32F4xx\" -DMIOS32_BOARD_MBHP_CORE_STM32F4 -DMIOS32_BOARD_STR=\"MBHP_CORE_STM32F4\" -DMIOS32_LCD_universal -DMIOS32_LCD_STR=\"universal\" -DUSE_STDPERIPH_DRIVER -DUSB_SUPPORT_USER_STRING_DESC  -I . -I /home/triggermatrix/mios32/trunk/programming_models/traditional -I /home/triggermatrix/mios32/trunk/FreeRTOS/Source/include -I /home/triggermatrix/mios32/trunk/FreeRTOS/Source/portable/GCC/ARM_CM3 -I /home/triggermatrix/mios32/trunk/FreeRTOS/Source/portable/MemMang  -I /home/triggermatrix/mios32/trunk/include/mios32 -I /home/triggermatrix/mios32/trunk/mios32/STM32F4xx -I /home/triggermatrix/mios32/trunk/drivers/STM32F4xx/v1.1.0/STM32F4xx_StdPeriph_Driver/inc -I /home/triggermatrix/mios32/trunk/drivers/STM32F4xx/v1.1.0/STM32_USB_Device_Library/Core/inc -I /home/triggermatrix/mios32/trunk/drivers/STM32F4xx/v1.1.0/STM32_USB_HOST_Library/Core/inc -I /home/triggermatrix/mios32/trunk/drivers/STM32F4xx/v1.1.0/STM32_USB_OTG_Driver/inc -I /home/triggermatrix/mios32/trunk/drivers/STM32F4xx/v1.1.0/CMSIS/Include -I /home/triggermatrix/mios32/trunk/drivers/STM32F4xx/v1.1.0/CMSIS/ST/STM32F4xx/Include -I /home/triggermatrix/mios32/trunk/drivers/STM32F4xx/v1.1.0/CMSIS/ST/STM32F4xx/Include -I /home/triggermatrix/mios32/trunk/modules/app_lcd/universal -I /home/triggermatrix/mios32/trunk/modules/glcd_font -Wall -Wno-format -Wno-switch -Wno-strict-aliasing -mcpu=cortex-m4 -mlittle-endian -ffunction-sections -fdata-sections -fomit-frame-pointer -mthumb -c /home/triggermatrix/mios32/trunk/programming_models/traditional/startup_stm32f4xx.c -o project_build//home/triggermatrix/mios32/trunk/programming_models/traditional/startup_stm32f4xx.o
arm-none-eabi-gcc: error trying to exec 'cc1': execvp: No such file or directory
/home/triggermatrix/mios32/trunk/include/makefile/common.mk:160: recipe for target 'project_build//home/triggermatrix/mios32/trunk/programming_models/traditional/startup_stm32f4xx.o' failed
make: *** [project_build//home/triggermatrix/mios32/trunk/programming_models/traditional/startup_stm32f4xx.o] Error 1

 

Link to comment
Share on other sites

it was present, cc1 was not, with your command, it had created cc1

after rebooting the following error messages:

mlittle-endian -ffunction-sections -fdata-sections -fomit-frame-pointer -mthumb -c /home/triggermatrix/mios32/trunk/programming_models/traditional/startup_stm32f4xx.c -o project_build//home/triggermatrix/mios32/trunk/programming_models/traditional/startup_stm32f4xx.o
cc1: error: unrecognized command line option ‘-quiet’
cc1: error: project_build//home/triggermatrix/mios32/trunk/programming_models/traditional/startup_stm32f4xx.dd: Datei oder Verzeichnis nicht gefunden
cc1: error: unrecognized command line option ‘-quiet’
cc1: warning: ‘-mcpu=’ is deprecated; use ‘-mtune=’ or ‘-march=’ instead
cc1: error: unrecognized command line option ‘-auxbase-strip project_build//home/triggermatrix/mios32/trunk/programming_models/traditional/startup_stm32f4xx.o’
cc1: error: unrecognized command line option ‘-mlittle-endian’
cc1: error: unrecognized command line option ‘-mthumb’
/home/triggermatrix/mios32/trunk/include/makefile/common.mk:160: recipe for target 'project_build//home/triggermatrix/mios32/trunk/programming_models/traditional/startup_stm32f4xx.o' failed
make: *** [project_build//home/triggermatrix/mios32/trunk/programming_models/traditional/startup_stm32f4xx.o] Error 1
triggermatrix@lap:~/mios32/trunk/apps/tutorials/020_lcd$ 

 

Link to comment
Share on other sites

Ok, it is a little strange, as we are dealing with two types of errors:

First one:

arm-none-eabi-gcc: error: .ld: No such file or directory

And now:

arm-none-eabi-gcc: error trying to exec 'cc1': execvp: No such file or directory

 

Creating the softlink in the /usr/bin directory linked in a compiler frontend not from the toolchain, but from the base system, so the very last errors regarding the wrong command line options are understandable - the /usr/bin/cc compiler does not understand the architecture settings.

The "wanted" cc1 target should reside in your toolchain directory under lib/gcc/arm-none-eabi/4.7.4/cc1 (or a similar path, if you are using a slightly different version).

Can you give us a listing of that directory?

---

Whenever you execute

arm-none-eabi-gcc

this one should reside in your toolchain directory. To confirm that, enter

type arm-none-eabi-gcc

which lists the path of the executable, that will be loaded.

If it is in the toolchain directory, it should automatically look for "cc1" in the respective directory. If it is not there, the toolchain installation might be incomplete.

----

I am personally not using linux, but a freebsd-based toolchain and therefore don't know for which platform the linux toolchain was made, if it was made for a 64bit platform, this might also be the reason (as you are using a 32-bit system) for these strange and different problems...

Well, good luck! :-)

Many greets,

Peter

Link to comment
Share on other sites

i always used a 32bit linux the last 2 years... ubuntu 12, 14, and now 15... in theorie it should work,

triggermatrix@lap:~/mios32/trunk/apps/tutorials/020_lcd$ arm-none-eabi-gcc
arm-none-eabi-gcc: fatal error: no input files
compilation terminated.


triggermatrix@lap:~/mios32/trunk/apps/tutorials/020_lcd$ type arm-none-eabi-gcc
arm-none-eabi-gcc gehasht ergibt (/home/triggermatrix/mios32_toolchain/arm-none-eabi/bin/arm-none-eabi-gcc)

 

well it put out the correct path... and in this path exist a file called "arm-none-eabi-gcc"

Edited by Phatline
Link to comment
Share on other sites

Another question, in the first post, you wrote, that the settings are set to

MIOS32_FAMILY=LPC17xx
MIOS32_PROCESSOR=LPC1769
MIOS32_BOARD=MBHP_CORE_LPC17

has this changed by now? Because it seems to be compiling for a STM32F4 target...

Many greets!

Peter

 

Link to comment
Share on other sites

yes i changed it because i need to compile a program for STM32

yes there is a cc1:

triggermatrix@lap:~/mios32/trunk/apps/tutorials/020_lcd$ ls -al /home/triggermatrix/mios32_toolchain/lib/gcc/arm-none-eabi/4.7.4
insgesamt 41588
drwxr-xr-x 12 triggermatrix triggermatrix     4096 Sep 15  2013 .
drwxr-xr-x  3 triggermatrix triggermatrix     4096 Sep 15  2013 ..
drwxr-xr-x  2 triggermatrix triggermatrix     4096 Sep 15  2013 armv6-m
drwxr-xr-x  3 triggermatrix triggermatrix     4096 Sep 15  2013 armv7-ar
drwxr-xr-x  4 triggermatrix triggermatrix     4096 Sep 15  2013 armv7e-m
drwxr-xr-x  2 triggermatrix triggermatrix     4096 Sep 15  2013 armv7-m
-rwxr-xr-x  1 triggermatrix triggermatrix 13241452 Sep 15  2013 cc1
-rwxr-xr-x  1 triggermatrix triggermatrix 14159384 Sep 15  2013 cc1plus
-rwxr-xr-x  1 triggermatrix triggermatrix   254932 Sep 15  2013 collect2
-rw-r--r--  1 triggermatrix triggermatrix     1832 Sep 15  2013 crtbegin.o
-rw-r--r--  1 triggermatrix triggermatrix      817 Sep 15  2013 crtend.o
-rw-r--r--  1 triggermatrix triggermatrix      764 Sep 15  2013 crti.o
-rw-r--r--  1 triggermatrix triggermatrix      824 Sep 15  2013 crtn.o
drwxr-xr-x  2 triggermatrix triggermatrix     4096 Sep 15  2013 fpu
drwxr-xr-x  2 triggermatrix triggermatrix     4096 Sep 15  2013 include
drwxr-xr-x  2 triggermatrix triggermatrix     4096 Sep 15  2013 include-fixed
drwxr-xr-x  3 triggermatrix triggermatrix     4096 Sep 15  2013 install-tools
-rw-r--r--  1 triggermatrix triggermatrix  1611024 Sep 15  2013 libgcc.a
-rw-r--r--  1 triggermatrix triggermatrix    30720 Sep 15  2013 libgcov.a
lrwxrwxrwx  1 triggermatrix triggermatrix       22 Dez 31 19:13 liblto_plugin.so -> liblto_plugin.so.0.0.0
lrwxrwxrwx  1 triggermatrix triggermatrix       22 Dez 31 19:13 liblto_plugin.so.0 -> liblto_plugin.so.0.0.0
-rwxr-xr-x  1 triggermatrix triggermatrix    58732 Sep 15  2013 liblto_plugin.so.0.0.0
-rwxr-xr-x  1 triggermatrix triggermatrix 12701292 Sep 15  2013 lto1
-rwxr-xr-x  1 triggermatrix triggermatrix   343736 Sep 15  2013 lto-wrapper
drwxr-xr-x  3 triggermatrix triggermatrix     4096 Sep 15  2013 plugin
drwxr-xr-x  2 triggermatrix triggermatrix     4096 Sep 15  2013 thumb

 

 

Link to comment
Share on other sites

my current environment variables are:

Quote

 

PATH="/home/triggermatrix/mios32_toolchain/arm-none-eabi/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

MIOS32_PATH="/home/triggermatrix/mios32/trunk"
MIOS32_BIN_PATH="/home/triggermatrix/mios32/trunk/bin"
MIOS32_GCC_PREFIX=arm-none-eabi
MIOS32_FAMILY=STM32F4xx
MIOS32_PROCESSOR=STM32F407VG
MIOS32_BOARD=MBHP_CORE_STM32F4
MIOS32_LCD=universal

 

give me following error:

Quote

triggermatrix@lap:~/mios32/trunk/apps/tutorials/020_lcd$ make
rm -f project.hex
Creating object file for app.c
cc1: error: unrecognized command line option ‘-quiet’
cc1: error: project_build/app.dd: Datei oder Verzeichnis nicht gefunden
cc1: error: unrecognized command line option ‘-quiet’
cc1: warning: ‘-mcpu=’ is deprecated; use ‘-mtune=’ or ‘-march=’ instead
cc1: error: unrecognized command line option ‘-auxbase-strip project_build/app.o’
cc1: error: unrecognized command line option ‘-mlittle-endian’
cc1: error: unrecognized command line option ‘-mthumb’
/home/triggermatrix/mios32/trunk/include/makefile/common.mk:160: recipe for target 'project_build/app.o' failed
make: *** [project_build/app.o] Error 1

 

Link to comment
Share on other sites

Ok!

The current error is because of the softlink within /usr/bin, it links to the wrong compiler frontend

plz try:

rm /usr/bin/cc1

(this removes the problematic link)

 

ln -s /home/triggermatrix/mios32_toolchain/lib/gcc/arm-none-eabi/4.7.4/cc1 /home/triggermatrix/mios32_toolchain/arm-none-eabi/bin/cc1

(this adds a link of the correct cc1 to your in-path toolchain directory. This should not be necessary, but somehow the crosscompiler gcc does not know where to find it otherwise).

 

type cc1

(this should now output /home/triggermatrix/mios32_toolchain/arm-none-eabi/bin/cc1 and confirm, that cc1 is now in path and can be opened)

 

then recompile. I have a feeling other errors will follow, as other binaries within the lib/gcc directory are needed. But we should get a different error at least and can fix that problem with a PATH extension maybe.

Many greets,

Peter

Link to comment
Share on other sites

Quote

triggermatrix@lap:~/mios32/trunk/apps/tutorials/020_lcd$ make
rm -f project.hex
Creating object file for app.c
In file included from /home/triggermatrix/mios32/trunk/drivers/STM32F4xx/v1.1.0/CMSIS/ST/STM32F4xx/Include/stm32f4xx.h:245:0,
                 from /home/triggermatrix/mios32/trunk/drivers/STM32F4xx/v1.1.0/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_adc.h:32,
                 from /home/triggermatrix/mios32/trunk/programming_models/traditional/stm32f4xx_conf.h:34,
                 from /home/triggermatrix/mios32/trunk/include/mios32/mios32.h:34,
                 from app.c:19:
/home/triggermatrix/mios32/trunk/drivers/STM32F4xx/v1.1.0/CMSIS/Include/core_cm4.h:143:97: fatal error: stdint.h: No such file or directory
compilation terminated.
/home/triggermatrix/mios32/trunk/include/makefile/common.mk:160: recipe for target 'project_build/app.o' failed
make: *** [project_build/app.o] Error 1

hmm

Link to comment
Share on other sites

no problem! :) yes, cc1 is now linked/verknüpft :)

can you now please

make clean

and

make --trace

again?

Was there any progress? Do we now get past the previous point where "cc1 was missing"?

Many greets,

Peter

PS: Shuriken: no problem either, I first thought about recommending that "ln -s" in /usr/bin, too :).

Link to comment
Share on other sites

make --trace begin with:

Quote

triggermatrix@lap:~/mios32/trunk/apps/tutorials/020_lcd$ make --trace
/home/triggermatrix/mios32/trunk/include/makefile/common.mk:118: target 'dirs' does not exist
if [ ! -e project_build ]; then mkdir project_build; fi;
if [ ! -e project_build/./ ]; then mkdir -p project_build/./; fi;   if [ ! -e project_build//home/triggermatrix/mios32/trunk/programming_models/traditional/ ]; then mkdir -p project_build//home/triggermatrix/mios32/trunk/programming_models/traditional/; fi;   if [ ! -e project_build//home/triggermatrix/mios32/trunk/programming_models/traditional/ ]; then mkdir -p project_build//home/triggermatrix/mios32/trunk/programming_models/traditional/; fi;   if [ ! -e project_build//hom..............................

and ends with:

trunk/drivers/STM32F4xx/v1.1.0/CMSIS/ST/STM32F4xx/Include -I /home/triggermatrix/mios32/trunk/modules/app_lcd/universal -I /home/triggermatrix/mios32/trunk/modules/glcd_font -Wall -Wno-format -Wno-switch -Wno-strict-aliasing -mcpu=cortex-m4 -mlittle-endian -ffunction-sections -fdata-sections -fomit-frame-pointer -mthumb -c app.c -o project_build/app.o
In file included from /home/triggermatrix/mios32/trunk/drivers/STM32F4xx/v1.1.0/CMSIS/ST/STM32F4xx/Include/stm32f4xx.h:245:0,
                 from /home/triggermatrix/mios32/trunk/drivers/STM32F4xx/v1.1.0/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_adc.h:32,
                 from /home/triggermatrix/mios32/trunk/programming_models/traditional/stm32f4xx_conf.h:34,
                 from /home/triggermatrix/mios32/trunk/include/mios32/mios32.h:34,
                 from app.c:19:
/home/triggermatrix/mios32/trunk/drivers/STM32F4xx/v1.1.0/CMSIS/Include/core_cm4.h:143:97: fatal error: stdint.h: No such file or directory
compilation terminated.
/home/triggermatrix/mios32/trunk/include/makefile/common.mk:160: recipe for target 'project_build/app.o' failed
make: *** [project_build/app.o] Error 1

 

Link to comment
Share on other sites

Ok, it is messed up, as it does not find the standard headers. I've looked into it a bit, can you try to adjust your PATH from

PATH="/home/triggermatrix/mios32_toolchain/arm-none-eabi/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" 

To

PATH="/home/triggermatrix/mios32_toolchain/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" 

?

 

Link to comment
Share on other sites

it works great thank for your time and help!!!!!!!!!!!!!!!!!!!!!!

what exactly have changed except the path...this path i had already in my first post, what was the thing that has to be done the next time?

 

it works:

Quote

echo "Application successfully built for:"
Application successfully built for:
echo "Processor: STM32F407VG"
Processor: STM32F407VG
echo "Family:    STM32F4xx"
Family:    STM32F4xx
echo "Board:     MBHP_CORE_STM32F4"
Board:     MBHP_CORE_STM32F4
echo "LCD:       universal"
LCD:       universal
echo "-------------------------------------------------------------------------------"
-------------------------------------------------------------------------------
arm-none-eabi-size project_build/project.elf
   text       data        bss        dec        hex    filename
  58672        104      16296      75072      12540    project_build/project.elf
grep -E '__ram_start|__ram_end' project_build/project.sym
20000000 D __ram_start
20004010 B __ram_end

 

Link to comment
Share on other sites

:cheers:

All references are local to the path stored, the binaries (missing cc1), the headers and so on... So, the missing include files were the final hint :)

In the MIOS32 Toolchain docu page, the PATH setup is described correctly, dunno how that deeper PATH got into your setup

http://www.midibox.org/dokuwiki/doku.php?id=linux_mios32_toolchain_core

But for now, cheers and enjoy a cold one, you've earned it! ;-)

Many greets,

Peter

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...