From nobody Tue Sep 05 17:52:25 2023 X-Original-To: emulation@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RgClB4B9Rz4sWP3; Tue, 5 Sep 2023 17:52:38 +0000 (UTC) (envelope-from felix@palmen-it.de) Received: from stef.palmen-it.de (stef.palmen-it.de [IPv6:2001:470:1f0b:bbb:1::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4RgCl95bXWz3STl; Tue, 5 Sep 2023 17:52:37 +0000 (UTC) (envelope-from felix@palmen-it.de) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=palmen-it.de header.s=20200414 header.b=PHG3JnAP; spf=pass (mx1.freebsd.org: domain of felix@palmen-it.de designates 2001:470:1f0b:bbb:1::1 as permitted sender) smtp.mailfrom=felix@palmen-it.de; dmarc=none DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=palmen-it.de; s=20200414; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:To:From:Date:Sender:Reply-To:Cc: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=LbbWJEpQgfbexB6kG9r6E0k6xUe/RVE2Xg73nqLCpBY=; b=PHG3JnAP1+kF1ATEfEsB55ynP3 e5N1eRUsQs6ftqLOJkVnzZ5MwmQwWxt6Tmbdwby1GhSIqXpzVa2wJ5G0GdN7cri9L8otjiBBalyIZ bZ0Ee5QwLl6ulBtIHu8gtvbhyy0/FwyrMwCAVEUdNNctSBVQ9HWt6MkrAf2pbTgvlAJW31gohgJ7E uoQFyft6z+uxTAOV1lnevNNqxz6oPTv05ZfJZZJxb981m/Z1ezkR5AuN4QdyKXxYLXlyfj9PibVPs +0UVrm7zddqV6LAnsmFArSbooXYRWyooR6p6t/SeB4Cnbh8nX94PiCiQC1351kEqJTGatxvJfWJ52 UUjNXdbQ==; Received: from [192.168.71.101] (helo=mail.home.palmen-it.de) by stef.palmen-it.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qdaDy-00Bd61-F2; Tue, 05 Sep 2023 19:52:26 +0200 Received: from nexus.home.palmen-it.de ([192.168.99.2]) by mail.home.palmen-it.de with esmtpsa (TLS1.3) tls TLS_CHACHA20_POLY1305_SHA256 (Exim 4.96 (FreeBSD)) (envelope-from ) id 1qdaDy-0009NX-0h; Tue, 05 Sep 2023 17:52:26 +0000 Date: Tue, 5 Sep 2023 19:52:25 +0200 From: Felix Palmen To: ports@freebsd.org, emulation@freebsd.org Subject: Re: Building a Linuxulator userland from source Message-ID: <3fn43ksmv2lgahhwnfl2e3tgrj3ydwtur54vhc4iggwx5a67tz@pxtbocitq2xy> Mail-Followup-To: ports@freebsd.org, emulation@freebsd.org X-Face: /1K@t"h.}e~pR@]c7HorQ!T`F^RJCa'BCr#e>IKA{>C/9OTGB4|xh"y2{?1Z5M i2w"AH^pN_LlHR^{+f',_Np~;.B;!M/bL}*qk]p5*r7F5vW};{:@4u5S?T&f0$7BJ-71Q5SV]:v$`5 A0[DZ:=?S52x8HJ~5@^P_\T@MsjG{R( Organization: FreeBSD.org References: List-Id: Development of Emulators of other operating systems List-Archive: https://lists.freebsd.org/archives/freebsd-emulation List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-emulation@freebsd.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="t7c3cuflkfygm7xj" Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20230517 X-Spamd-Bar: ------- X-Spamd-Result: default: False [-7.50 / 15.00]; SIGNED_PGP(-2.00)[]; DWL_DNSWL_MED(-2.00)[palmen-it.de:dkim]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.997]; MID_RHS_NOT_FQDN(0.50)[]; RCVD_DKIM_ARC_DNSWL_MED(-0.50)[]; FORGED_SENDER(0.30)[zirias@freebsd.org,felix@palmen-it.de]; MIME_GOOD(-0.20)[multipart/signed,text/plain]; R_DKIM_ALLOW(-0.20)[palmen-it.de:s=20200414]; R_SPF_ALLOW(-0.20)[+ip6:2001:470:1f0b:bbb:1::1:c]; RCVD_IN_DNSWL_MED(-0.20)[2001:470:1f0b:bbb:1::1:from]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; BLOCKLISTDE_FAIL(0.00)[2001:470:1f0b:bbb:1::1:server fail]; DMARC_NA(0.00)[freebsd.org]; MLMMJ_DEST(0.00)[ports@freebsd.org,emulation@freebsd.org]; FROM_HAS_DN(0.00)[]; FROM_NEQ_ENVFROM(0.00)[zirias@freebsd.org,felix@palmen-it.de]; RCVD_COUNT_TWO(0.00)[2]; HAS_ORG_HEADER(0.00)[]; TO_DN_NONE(0.00)[]; ARC_NA(0.00)[]; DKIM_TRACE(0.00)[palmen-it.de:+]; MIME_TRACE(0.00)[0:+,1:+,2:~]; RCPT_COUNT_TWO(0.00)[2]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US]; RCVD_TLS_ALL(0.00)[] X-Rspamd-Queue-Id: 4RgCl95bXWz3STl --t7c3cuflkfygm7xj Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable * Felix Palmen [20230901 16:55]: > Posting yet another status update [...] And the next one ;) First, I kind of reached a "milestone", I got multimedia/makemkv to build with the new userland (using the ffmpeg shared libs instead of linking it statically as is necessary with -c7), and it *seems* to work just fine \o/. Unfortunately, it still segfaults in "guiserver" mode, so obviously this wasn't caused by the ancient userland -> still no GUI here for FreeBSD :( But then, the bad news, it seems I'm hitting a brick wall trying to port gtk2 (a prerequisite for Citrix Workspace, another app I want to *try* to get to work). It fails building its demos, telling it can't determine the file type of some .png file. I assume there is some issue around shared-mime-info, I'm not sure yet... But now, I have the idea to once again completely restructure my new userland, and I'm posting it here hoping for comments from people with experience regarding Linuxulator: * So far, my linuxsrc_base metaport just pulls in what I thought to be a very minimal working GNU/Linux userland: glibc, libstdc++, libgcc, bash, sed, grep, awk (all the GNU flavors), openssl, coreutils, man-db and a few other tools. I *think* I should also add anything to "base" that's present in FreeBSD base. * For my 'dist' ports (additional tools and libs going to /compat/linux that are not part of base), I currently install them the same way as the 'base' ports: PREFIX /compat/linux, but a prefix of /usr passed to the respective build system. I now think I should change this to use a prefix of /usr/local instead, so the libs are (hopefully) configured the same way as their FreeBSD equivalents and I could drop anything else (man-pages, other docs, shared data, etc) and even in most cases binaries from the packages, maybe instead adding a runtime dependency to the respective FreeBSD-native port. My idea is that this should enable the best possible integration into the FreeBSD system, using anything but the libs from ${LOCALBASE}. So, any comments on these ideas? Cheers, Felix --=20 Felix Palmen {private} felix@palmen-it.de -- ports committer -- {web} http://palmen-it.de {pgp public key} http://palmen-it.de/pub.txt {pgp fingerprint} 6936 13D5 5BBF 4837 B212 3ACC 54AD E006 9879 F231 --t7c3cuflkfygm7xj Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iNUEABYKAH0WIQRpNhPVW79IN7ISOsxUreAGmHnyMQUCZPdq0F8UgAAAAAAuAChp c3N1ZXItZnByQG5vdGF0aW9ucy5vcGVucGdwLmZpZnRoaG9yc2VtYW4ubmV0Njkz NjEzRDU1QkJGNDgzN0IyMTIzQUNDNTRBREUwMDY5ODc5RjIzMQAKCRBUreAGmHny MWHtAQCDsblHec1i9BtIN4ndL0IgrkR83M8yq6VGiox/NSlErgD+MMNo2+TjEiTD sKLvEBmvjTP/8huH5phq1Dw5bswIyAI= =L/NM -----END PGP SIGNATURE----- --t7c3cuflkfygm7xj--