Hello Jukka, I would like to ask you to try an alternative PR https://github.com/apache/incubator-nuttx/pull/5712 and feedback if it works for you.
Best regards, Petro чт, 10 бер. 2022 р. о 07:24 Jukka Laitinen <[email protected]> пише: > > 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 <[email protected]> пише: > >> 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 <[email protected]> пише: > >>>> 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 '[email protected]: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 '[email protected]: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 <[email protected]> пише: > >>>>>>> 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 <[email protected]> > >>>>>>>> пише: > >>>>>>>>> HI, > >>>>>>>>> > >>>>>>>>> Not sure what is the correct way to fix this, but I reverted: > >>>>>>>>> > >>>>>>>>> " > >>>>>>>>> > >>>>>>>>> commit f77956a227f1db6ecb44eda3814e7b02aa2187a6 > >>>>>>>>> Author: Petro Karashchenko <[email protected]> > >>>>>>>>> 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 > >>>>>>>>> <[email protected]> > >>>>>>>>> " > >>>>>>>>> > >>>>>>>>> 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 > >>>>>>>>>>
