crossroad setup failed: Android NDK is only available for Linux 64-bit - android-ndk

I'm trying to build libjxl for android-arm64 by crossroad. I have install NDK, the evidence is I can run ndk-build command. The problem is: crossroad --h android-arm64 failed with error:
android-arm64: Setups a cross-compilation environment for Android on ARM.
Not available. Some requirements are missing:
Android NDK is only available for Linux 64-bit
But my server is linux 64-bit. Here is uname -a result:
Linux 5.10.0-10-amd64 #1 SMP Debian 5.10.84-1 (2021-12-08) x86_64
Any suggestion please? If you need any further information, please let me know. Thanks in advance~

Related

Flutter on Fedora 36 - Linux compilation not working "unable to load driver: swrast"

when running flutter run to run on linux, a blank page appears with this in the debug console:
Launching lib/main.dart on Linux in debug mode...
libGL error: MESA-LOADER: failed to open swrast: /lib64/libpthread.so.0: version `GLIBC_PRIVATE' not found (required by /snap/flutter/current/usr/lib/x86_64-linux-gnu/dri/../../../../lib/x86_64-linux-gnu/librt.so.1) (search paths :/usr/lib/dri:/snap/flutter/current/usr/lib/x86_64-linux-gnu/dri:, suffix _dri)
libGL error: failed to load driver: swrast
** (flutter_mastering:4822): WARNING **: 18:51:11.101: Failed to start Flutter renderer: Unable to create a GL context
searched for similar issues on the topic:
https://github.com/flutter/flutter/issues/75536
https://github.com/flutter/flutter/issues/76178
Cannot load `swrast` and `iris` drivers in Fedora 35
https://www.linuxquestions.org/questions/linux-software-2/libgl-error-on-fedora-28-swrast-solved-4175631923/
apparently nothing worked, here is some of my device's info:
5.19.6-200.fc36.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Aug 31 17:58:15 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
❯ glxinfo | grep render
GLX_MESA_query_renderer, GLX_MESA_swap_control, GLX_NV_float_buffer,
GLX_MESA_query_renderer, GLX_MESA_swap_control, GLX_OML_swap_method,
Extended renderer info (GLX_MESA_query_renderer):
OpenGL renderer string: AMD Radeon Vega 3 Graphics (raven, LLVM 14.0.0, DRM 3.47, 5.19.6-200.fc36.x86_64)
GL_ARB_compute_variable_group_size, GL_ARB_conditional_render_inverted,
GL_INTEL_blackhole_render, GL_KHR_blend_equation_advanced,
GL_NV_conditional_render, GL_NV_copy_image, GL_NV_depth_clamp,
GL_ARB_compute_variable_group_size, GL_ARB_conditional_render_inverted,
GL_INGR_blend_func_separate, GL_INTEL_blackhole_render,
GL_NV_compute_shader_derivatives, GL_NV_conditional_render,
GL_EXT_render_snorm, GL_EXT_robustness, GL_EXT_sRGB_write_control,
GL_INTEL_blackhole_render, GL_KHR_blend_equation_advanced,
GL_NV_conditional_render, GL_NV_draw_buffers, GL_NV_fbo_color_attachments,
GL_OES_element_index_uint, GL_OES_fbo_render_mipmap,
❯ flutter doctor
[✓] Flutter (Channel stable, 3.0.5, on Fedora Linux 36 (Workstation Edition) 5.19.6-200.fc36.x86_64, locale en_US.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
[✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome)
! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.
[✓] Linux toolchain - develop for Linux desktop
[✓] Android Studio (version 2021.2)
[✓] VS Code (version 1.71.0)
[✓] Connected device (1 available)
[✓] HTTP Host Availability
! Doctor found issues in 1 category.
The issue is because of the snap install, what worked for me is replacing the snap version with the manual install from github. You can also use the tarball.
git clone https://github.com/flutter/flutter.git -b stable
now to add flutter to path:
sudo gedit ~/.bashrc
Assuming ur flutter install was at /home/user/ add this at the end of the file:
export PATH="$PATH:/flutter/bin"
If ur flutter install is somewhere else then change the directory accordingly
After saving and exiting, refresh ur .bashrc file with:
source ~/.bashrc
Now check if its added to path with:
echo $PATH
If you see a /flutter/bin then ur doing fine. To check if flutter's installed:
flutter --version
To add any missing dependencies (if ur on Fedora) use:
sudo dnf install bash curl file git unzip which xz zip mesa-libGLU clang cmake ninja-build pkg-config gtk3-devel
On Ubuntu based distros it is
sudo apt-get install clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev

Why does Ubuntu install ARM64 compilers with a version suffix that breaks autoconf?

I just installed the ARM64 cross-complier (aarch64-linux-gnu) on x86_64 Ubuntu 16.04 and all of the binaries have "-4.8" (like aarch64-linux-gnu-gcc-4.8). When I try to configure with --host=aarch64-linux-gnu, it fails to find aarch64-linux-gnu-gcc and falls back to the native gcc.
What did I miss? Is there an additional package that needs installation other than gcc-4.8-aarch64-linux-gnu? Or is there another mystery parameter to autogen.sh/configure that I don't know about?
Thanks.

Video4Linux Loopback Device on Linux4Tegera

I am interfacing Bumblebee2 camera with Nvidia Tegra TK1 board. I have installed firewire1394 driver along with coriander 2.0.2 to get the camera output and it is working fine. But I am not able to load the video for Linux module. I have installed the following two packages as well using synaptic
v4l2loopback-utils
qv4l2
I have following version of Linux kernel on Nvida Tegra TK1 board.
uname -a
Linux tegra-ubuntu 3.10.40-grinch-21.3.4 #1 SMP PREEMPT Fri May 1 10:41:09 UTC 2015 armv7l armv7l armv7l GNU/Linux
I downloaded the stable version of Video4Linux Loopback Device from here
I follow the steps mentioned in the readme file and when I tried to make it, I got the following errors.
make -C /lib/modules/3.10.40-grinch-21.3.4/build SUBDIRS=/home/ubuntu/vloopback modules
make: *** /lib/modules/3.10.40-grinch-21.3.4/build: No such file or directory. Stop.
make: *** [all] Error 2
I would appreciate if someone can help me to install video for Linux loopback device.
Current running kernel Linux tegra-ubuntu 3.10.40-grinch-21.3.4 does not have v4l2loopback support. I used module assistant to compile v4l2loopback module.
sudo aptitude install v4l2loopback-source module-assistant
sudo module-assistant auto-install v4l2loopback-source
Don't forget to mention the current running kernel headers. Then build and make v4l2loopback from here

Linux cross-compiler for Cygwin -- not able to find the Linux Cygwin compiler tool chain online

I have installed Cygwin and followed the necessary steps to install the right packages to allow for Linux cross-compilation on Windows.
More info on procedure here Compiling Linux binaries (x86/x86-64) under Windows
However, I am not able to obtain the actual Linux compiler tools from the source above, or anywhere online (after hours of searching). The download to the Linux cross-compiler for Cygwin points to Metamod-P, I wonder what Metamod-P is.
How or where can I get the required Linux cross-compiler for cygwin?
The Cygwin Ports repository contains cross-compilers for i686, x86_64, armv7hl, and aarch64 GNU/Linux targets. Look for the linux-*-gcc-* packages under the Devel category.

Install a GCC ARM Embedded toolchain

I would like to load a very simple, hello world program, on an Embedded ARM processor. For this, I would like to install a toolchain in order to cross compile my code. I am currently working on a 64-bit Linux OS. Does anyone know of a GCC ARM embedded toolchain that I can download? I've downloaded a pre-built version of Linaro GCC but it only runs on a 32-bit Linux machine and I can't install the ia32-libs package because my Linux machine has no internet connection.
The gcc-arm toolchain I'm using for ARM Cortex-M processors can be found here-
https://launchpad.net/gcc-arm-embedded
It also builds for Cortex-A targets, which should cover the majority of embedded ARM systems.
You can download standalone distributions for many operating systems, including linux.
There are also 64bit builds of Linaro toolchain here. Just download the x86_64 and not the i686 version.

Resources