finnurtorfa / nrf51

70 stars 51 forks source link

Recursive Header lookup #1

Open vaibhav-kapoor opened 10 years ago

vaibhav-kapoor commented 10 years ago

I've been trying to figure out why during build the make command cannot find the headers.

This is the error I get.

src/main.c:38:33: fatal error: ble_eval_board_pins.h: No such file or directory

include "ble_eval_board_pins.h"

                             ^

compilation terminated. make: *\ [obj/main.o] Error 1

I've tried taking a look at the

INCLUDEDIRS += $(shell find $(SDK_INCLUDE) -type d)

But I can't seem to figure out how to get the recursive folder lookup working correctly.

The location of the header is in

$(SDK_INCLUDE)ble

Appreciate the code and any help.

finnurtorfa commented 10 years ago

Hi,

Can you tell me a little bit more about the setup you have?

Description of the shell function in make can be found here

All this line is doing, is executing the linux command

    find lib/nrf51sdk/Nordic/nrf51822/Include/ -type d

and appending the result to the INCLUDEDIRS variable.

The result I get is

    lib/nrf51sdk/Nordic/nrf51822/Include
    lib/nrf51sdk/Nordic/nrf51822/Include/app_common
    lib/nrf51sdk/Nordic/nrf51822/Include/ble
    lib/nrf51sdk/Nordic/nrf51822/Include/ble/ble_services
    lib/nrf51sdk/Nordic/nrf51822/Include/ble/softdevice
    lib/nrf51sdk/Nordic/nrf51822/Include/gzll
    lib/nrf51sdk/Nordic/nrf51822/Include/esb
    lib/nrf51sdk/Nordic/nrf51822/Include/boards
    lib/nrf51sdk/Nordic/nrf51822/Include/gcc
    lib/nrf51sdk/Nordic/nrf51822/Include/ext_sensors
    lib/nrf51sdk/Nordic/nrf51822/Include/gzp

Try and manually append these directories to the INCLUDEDIRS variable. There are 2 other places where I use the shell function, namely lines 128 and 129 in the Makefile.

The output of those commands are the same on my system:

    lib/nrf51sdk/Nordic/nrf51822/Source
    lib/nrf51sdk/Nordic/nrf51822/Source/spi_master
    lib/nrf51sdk/Nordic/nrf51822/Source/twi_master
    lib/nrf51sdk/Nordic/nrf51822/Source/nrf_ecb
    lib/nrf51sdk/Nordic/nrf51822/Source/nrf_delay
    lib/nrf51sdk/Nordic/nrf51822/Source/app_common
    lib/nrf51sdk/Nordic/nrf51822/Source/templates
    lib/nrf51sdk/Nordic/nrf51822/Source/templates/arm
    lib/nrf51sdk/Nordic/nrf51822/Source/templates/gcc
    lib/nrf51sdk/Nordic/nrf51822/Source/ble
    lib/nrf51sdk/Nordic/nrf51822/Source/ble/ble_services
    lib/nrf51sdk/Nordic/nrf51822/Source/console
    lib/nrf51sdk/Nordic/nrf51822/Source/nrf_assert
    lib/nrf51sdk/Nordic/nrf51822/Source/simple_uart
    lib/nrf51sdk/Nordic/nrf51822/Source/ext_sensors
    lib/nrf51sdk/Nordic/nrf51822/Source/ext_sensors/mpu6050
    lib/nrf51sdk/Nordic/nrf51822/Source/ext_sensors/ds1624
    lib/nrf51sdk/Nordic/nrf51822/Source/ext_sensors/nRF6350
    lib/nrf51sdk/Nordic/nrf51822/Source/ext_sensors/sdio
    lib/nrf51sdk/Nordic/nrf51822/Source/ext_sensors/synaptics_touchpad
    lib/nrf51sdk/Nordic/nrf51822/Source/ext_sensors/adns2080
    lib/nrf51sdk/Nordic/nrf51822/Source/ext_sensors/cherry8x16
    lib/nrf51sdk/Nordic/nrf51822/Source/nrf_nvmc
    lib/nrf51sdk/Nordic/nrf51822/Source/gzp

Try to manually append these directories to the C_SRC_DIRS and ASSEMBLY_SRC_DIRS variables and see where that gets you.

vaibhav-kapoor commented 10 years ago

NVM the error was not in the missing headers, I left the variable as the default and it didnt give me an error, but I did get the same error as the issue in this thread posted here.

I am running Ubuntu 12.04 Precise with gcc version 4.8.4 20140526.

It looks like I am getting a linking error. https://github.com/Sproutling/nRF51822-OSX-Sample/issues/4

eabi/bin/ld: cannot find -lcs3 eabi/bin/ld: cannot find -lcs3unhosted

Thank you.

finnurtorfa commented 10 years ago

Are you by any chance not using the GCC Toolchain by CodeSourcery? The linker scripts provided are dependent on their Common Startup Code Sequence

I would recommend, for now, to go with their toolchain. I have plans on moving from them, but currently I don't have time for that. Maybe later this summer