Firefly Open Source Community

   Login   |   Register   |
New_Topic
Print Previous Topic Next Topic

[Linux] Error trying to make a Buildroot distribution, even with Firefly default configu

21

Credits

0

Prestige

0

Contribution

new registration

Rank: 1

Credits
21

【Linux】 Error trying to make a Buildroot distribution, even with Firefly default configu

Posted at 1/12/2024 12:51:04      View:1361 | Replies:6        Print      Only Author   [Copy Link] 1#
Problem description and steps to reproduce:
Dear sirs,
I am trying to test a compilation of a Linux distribution for my AIO-3288C board, using FF Linux SDK distribution for the board (I have tried to use the Google Drive download version and the GitHub version using Repo - this last one gave me better results. Still, I am not able to compile/make even a default configuration distribution (jusr opened make menuconfig, closed and saved same configuration as Firefly default (which sets parameters for RK3288 like arm32 architecture, Cortex-A17, all the basic definition and yet distributes some basic libraries.

My final objective is, of course, use a very customized distribution (using Wayland instead of X11 and including updated libraries that I need for my system to run). But I assume if I can't even build the default configuration, any other menuconfig change for Buildroot will probably rise the likelihood of failures, or at least show the same one.

I tried to follow strict Wiki manual instructions. When I run make (without parameters), it takes about 2 hours running with all cores at full power and, in the middle of the process (while processing WiFi module as I could see) I get this error message as attached (also printing the end here for quick reference):


ERROR: Kernel configuration is invalid.
         include/generated/autoconf.h or include/config/auto.conf are missing.
         Run 'make oldconfig && make prepare' on kernel src to fix it.


  WARNING: Symbol version dump ./Module.symvers
           is missing; modules will have no dependencies and modversions.

  Building modules, stage 2.
scripts/Makefile.modpost:42: include/config/auto.conf: No such file or directorymake[3]: *** No rule to make target 'include/config/auto.conf'.  Stop.
Makefile:1482: recipe for target 'modules' failed
make[2]: *** [modules] Error 2
package/pkg-generic.mk:228: recipe for target '/home/firefly/ffsdk/rk3288_linux_release_v2.5.0a_20230510/buildroot/output/rockchip_rk3288/build/rkwifibt-1.0.0/.stamp_built' failed
make[1]: *** [/home/firefly/ffsdk/rk3288_linux_release_v2.5.0a_20230510/buildroot/output/rockchip_rk3288/build/rkwifibt-1.0.0/.stamp_built] Error 2
Makefile:16: recipe for target '_all' failed
make: *** [_all] Error 2



My environment is a Docker container made with the exact Dockerfile suggested on the manual. Copied the SDK inside the container using repo and started as directed by the manual.


I don't have an idea about where this kernel source is and even if I really should do the suggestion the error message gives me. I suppose since I did not make any modification, that this should work "out of the box", without severe problems that stop execution of Buildroot.

I thank you very much in advance for your help and please inform if you need further information, I will try to provide ASAP.


Mario

truncated_stdout_err.txt.zip

2.17 KB, Down times: 0

Reply

Use props Report

21

Credits

0

Prestige

0

Contribution

new registration

Rank: 1

Credits
21
Posted at 1/15/2024 15:19:38        Only Author  2#
UPDATE: For some reason, the default option for Kernel in the SDK I have cloned from git repo was not selecting Kernel as default. So I selected it, error changes but Kernel still can't compile. Error attached.

NEED URGENT HELP!

Thank you very much in advance.

make_last_error.txt.zip

662 Bytes, Down times: 1

Error during kernel make stage

Reply

Use props Report

210

Credits

0

Prestige

0

Contribution

intermediate

Rank: 3Rank: 3

Credits
210
Posted at 1/15/2024 15:35:02        Only Author  3#
Did you make any modifications after downloading it? Here is a prompt for dirty content
WARN: /home/firefly/ffsdk/rk3288_linux_release_v2.5.0a_20230510/buildroot/../kernel is dirty!

Please strictly follow the Wikipedia configuration to compile the environment and execute the compilation commands
https://wiki.t-firefly.com/en/AI ... pile-linux-firmware

Additionally, you do not necessarily need to fully compile. After downloading the SDK, first confirm that uboot has been compiled and kernel has been compiled, and then compile it as a whole

It is definitely possible to compile according to the wiki, and also pay attention to the red font description prompted in the wiki

Reply

Use props Report

21

Credits

0

Prestige

0

Contribution

new registration

Rank: 1

Credits
21
Posted at 1/15/2024 20:50:04        Only Author  4#
Thank you for your attention!
Yes, I did not make any change EXCEPT that I ran make menuconfig as directed by https://wiki.t-firefly.com/en/AI ... pile-linux-firmware (which I am STRICTLY following the instructions) and this results in the creation of a .config file inside the SDK structure, buildroot directory.

From your last but one paragraph above, it seems, though, that I have to first compile uboot and kernel before running make, if I understood it right. I did not know it. I will try this way with a fresh SDK download again and let you know of the results.

Thanks again!
Reply

Use props Report

21

Credits

0

Prestige

0

Contribution

new registration

Rank: 1

Credits
21
Posted at 1/16/2024 10:02:44        Only Author  5#
Hi! I have made a clean SDK download again and started from scratch with a brand new Docker container. Built uboot and kernel prior to running make for Buildroot. Now I had a problem with Cairo, which broke the make process. Seems like it is no longer available or repo has changed:
  1. >>> cairo 1.16.0 Downloading
  2. --2024-01-16 01:37:01--  <a href="http://cairographics.org/releases/cairo-1.16.0.tar.xz" target="_blank">http://cairographics.org/releases/cairo-1.16.0.tar.xz</a>
  3. Resolving cairographics.org (cairographics.org)... 131.252.210.176
  4. Connecting to cairographics.org (cairographics.org)|131.252.210.176|:80... failed: Connection refused.
  5. --2024-01-16 01:37:02--  <a href="http://sources.buildroot.net/cairo-1.16.0.tar.xz" target="_blank">http://sources.buildroot.net/cairo-1.16.0.tar.xz</a>
  6. Resolving sources.buildroot.net (sources.buildroot.net)... 104.26.0.37, 172.67.72.56, 104.26.1.37, ...
  7. Connecting to sources.buildroot.net (sources.buildroot.net)|104.26.0.37|:80... connected.
  8. HTTP request sent, awaiting response... 404 Not Found
  9. 2024-01-16 01:37:02 ERROR 404: Not Found.
Copy the code
  1. package/pkg-generic.mk:138: recipe for target '/home/firefly/proj/rk3288_linux_release_v2.5.0a_20230510/buildroot/output/rockchip_rk3288/build/cairo-1.16.0/.stamp_downloaded' failed
  2. make[1]: *** [/home/firefly/proj/rk3288_linux_release_v2.5.0a_20230510/buildroot/output/rockchip_rk3288/build/cairo-1.16.0/.stamp_downloaded] Error 1
  3. Makefile:16: recipe for target '_all' failed
  4. make: *** [_all] Error 2
Copy the code
If I download the new version of the library, what would be the correct way to aggregate it inside the SDK folders?
Here is why no one can get rid of Cairo: A bunch of other libraries require it:


  1. Symbol: BR2_PACKAGE_CAIRO [=y]                                                                                                                                       │  
  2.   │ Type  : boolean                                                                                                                                                      │  
  3.   │ Prompt: cairo                                                                                                                                                        │  
  4.   │   Location:                                                                                                                                                          │  
  5.   │     -> Target packages                                                                                                                                               │  
  6.   │       -> Libraries                                                                                                                                                   │  
  7.   │         -> Graphics                                                                                                                                                  │  
  8.   │   Defined at package/cairo/Config.in:1                                                                                                                               │  
  9.   │   Selects: BR2_PACKAGE_PIXMAN [=y] && BR2_PACKAGE_FONTCONFIG [=y] && BR2_PACKAGE_XLIB_LIBX11 [=n] && BR2_PACKAGE_XLIB_LIBXEXT [=n]                                   │  
  10.   │   Selected by: BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_CAIRO [=n] && BR2_PACKAGE_GSTREAMER1 [=y] && BR2_PACKAGE_GST1_PLUGINS_GOOD [=y] || \                             │  
  11.   │ BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TTML [=n] && BR2_PACKAGE_GSTREAMER1 [=y] && BR2_PACKAGE_GST1_PLUGINS_BAD [=y] && BR2_USE_WCHAR [=y] && \                         │  
  12.   │ BR2_TOOLCHAIN_HAS_THREADS [=y] && BR2_INSTALL_LIBSTDCPP [=y] && BR2_TOOLCHAIN_HAS_SYNC_4 [=y] || BR2_PACKAGE_WESTON [=y] && BR2_PACKAGE_HAS_UDEV [=y] && !\          │  
  13.   │ BR2_STATIC_LIBS [=n] && BR2_TOOLCHAIN_HAS_THREADS [=y] && BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 [=y] || BR2_PACKAGE_RRDTOOL_RRDGRAPH [=n] && BR2_PACKAGE_RRDTOOL [=n]\  │  
  14.   │  && BR2_TOOLCHAIN_HAS_SYNC_4 [=y] && BR2_INSTALL_LIBSTDCPP [=y] || BR2_PACKAGE_EFL_SVG [=n] && BR2_PACKAGE_EFL [=n] && BR2_TOOLCHAIN_HAS_SYNC_4 [=y] || \            │  
  15.   │ BR2_PACKAGE_WESTON_XWAYLAND [=n] && BR2_PACKAGE_WESTON [=y] && BR2_PACKAGE_XORG7 [=n] && BR2_PACKAGE_LIBEPOXY [=n] || BR2_PACKAGE_CAIROMM [=n] && \                  │  
  16.   │ BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 [=y] && BR2_TOOLCHAIN_HAS_THREADS [=y] && BR2_USE_WCHAR [=y] && BR2_USE_MMU [=y] && BR2_INSTALL_LIBSTDCPP [=y] || \                   │  
  17.   │ BR2_PACKAGE_LIBFM [=n] && BR2_PACKAGE_XORG7 [=n] && BR2_USE_WCHAR [=y] && BR2_TOOLCHAIN_HAS_THREADS [=y] && BR2_USE_MMU [=y] && BR2_INSTALL_LIBSTDCPP [=y] && \      │  
  18.   │ BR2_TOOLCHAIN_HAS_SYNC_4 [=y] || BR2_PACKAGE_LIBGDIPLUS [=n] && BR2_PACKAGE_XORG7 [=n] && BR2_USE_WCHAR [=y] && BR2_TOOLCHAIN_HAS_THREADS [=y] && BR2_USE_MMU [=y]\  │  
  19.   │  || BR2_PACKAGE_LIBGTK2 [=n] && BR2_PACKAGE_XORG7 [=n] && BR2_USE_WCHAR [=y] && BR2_TOOLCHAIN_HAS_THREADS [=y] && BR2_USE_MMU [=y] && BR2_INSTALL_LIBSTDCPP [=y]\    │  
  20.   │  && BR2_TOOLCHAIN_HAS_SYNC_4 [=y] || BR2_PACKAGE_LIBGTK3 [=n] && BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS [=y] && BR2_USE_WCHAR [=y] && BR2_TOOLCHAIN_HAS_THREADS [=y]\  │  
  21.   │  && BR2_USE_MMU [=y] && BR2_INSTALL_LIBSTDCPP [=y] && BR2_TOOLCHAIN_HAS_SYNC_4 [=y] && BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 [=y] && (BR2_PACKAGE_HAS_LIBEGL_WAYLAND [=y]\  │  
  22.   │  || BR2_PACKAGE_HAS_LIBGL [=n]) || BR2_PACKAGE_LIBRSVG [=n] && BR2_USE_WCHAR [=y] && BR2_TOOLCHAIN_HAS_THREADS [=y] && BR2_USE_MMU [=y] && \                         │  
  23.   │ BR2_INSTALL_LIBSTDCPP [=y] && BR2_TOOLCHAIN_HAS_SYNC_4 [=y] || BR2_PACKAGE_LIBSVG_CAIRO [=n] || BR2_PACKAGE_PANGO [=n] && BR2_USE_WCHAR [=y] && \                    │  
  24.   │ BR2_TOOLCHAIN_HAS_THREADS [=y] && BR2_USE_MMU [=y] && BR2_INSTALL_LIBSTDCPP [=y] && BR2_TOOLCHAIN_HAS_SYNC_4 [=y] && BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 [=y] || \        │  
  25.   │ BR2_PACKAGE_WEBKITGTK [=n] && BR2_INSTALL_LIBSTDCPP [=y] && BR2_HOST_GCC_AT_LEAST_4_8 [=y] && BR2_TOOLCHAIN_GCC_AT_LEAST_5 [=y] && BR2_TOOLCHAIN_USES_GLIBC [=y]\    │  
  26.   │  && BR2_PACKAGE_LIBGTK3 [=n] && BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS [=y] || BR2_PACKAGE_CHROMIUM_WAYLAND [=n] && (BR2_arm [=y] && BR2_GCC_TARGET_FLOAT_ABI [=hard]\  │  
  27.   │ =hard || BR2_aarch64 [=n]) && BR2_PACKAGE_WAYLAND [=y] && BR2_TOOLCHAIN_GCC_AT_LEAST_9 [=y] && BR2_PACKAGE_LIBMALI [=y]
Copy the code
Hope you can help me with some solution. I did not make any change to Buildroot's menuconfig, trying to avoid braking anything...

Thank you very much again for your help!
Mario
Reply

Use props Report

210

Credits

0

Prestige

0

Contribution

intermediate

Rank: 3Rank: 3

Credits
210
Posted at 1/16/2024 10:07:57        Only Author  6#
Did you ensure that uboot and kernel compilation pass as I said? Please refer to the wiki

Reply

Use props Report

21

Credits

0

Prestige

0

Contribution

new registration

Rank: 1

Credits
21
Posted at 1/17/2024 02:23:56        Only Author  7#
zhangzhenzhao Posted at 1/16/2024 10:07
Did you ensure that uboot and kernel compilation pass as I said? Please refer to the wiki

Yes, U-Boot and Kernel were compiled successfully. I am following strictly the wiki document.
I also did not make any change on menuconfig. In fact, after running build.sh kernel, I just went to SDK root, ran envsetup.sh rockchip_rk3288 and, then, inside buildroot/output/rockchip_rk3288, I ran make.
It seems the Cairo repository is not available anymore. It seems it is not included in the SDK but it is used by a lot of dependencies. That is when and why it breaks.
Reply

Use props Report

You need to log in before you can reply Login | Register

This forum Credits Rules

Quick Reply Back to top Back to list