From nobody Fri Sep 1 18:51:44 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 4RcnFL1PN7z4s6Gx; Fri, 1 Sep 2023 18:51:50 +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 4RcnFK1PYSz4LVR; Fri, 1 Sep 2023 18:51:49 +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=rvmkTg3v; 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=QH99+H4Lb1HaJoovCgvw3jRA8DNjGwPkvuaG+hxy0RU=; b=rvmkTg3v9nc93/cOsaEOOM99YO EG0kUxE06O7yiiAkLGShgxgH7IPmPRx8OPB2GPxeV2tOOw6fWMDy/t32nC5y+ajknbvLsCL2yCGfI OpJwcarX53dX34iQ45DGXqfoL8Gsn1/hUSaqfgmDSGZyuDDd5ymz52J3m8Jx38vPEd8Kx7UmaH9rv EWqBhtZZj6ATAUR8tI4V5PQ55Wjlas0RUAh9fp333Gpuo8GD+pTImYaYAu+6B7dSIhx5xJncnFHPx 3jmbiXxglgWdpsTIp0kRW5SwBCG7SINVsur2mNkT6WLMUKkkFiiaRDhf9u3AgjETT1g3VuThECqxc 4HsVoWrw==; 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 1qc9FB-00BK4K-FR; Fri, 01 Sep 2023 20:51:45 +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 1qc9FB-0004m4-0Q; Fri, 01 Sep 2023 18:51:45 +0000 Date: Fri, 1 Sep 2023 20:51:44 +0200 From: Felix Palmen To: ports@freebsd.org, emulation@freebsd.org Subject: Re: Building a Linuxulator userland from source Message-ID: 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: <03b7f828f3fbc3c203fc885baf6b9db1@Leidinger.net> 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="lun7gyrnmqhe2oq4" Content-Disposition: inline In-Reply-To: <03b7f828f3fbc3c203fc885baf6b9db1@Leidinger.net> 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_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.999]; MID_RHS_NOT_FQDN(0.50)[]; RCVD_DKIM_ARC_DNSWL_MED(-0.50)[]; FORGED_SENDER(0.30)[zirias@freebsd.org,felix@palmen-it.de]; R_DKIM_ALLOW(-0.20)[palmen-it.de:s=20200414]; MIME_GOOD(-0.20)[multipart/signed,text/plain]; 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]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DMARC_NA(0.00)[freebsd.org]; MLMMJ_DEST(0.00)[ports@freebsd.org,emulation@freebsd.org]; RCVD_VIA_SMTP_AUTH(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: 4RcnFK1PYSz4LVR --lun7gyrnmqhe2oq4 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable * Alexander Leidinger [20230901 19:11]: > Am 2023-09-01 16:55, schrieb Felix Palmen: > > * Infrastructure libs like libdrm, libglvnd, alsa, v4l, ... >=20 > Infrastructure ports are what we provide in the linux base ports. So I'm = not > surprised... :) Yes of course, this is what you will need in any case (and it's indeed a lot of work. Still not giving up just yet, hehe). > Are you already taking into account the fall-through of config files to > FreeBSD native config files? This is the main difference between a linux > distribution (linux_dist ports) and a linux base for FreeBSD. Yes, e.g. I don't let the alsa libs install some asound.conf ... but this is quite simple so far, very few packages want to install something to /etc at all (and some things like glibc's ld.so.conf are needed). > Another > difference may be to only compile the libs instead of the binaries (e.g. = the > linux libmp3lame.so would be needed by software, but the FreeBSD lame > executable could be used). So far, I didn't care about that, except when the upstream build system provides configure options. This will be something to clean up later. It's also about (tons?) of unnecessary docs. I plan to allow manpages to be installed for things that are GNU- or Linux-specific, even ported man-db for that, cause I see some value in that. But for anything that would just duplicate manpages that are the same on FreeBSD, this will be yet another cleanup step. So far: First get something to work at all ;) > > There were almost no surprising build issues so far (so, I guess > > accidentally pulling in things from FreeBSD base really isn't a thing, > > at least not when building in poudriere), except for one: It seems a > > "relative" rpath (using $ORIGIN) doesn't work. To work around this with > > one port using that during build, I had to add some explicit > > LD_LIBRARY_PATH. >=20 > Only for the build, or also for running/executing afterwards? Only for the build, I ran into this issue with gobject-introspection which uses its own shared lib to create some introspection files during the build. This is done using some rpath relative to $ORIGIN and for some reason, it just doesn't work. Glibc's ldd script can even resolve the library correctly, but the dynamic linker can't. Anyways, there's a workaround ;) 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 --lun7gyrnmqhe2oq4 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iNUEABYKAH0WIQRpNhPVW79IN7ISOsxUreAGmHnyMQUCZPIyuF8UgAAAAAAuAChp c3N1ZXItZnByQG5vdGF0aW9ucy5vcGVucGdwLmZpZnRoaG9yc2VtYW4ubmV0Njkz NjEzRDU1QkJGNDgzN0IyMTIzQUNDNTRBREUwMDY5ODc5RjIzMQAKCRBUreAGmHny MSwwAQCCDL1YVMd1VEv/qD2Jr796EBRgHJ8I2fiM1NdOsWmSnQD+NIoSdjtiyBhL wYcZnLaRyCRj4zT1UtHOnM/jcRN6+AI= =rc5X -----END PGP SIGNATURE----- --lun7gyrnmqhe2oq4--