On 05/03/20 03:30, Jan Rovins wrote:
Hi Rene,

I usually do cross builds because I am mostly building for embedded projects, and have little need for a desktop build. I will still need to crossbuild for x86_64 to get highly specific build options for a project.

And I crossbuild because Rene told me to do so back in 2015 as packages compiled end up on all sorts of systems with us.

I currently got through almost everything, except for the final kernel build, where depmod is not behaving correctly in the cross build context. I will post the detailed errors later, because I have to work on other things today.

The kernel is looking for files and kmod has set them all (insmod, rmmod, lsmod, modprobe, modinfo, depmod) as links back to itself rather than individual files as module-init-tools had. From memory there's something to set in the kernel to allow for this, but I don't remember where as we don't use t2's kernel in puppy. Maybe easiest way would be to have kmod copy and rename and not just link, kmod.conf line 36 needs to be altered for this (and maybe the title), just tried it manually and it works. Thoughts please Rene, Jan, any others following? A build with it automatically happening by me will have to await a day or five as both machines are already set for their next two tasks?

I also tried a native build, hoping that it would work better, but am running into some regressions there too:

1. kmod at the stage 1 build want lzma. I added xz to build at stage 1, and removed the confopts that disable the lzma options, and that seemed to work.

as we do with cross


2. meson broke next with this error:


running install
error: can't create or remove files in install directory
^1-meson
The following error occurred while trying to add or remove files in the
installation directory:
^1-meson
    [Errno 2] No such file or directory: '/opt/t2-trunk/build/GenMin-no-cross-9.0-svn-generic-x86-64-linux/usr/lib/python3.7/site-packages/test-easy-install-31694.write-test'
^1-meson
The installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:
^1-meson
/opt/t2-trunk/build/GenMin-no-cross-9.0-svn-generic-x86-64-linux/usr/lib/python3.7/site-packages/
^1-meson
This directory does not currently exist.  Please create it and try again, or
choose a different installation directory (using the -d or --install-dir
option).

there's a setting in the python.conf disabling this feature in the python build that needs to be hashed out, meson, ninja and a couple of others now use the site-package files when actually building other packages later, (brave new world stuff,) so it's needed now. There also needs a setting added in python.conf to make it be created in the $root/usr/lib (/python3.7/site-packages) for stage 5 and not just the toolchain, i've been cheating and manually doing it until I get the syntax correct (re-reading and trying combinations with the help of rob's T2 handbook) which !aren't working, ?or should they be in 00-dirtree.

Haven't looked into this yet, maybe a python dependency,  (when I make the chroot from the iso, there are a lot of fixups needed for python)

yup, like the links for python3 > python and python3-config > python-config in stage 5, since we are not using python2.


Will send more detailed information & maybe some patches for these on my next T2 marathon session (probably on the weekend) if you or scsijon does not beat me to it.

what i'm playing with and isn't already out there is not ready yet to be included until I go back to using the normal T2 system, mine is all a cut and paste mix at present to work out why things aren't building as expected for me, which is why I'm not bugging everyone. Maybe a week away yet before I start diff'ing out and downloading and creating/updating/patching a fresh T2 for it to work.


Regards,

Jan


On 3/3/20 3:15 AM, René Rebe wrote:
Hi Jan,

you do not really need a cross build for x86* on x86*, unless you want to for quality control testing reasons. I usually don’t do this though.

Also some 36h ago I did some sed cleanup of removing the stray, superfluous stuff in scripts/* I hope that did not cause any typo or regressions.

Will be test building more again this week.

Oh, and yes, the switch from the deprecated module-init-tools  kmod and an updated udev is not yet the most tested. I was considering updating dev even further to the flavor inside systemd (sigh) before a do whole system dev testing which as usually nowadays with the state of upstream changes might cause a problem or regression, or two :-/


I have your latest udev building 'sort of nicely', just need to sort out the packages needing extra stage 2's (usbutils, and whatever installs pci.ids) building, and a couple of minor .conf twists with files appearing in the wrong places, like udevd appearing in /lib/udev/udev instead of /sbin, the libs being one udev directory too deep, and the hwdb files are all missing (but that might be the kernel). The linux kernel needs them in the correct directories for it to build completely. I think it's just .conf fixes.

And yes, i'm still working towards adding eudev ilo udev, working at a usefull .conf for it at the moment, before I try it out, maybe early or mid next week as this weekend will be busy with visitors.

    René

On 2. Mar 2020, at 23:46, Jan Rovins <[email protected]> wrote:

I am doing a cross build. But it’s x86-64 to x86-64

J
On Mar 2, 2020, at 7:52 AM, scsijon <[email protected]> wrote:

?strange, mine doesn't need libusb or usbutils for udev. Just a thought, how are you building, ?maybe on a external hard drive or memory stick connected via usb?

Yes, tested at building with a usb stick mounted at the time of building, and that machine wanted these extra packages, the other running the same but no usb didn't, nice to have two build machines to 'play' with sometimes!

However just have had to label them so I don't try to do something to the wrong one!, almost did and lost most of a days work!


On 02/03/20 14:52, Jan Rovins wrote:
Several things missing for udev when cross building:
checking for USBUTILS... no
configure: error: Package requirements (usbutils >= 0.82) were not met:
No package 'usbutils' found
I added usbutils to  target/generic/pkgsel/20-minimal.in
Then when trying to build usbutils I got:
checking for LIBUSB... no
configure: error: Package requirements (libusb-1.0 >= 1.0.0) were not met:
No package 'libusb-1.0' found
So I added libusb to target/generic/pkgsel/20-minimal.in
Then usbutils cross built OK,  but udev failed again
checking for USBUTILS... yes
checking for USB database location... /usr/share/usb.ids
configure: error: pci.ids not found, try --with-pci-ids-path=
Due to previous errors, no 1-udev.log file!
(Try enabling xtrace in the config to track an error inside the build system.)
--- BUILD ERROR ---
So I added this to udev.conf:
atstage cross && var_append confopt " " " --with-pci-ids-path=$root/usr/share/"
Patches attached.
Note libusb is still in 50-minimal-desktop.in, probbably should be removed since i think 20-minimal.in should cover it for everyone.
Jan
-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[email protected] with a subject of: unsubscribe t2




----------------------------------------------------------- If you wish to unsubscribe from this mailing, send mail to
[email protected] with a subject of: unsubscribe t2

Reply via email to