-
Trying to build FrSky X9D targets from upstream/main and have the following problems: Using:
The following error occurs (also for X9D and X9D+):
Also for X9D+ 2019 there is FLASH overflow occurring. Using:
Building using using Windows WSL Ubuntu 20.04 which works fine for all other targets. Any idea what the problem is here ? Doesn't make much sense given these targets build OK for the Nightly's. |
Beta Was this translation helpful? Give feedback.
Replies: 8 comments 6 replies
-
For the first cmake... you specified Both cmake lines look ok, and build for me. I would double check you're on the latest commit of
|
Beta Was this translation helpful? Give feedback.
-
Thanks for the reply. Should have said X9 targets but it makes no difference. The only X9 that builds is the Lite. Command to build is However, I've just built the X9 targets in Gitpod and there are no problems doing it that way so it seems this is an issue building locally using WSL. (WSL1 not 2 since 2 is way too slow). I did notice there are some differences when the build environment is set up so don't know if that's the issue. WSL is adding support for USB Serial, PXX1, MULTI and CRSF which Gitpod doesn't do. Also version numbers of components are different. I tried removing PXX1, MULTI and CRSF and the FLASH overflow reduced but still occurred. The other X9 targets failed with the same error as before. LOCAL WSL:
GITPOD:
|
Beta Was this translation helpful? Give feedback.
-
I got these 9X targets to build in the end but only by switching off a few of what seem to be default settings in the build configuration. These worked:
The X9D+ 2019 And the above were built in WSL1. I did move the repository into the WSL drive/folder and converted to WSL2 and it is indeed a bit faster. However, it caused problems with other windows based programs I use which then suffer the painfully slow file access issues so I gave up with it and went back to WSL1 since it appears it probably wasn't causing the build problems anyway. So don't know if there's an issue building in WSL or whether the cmake options simply need clarifying in the Wiki because the default cmake setup includes options that don't seem to work for the X9 targets. |
Beta Was this translation helpful? Give feedback.
-
I'll check what the Nightly is using and compare. Also my cmake version is 3.16.3 so could do with updating. Thanks. |
Beta Was this translation helpful? Give feedback.
-
Thanks for the cmake update link. Regarding the Nightly build options given above. What is EXTRA_OPTIONS ?. Can't find any definition for this which is problematic given it likely includes the options I'm after. |
Beta Was this translation helpful? Give feedback.
-
OK I think I've worked out what's happening here. The CMakeCache.txt file in the Build folder doesn't get reset between radio builds, it keeps the settings of the previous build which may not be correct for the current radio type (expected I guess since it is a cache file). So if you run X9D+ 2019 it sets up PXX2 support by default setting this ON in the cache file. If you then build the X9D radio it adds support for PXX1 but when you run the build it also includes PXX2 from the previous build causing the build to crash because PXX2 isn't compatible with the X9D. The Nightly run script deletes the CMakeCache file between each build avoiding this problem. I think this needs clarifying in the Wiki. All it says there is "To build for other radios, you just need to select another build target by specifying appropriate values for PCB and PCBREV for your radio". Needs to mention deleting the CMakeCache file between different radio builds to avoid unwanted/incompatible options being included ... or some other smarter solution. The X9D+ 2019 builds at 512K if I delete the CMakeCache file before building, same size as the Nightly build. |
Beta Was this translation helpful? Give feedback.
-
Ah different build folders per radio ... didn't realise that was possible. That should make different radio builds easier. Probably that's the bit needs adding to the Wiki. Only drawback I guess is each Build folder is almost a GB so not so good if you're tight on disk space. |
Beta Was this translation helpful? Give feedback.
-
Maybe add "rm -f CMakeCache.txt arm-none-eabi/CMakeCache.txt" to tools\msys2_fetch_and_build_all_tx16s.sh file, before 1. cmake call, to show the need |
Beta Was this translation helpful? Give feedback.
OK I think I've worked out what's happening here. The CMakeCache.txt file in the Build folder doesn't get reset between radio builds, it keeps the settings of the previous build which may not be correct for the current radio type (expected I guess since it is a cache file). So if you run X9D+ 2019 it sets up PXX2 support by default setting this ON in the cache file. If you then build the X9D radio it adds support for PXX1 but when you run the build it also includes PXX2 from the previous build causing the build to crash because PXX2 isn't compatible with the X9D. The Nightly run script deletes the CMakeCache file between each build avoiding this problem.
I think this needs clarifying in t…