Hi,
This fixes the build for me, I just leave the
CONFIG_BOARD_CUSTOM_ARCH_BOARD_COMMON undefined.
Thanks,
Jukka
On 9.3.2022 19.22, Petro Karashchenko wrote:
Hello Jukka,
I was able to localize the root cause of the issue. I've created
https://github.com/apache/incubator-nuttx/pull/5705 to recover things
and added a separate option that should be explicitly enabled to
re-use a board-level common code by custom boards users.
Please try this change and feedback if that solves the problem.
Best regards,
Petro
чт, 3 бер. 2022 р. о 15:33 Jukka Laitinen <jukka.laiti...@iki.fi> пише:
Hi, sorry but I am away from computer atm.
In the project there is "packaging" subdirectory, it contains some docker env,
which is also used in TII's CI
- Jukka
Petro Karashchenko kirjoitti torstai 3. maaliskuuta 2022:
Hello Jukka,
Do you have any steps on how to build or download a docker image that
can be used to build that project?
It takes me too much time to get build running.
Best regards,
Petro
чт, 3 бер. 2022 р. о 12:43 Jukka Laitinen <jukka.laiti...@iki.fi> пише:
And also note that the commit I mentioned is already reverted in nuttx
submodule, so you need to put it back in order to re-produce the issue :)
Jukka Laitinen kirjoitti torstai 3. maaliskuuta 2022:
Hi, sorry about that; you can just remove that submodule, it is not needed to
re-produce the issue.
- Jukka
Petro Karashchenko kirjoitti torstai 3. maaliskuuta 2022:
Hi Jukka,
I tried to replicate your case, but failed with:
$ git submodule update --init --recursive
Cloning into
'/home/pkarashchenko/workspace/px4-firmware/boards/ssrc/saluki-v1'...
ERROR: Repository not found.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
fatal: clone of 'g...@github.com:tiiuae/saluki-v1.git' into submodule
path '/home/pkarashchenko/workspace/px4-firmware/boards/ssrc/saluki-v1'
failed
Failed to clone 'boards/ssrc/saluki-v1'. Retry scheduled
Cloning into
'/home/pkarashchenko/workspace/px4-firmware/boards/ssrc/saluki-v1'...
ERROR: Repository not found.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
fatal: clone of 'g...@github.com:tiiuae/saluki-v1.git' into submodule
path '/home/pkarashchenko$/workspace/px4-firmware/boards/ssrc/saluki-v1'
failed
Failed to clone 'boards/ssrc/saluki-v1' a second time, aborting
Best regards,
Petro
чт, 3 бер. 2022 р. о 09:34 Jukka Laitinen <jukka.laiti...@iki.fi> пише:
Hi,
Maybe I was jumping in to conclusion and the issue is not the same as
what I had. I was building PX4, which uses CMake build system, so I am
not having any Makefile or Make.defs in my own board directory. Also the
platform is not stm or arm, but risc-v.
Anyhow, this is the error which I started getting in my build scripts:
"
ninja: error:
'../../platforms/nuttx/NuttX/nuttx/arch/risc-v/include/board', needed by
'NuttX/nuttx_copy.stamp', missing and no known rule to make it
make: *** [Makefile:225: ssrc_icicle_default] Error 1
"
My configs are:
CONFIG_ARCH="risc-v"
CONFIG_ARCH_BOARD_CUSTOM=y
CONFIG_ARCH_BOARD_CUSTOM_DIR="../nuttx-config"
CONFIG_ARCH_BOARD_CUSTOM_DIR_RELPATH=y
CONFIG_ARCH_BOARD_CUSTOM_NAME="px4"
One version, where it fails is available publicly in
https://github.com/tiiuae/px4-firmware/ (nuttx is included as a submodule)
Building "make ssrc_icicle_default". The board files are in
boards/ssrc/icicle/nuttx-config and NuttX cloned in
platforms/nuttx/Nuttx/nuttx.
I didn't yet start looking into it in detail, what goes wrong, just
bisected the nuttx and reverted the commit which broke it for me. I need
to look back later to see how to change the off-tree board config to get
it back online.
Just noticed that the error is somewhat similar, although coming from
different build env. But in my case it is likely that I need to adapt
the cmake build scripts according to the changes in nuttx.
-Jukka
On 3.3.2022 9.37, Petro Karashchenko wrote:
Hello Jukka,
So you experience the same problem as Daniel and reverting the commit helps?
Before f77956a227f1db6ecb44eda3814e7b02aa2187a6 there was no way to
reuse common code from "nuttx/board/...". I'm using a custom board
based on SAME70 and after
https://github.com/apache/incubator-nuttx/pull/4981 I found my code
tree broken. Now the folder structure for "boards/arm/samv7" is the
same as in "boards/arm/stm32". Here is what I did to get it back
running:
1. Synced "custom-board/scripts/Make.defs" with
"boards/arm/samv7/same70-xplained/scripts/Make.defs"
2. Renamed "custom-board/src/Makefile" to "custom-board/src/Make.defs"
and synced with "boards/arm/samv7/same70-xplained/src/Make.defs"
3. Removed files in my code tree that have exactly the same
implementation as files from "boards/arm/samv7/common"
It seems like Daniel is hitting the same issue, so I expect that
renaming Makefile to Make.defs plus setting "BOARD_STM32_COMMON=n"
should fix the issue without any additional file clean-up.
Please give me feedback if that helps.
Best regards,
Petro
чт, 3 бер. 2022 р. о 07:40 Jukka Laitinen <jukka.laiti...@iki.fi> пише:
HI,
Not sure what is the correct way to fix this, but I reverted:
"
commit f77956a227f1db6ecb44eda3814e7b02aa2187a6
Author: Petro Karashchenko <petro.karashche...@gmail.com>
Date: Wed Jan 19 11:16:11 2022 +0200
tools: add option to reuse boards common files for custom boards
Signed-off-by: Petro Karashchenko <petro.karashche...@gmail.com>
"
Petro, what is the proper way to configure this?
Thanks,
Jukka
On 3.3.2022 0.06, Daniel Pereira Carvalho wrote:
Hi guys,
I am having problems building custom boards outside of the Nuttx folder
tree. Usually I use the following folder structure.
|-> apps
|-> my-folder
|-> my-apps
|-> custom-app
|-> my-boards
|-> custom-board
|-> nuttx
To build my apps I just need to create a symbolic link called external
inside apps folder. To create a new custom board I start copying a similar
board (e.g nucleo-g431kb) to my-boards folder and make the following changes
*remove from defconfig:*
CONFIG_ARCH_BOARD="nucleo-g431kb"
CONFIG_ARCH_BOARD_NUCLEO_G431KB=y
*add on defconfig:*
CONFIG_ARCH_BOARD_CUSTOM=y
CONFIG_ARCH_BOARD_CUSTOM_DIR="../my-folder/my-boards/custom-board"
CONFIG_ARCH_BOARD_CUSTOM_DIR_RELPATH=y
CONFIG_ARCH_BOARD_CUSTOM_NAME="custom-board"
*Rename src/Make.defs to src/Makefile and append the line *
include $(TOPDIR)/boards/Board.mk at the end of file.
This works well for me up to Nuttx version 10.2.0 but now when I try to
make I got the errors
make[1]: Entering directory '/home/daniel/nuttx-workspace/nuttx/tools'
make[1]: Leaving directory '/home/daniel/nuttx-workspace/nuttx/tools'
make[1]: Entering directory '/home/daniel/nuttx-workspace/nuttx/tools'
make[1]: Leaving directory '/home/daniel/nuttx-workspace/nuttx/tools'
Create version.h
make[1]: Entering directory '/home/daniel/nuttx-workspace/nuttx/boards'
make[2]: Entering directory
'/home/daniel/nuttx-workspace/nuttx/boards/arm/stm32/common'
Makefile:23: board/Make.defs: No such file or directory
make[2]: *** No rule to make target 'board/Make.defs'. Stop.
make[2]: Leaving directory
'/home/daniel/nuttx-workspace/nuttx/boards/arm/stm32/common'
make[1]: *** [Makefile:79: context] Error 2
make[1]: Leaving directory '/home/daniel/nuttx-workspace/nuttx/boards'
make: *** [tools/Unix.mk:425: boards/.context] Error 2
Does anyone know how to fix this problem?
Thanks
Daniel Pereira de Carvalho