Re: Systemd Multilib build success
| Newsgroups | gmane.linux.lfs.automated |
|---|---|
| Message-ID | <CAAGwWFU4jPp2pu3u50h+iWhTqt1pQVAmCTKtp=aZKKeXKf=G2g@mail.gmail.com> |
On Mon, Dec 23, 2024 at 5:53 PM Eric Clothier <[email protected]> wrote: > On Mon, Dec 23, 2024, 16:49 Thomas Trepl <[email protected]> > wrote: > >> Am Montag, dem 23.12.2024 um 00:14 -0500 schrieb Eric Clothier: >> > On Sun, Dec 22, 2024 at 11:07 PM Eric Clothier <[email protected]> >> wrote: >> > > ... >> > > >> > > Thomas, I have a patch that I am currently testing to update the >> systemd build instructions. Once I can verify the build completed and is >> bootable, I will send the patch. I addressed the issues Xi raised, aside >> from the CFLAGS/CXXFLAGS, as those are on the mx32 builds only and I >> haven't gotten to that point yet. I also updated the meson switches from >> -Dxxx to -D xxx style, and switched to meson setup invocation, to match the >> non-multilib instructions. And I removed some duplicated/deprecated >> switches as well. >> > > >> > > -- >> > > Eric >> > > >> > >> > >> > Attached is the patch I mentioned in my last email. As I stated, it >> only contains fixes for the m32 build, NOT for mx32, as I have not had the >> chance to do an mx32 build yet. I can confirm that the build is successful >> with this patch, and the system is bootable. I have NOT tested any linking >> to the lib32 systemd build, as I have not used any m32 specific software >> with this build as of yet. I matched the format and switches from the >> non-multilib build and from other lib32 builds throughout the book. The >> patch can be applied with git am. >> > >> > -- >> > Eric >> > > > >> Thanks Eric, i applied the patch to ML/systemd and adopted the >> instructions >> to mx32, too. Removed the xslt thing completely, it seem s indeed >> obsolete. >> >> Thanks again, >> >> -- >> Thomas >> > No problem Thomas. I just adapted the instructions to mx32 as well and > started the build up from my last lfs build. I went ahead and removed the > CFLAGS/CXXFLAGS as well, I will let you know if it breaks anything on mx32. > Also, after I sent the patch, I remembered that util-linux does link > against the m32/mx32 libs of systemd. So I can confirm that the m32 changes > did indeed work properly. As I said, I'll report back on mx32 once the > build finishes and I can verify it boots properly. > > -- > Eric > Just verified that the ml_all build was a success, and does boot successfully. Removing the CFLAGS/CXXFLAGS and fixing the meson switches for mx32 had no negative impact that I have seen. I will attach my SBU_DU report, along with the final patch I created to fix the mx32 side of the build. -- Eric -- http://lists.linuxfromscratch.org/sympa/info/alfs-discuss Unsubscribe: See the above information page
0001-systemd-multilib-x32-remove-xsltproc-symlink-update-.patch
(text/x-patch, 4.9 KB)
From 2b64ea0added176a6bc9c6e0110266e7b967e297 Mon Sep 17 00:00:00 2001 From: Eric Clothier <[email protected]> Date: Mon, 23 Dec 2024 16:48:31 -0500 Subject: [PATCH] systemd-multilib-x32: remove xsltproc symlink, update meson switches, only install needed multilib libs Remove xsltproc symlink: Remove the creation of xsltproc symlink in favor of properly supressing man page generation via meson switches, same as non-multilib build instructions Update meson switches: Change meson switch style from -Dxxx to -D xxx to match non- multilib build instructions Remove duplicated/deprecated meson switches Fix man page supression switch Only install needed multilib libs: Only libsystemd.so* and libudev.so* are needed from the multilib builds, so only install those Remove removal of xsltproc symlink as it is no longer created Fix previous commit to also remove xsltproc symlink removal --- chapter08/systemd.xml | 61 +++++++++++++++++++++++++------------------ 1 file changed, 35 insertions(+), 26 deletions(-) diff --git a/chapter08/systemd.xml b/chapter08/systemd.xml index 13408789c..03e61c4f8 100644 --- a/chapter08/systemd.xml +++ b/chapter08/systemd.xml @@ -330,8 +330,7 @@ meson setup .. \ <screen><userinput remap="install">LANG=en_US.UTF-8 DESTDIR=$PWD/DESTDIR ninja install cp -v DESTDIR/usr/lib32/libsystemd.so* /usr/lib32 cp -v DESTDIR/usr/lib32/libudev.so* /usr/lib32 -rm -rf DESTDIR -rm -f /usr/bin/xsltproc</userinput></screen> +rm -rf DESTDIR </userinput></screen> </sect2><!-- m32 --> @@ -346,9 +345,12 @@ rm -f /usr/bin/xsltproc</userinput></screen> <screen><userinput remap="pre">rm -rf *</userinput></screen> - <para>Create a symlink to work around missing xsltproc:</para> +<!-- Remove the symlink to work around missing xsltproc + Man page generation will be properly supressed in meson options --> + + <!-- para>Create a symlink to work around missing xsltproc:</para> -<screen><userinput remap="pre">ln -sf /bin/true /usr/bin/xsltproc</userinput></screen> +<screen><userinput remap="pre">ln -sf /bin/true /usr/bin/xsltproc</userinput></screen --> <!-- <para>Fix an issue on x32:</para> @@ -357,30 +359,32 @@ sed '/long drift_freq;/s@long @int64_t @' -i src/timesync/timesyncd-manager.h</u --> <para>Prepare systemd for compilation:</para> +<!-- Match config switch style (-Dxxx -> -D xxx) to initial build above + Properly supress man page generation (-D man=disabled) + (Removes need for xsltproc symlink) + Remove deprecated switches that are duplicates/not needed + (-Drootlibdir deprecated, covered by libdir= option) + (-Db_lto not found in meson-options.txt, lto handled by mode switch) + (-Dblkid deprecated) --> + <screen><userinput remap="configure">PKG_CONFIG_PATH="/usr/libx32/pkgconfig" \ CC="gcc -mx32" \ CXX="g++ -mx32" \ -CFLAGS+=" -Wno-error=shift-overflow" \ -CXXFLAGS+=" -Wno-error=shift-overflow" \ LANG=en_US.UTF-8 \ -meson --prefix=/usr \ - --sysconfdir=/etc \ - --localstatedir=/var \ +meson setup .. \ + --prefix=/usr \ --libdir=/usr/libx32 \ - -Drootlibdir=/usr/libx32 \ - -Dblkid=true \ - -Ddefault-dnssec=no \ - -Dfirstboot=false \ - -Dinstall-tests=false \ - -Dldconfig=false \ - -Dsysusers=false \ - -Db_lto=false \ - -Drpmmacrosdir=no \ - -Dhomed=false \ - -Duserdb=false \ - -Dman=false \ - -Dmode=release \ - ..</userinput></screen> + --buildtype=release \ + -D default-dnssec=no \ + -D firstboot=false \ + -D install-tests=false \ + -D ldconfig=false \ + -D sysusers=false \ + -D rpmmacrosdir=no \ + -D homed=false \ + -D userdb=false \ + -D man=disabled \ + -D mode=release </userinput></screen> <para>Compile the package:</para> @@ -388,10 +392,15 @@ meson --prefix=/usr \ <para>Install the package:</para> +<!-- Only install needed libs from lib32 as opposed to installing all libs + Needed libs: libudev.so* + libsystemd.so*--> + + <screen><userinput remap="install">LANG=en_US.UTF-8 DESTDIR=$PWD/DESTDIR ninja install -cp -Rv DESTDIR/usr/libx32/* /usr/libx32 -rm -rf DESTDIR -rm -f /usr/bin/xsltproc</userinput></screen> +cp -v DESTDIR/usr/libx32/libsystemd.so* /usr/libx32 +cp -v DESTDIR/usr/libx32/libudev.so* /usr/libx32 +rm -rf DESTDIR </userinput></screen> </sect2><!-- mx32 --> -- 2.43.0
r12.2-835-systemd-SBU_DU-2024-12-23.report
(application/octet-stream, 60.7 KB) - not displayed