Configure X11R6 source cross-compilation for ARM - linux

I am trying to cross build X11R6.6 for ARM architecture.
I am using Ubuntu 10.04 LTS as the build system. And yes, I do understand X11R6 is pretty much outdated, but its a client requirement.
The target/host is (uname -a) :
Linux freescale 2.6.31-207-g7286c01 #1617 PREEMPT Wed Aug 7 10:45:59 IST 2013 armv5tejl GNU/Linux
The toolchain used :
arm-none-linux-gnueabi-4.1.2 glibc-2.5 nptl-3
The problem is that after make install I can't find any server binaries (X, Xorg, XFree86, Xfbdev, etc.) in the install binaries directory, although there are other binaries getting built & installed (xinit, xclock, twm, xconsole, etc.). Checked the source after build, these server binaries are not getting built.
I am pretty sure it must be something to do with the source configuration (X11R6 build system is a headache...apparently).
The build system consists of different .cf & .def files (site.def, host.def, linux.cf, xf86site.def, etc.) , which we have to edit according to our configuration. I do have a general idea about these, But I have not completely understood all details of it. I ahve enabled Serverbuild options wherever applicable. I have also googled a lot...but haven't found anything solid yet.
So is there any resource/sample tutorial/blog which can guide me as how exactly to configure X11R6 ? Or if anyone has built X11R6 for ARM, or has any suggestions...kindly oblige...thanks.
EDIT:
Very sorry, forgot to mention an important point. The sources wer downloaded through LTIB (Linux Target Image Builder) tool for Freescale. The package name is XFree86-4.4.0. Links follow :
http://bitshrine.org/gpp//XFree86-4.4.0-src-1.tgz
http://bitshrine.org/gpp//XFree86-4.4.0-src-2.tgz
http://bitshrine.org/gpp//XFree86-4.4.0-src-3.tgz
http://bitshrine.org/gpp//XFree86-4.4.0-src-4.tgz
http://bitshrine.org/gpp//XFree86-4.4.0-src-5.tgz
http://bitshrine.org/gpp//XFree86-4.4.0-src-6.tgz
http://bitshrine.org/gpp//XFree86-4.4.0-src-7.tgz
EDIT :
LTIB version is 9.1.1 (i think so because ltib script has "App version : 9.1.1"), and it was given by Freescale.
Output of the ./ltib -m listpkgs | grep xorg
xorg-server-1.6.1-2 --------- xorg-server ----------- y -- X11 -- X.Org server

Related

creating appimage using source code and linuxdeployqt

i trying to create a appimage for my Linux system. Using qt-creator i have completed the programing and ran the app successfully . but when i am trying to make it appimage using linuxdeployQt i am facing some errors
linuxdeployqt 5 (commit 37631e5), build 631 built on 2019-01-25 22:47:58 UTC ERROR:
The host system is too new.
Please run on a system with a glibc version no newer than what comes with the oldest still-
supported mainstream distribution, which currently is glibc 2.20.
This is so that the resulting bundle will work on most still-supported Linux distributions.
For more information, please see
https://github.com/probonopd/linuxdeployqt/issues/340
i don't know what this issue is. when i visit the website, it is not clear also. So anyone familiar with this kind please put your help here.
It means that your glibc is too new.
That's correct, to work around this issue while using linuxdeployqt you have to choose as build environment an older system such as Centos 6 or Ubuntu 14.04.
As an alternative, you can use appimage-builder which allows producing AppImages on newer systems.
It means that your glibc is too new. I think it is supported glibc version comes with Ubuntu 14.04 as it is mentioned in herr https://github.com/probonopd/linuxdeployqt/issues/340. I have faced the same problem and still struggling to solve this issue.

How to safely reconfigure gcc on my Linux system?

I am trying to install a program on CentOS 6.10 and at the end of the installation, it gave an error saying that Glibc-2.14 is necessary. I upgraded the current Glibc and this time the error below occurred:
* These critical programs are missing or too old: gcc
* Check the INSTALL file for required versions.
I upgraded the gcc and tried to configure again. However, the same error persists. Hence I read the INSTALL file as it suggests, and I see this section:
You may also need to reconfigure GCC to work with the new library. The
easiest way to do that is to figure out the compiler switches to make
it work again (`-Wl,--dynamic-linker=/lib/ld-linux.so.2' should work
on GNU/Linux systems) and use them to recompile gcc.
So should I go to where gcc is built and do:
$ ./configure -Wl,--dynamic-linker=/lib/ld-linux.so.2 ?? Do I understand the instructions correctly? If so, then how will I be able to configure only gcc and not the other executable files as they are all in the same folder? (e.g gcc-5, git, idle, python, python-build.. etc) The directory is something like: home/linuxbrew/.linuxbrew/bin/gcc
I'm asking this because GNU compiler and GCC are fundamental in Linux system, and I'm not sure if those are the correct steps.
You are probably using a really old compiler (the one that comes with CentOS by default).
You need to install Red Hat Developer Toolset which provides up-to-date versions, see https://www.softwarecollections.org/en/scls/rhscl/devtoolset-7/ for more details:
Developer Toolset is designed for developers working on CentOS or Red Hat Enterprise Linux platform. It provides current versions of the GNU Compiler Collection, GNU Debugger, and other development, debugging, and performance monitoring tools.

Check for multiarch on linux/chrome OS?

I'm making a hotfix for AROC on the Chromebook Plux V2 (which has a x86_64 architecture, but no multiarch support) and I want to run a test in his script that checks for it. What command can I use to check for multiarch on a linux x86_64 system?
(Just to reference the original issue) when deploying AROC on that chromebook, the device could not run the i686 busybox binary that the script installs.
The author insists on the i686 binary, because the android containers that he tests deployments on are 32 bit on a host system with multiarch.
My goal is to fix his script and add support for the device I was testing on.
I plan to do this, by checking for multiarch and installing the i686 binary if a 32 bit runtime exists or installing the x86_64 binary if it doesn't. What command can I use to check for multiarch?
you're asking about multilib support, not multiarch.
you can simply check to see if the 32-bit ldso exists: test -e /lib/ld-linux.so.2.

Has official 32bit support for cmake on Linux been dropped?

I don't mean the version(s) provided by the various distributions but the binary from the official website.
I have an old VM running 32bit OpenSUSE 12.1 that is configured for a project I'm working on at work. I need to install WebKitGTK. The problem is that the cmake in the repositories is ancient 2.x, while WebKitGTK at least 3.6 (or similar). So I went to the official website and (my fault) without looking too much into it downloaded the 3.10 installation for Linux.
Upon executing the binary that was installed I got the error that the file could not be run. I checked the execution rights and it was fine. Then it struck me...I ran file cmake and got 64 instead of the required 32bit.
I went back to the website and all I could find were 32bit versions for Windows but none for Linux.
I can build it from source but just out of curiousity would like to know if support has been dropped. I was unable to find any information so far.
32-bit support for CMake hasn't been dropped. They just don't provide binaries for it on their website as of CMake 3.7.0

make-kpkg not working in Fedora 20

I have been working with Linux kernel, compiling and inserting modules, in my custom kernels. Previously I had Ubuntu where I had been working with my custom kernel and all the commands for compiling and installing kernel worked like a charm once I had installed all the required libraries.
Now I have switched over to Fedora 20, here I want to install my custom kernel and for that I downloaded all possible kernel tools, namely, Kernel Development Kernel Tools these are group installs and other libraries that I downloaded were ia32 libraries (as I am working on 64-bit OS), kernel-devel package. Still I am not able to work with make-kpkg command. It says bash: make-kpkg: command not found....
I googled out and did everything I could.
Can anyone get me out of this trouble?
make-kpkg is a Debian kernel packaging tool. It does not exist on RHEL family distributions, such as Fedora.
Please refer to the Fedora documentation page "Building a custom kernel" for the correct procedure. (I have not reproduced it here as it is rather long, and I'm not sure how far you may have gotten.)
The make-kpkg tool is part of the 'kernel-package' package on Debian systems. It is a Debian tool to produce debian package files. Ubuntu is based on Debian and has this tool. However, Fedora uses a different system to manage packages. So, make-kpkg would not be available on Fedora.

Resources