From nobody Fri Sep 1 16:23:30 2023 X-Original-To: ports@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 4RcjyJ3gvtz4rgqY for ; Fri, 1 Sep 2023 16:23:36 +0000 (UTC) (envelope-from freebsd@quinteiro.org) Received: from mx2.quinteiro.org (mx2.quinteiro.org [71.19.154.200]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4RcjyH3MTMz3R2J for ; Fri, 1 Sep 2023 16:23:35 +0000 (UTC) (envelope-from freebsd@quinteiro.org) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=quinteiro.org header.s=default header.b=I86OwQmm; spf=pass (mx1.freebsd.org: domain of freebsd@quinteiro.org designates 71.19.154.200 as permitted sender) smtp.mailfrom=freebsd@quinteiro.org; dmarc=none Received: from www.quinteiro.org (www.quinteiro.org [204.109.56.22]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx2.quinteiro.org (Postfix) with ESMTPS id 60FA721D9A6 for ; Fri, 1 Sep 2023 16:23:32 +0000 (UTC) (envelope-from freebsd@quinteiro.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=quinteiro.org; s=default; t=1693585412; bh=rBLN4o2xCJOsOhu78nZ/DeuZuK0YKg8WrgTUEl+ThqM=; h=Date:Subject:To:References:From:In-Reply-To; b=I86OwQmmsPnlv48RYmzKXToKklgnKUxWgkl8KFHzBJYdM1iZLtb+7wDo5MYZNmdf5 ilxnLIIDjMBRXRBhnx8U9alY4y3htLibAoiEINSM5tcym+QweRKOpWEieu2GpzKYS0 1n7/adQ+/fz3efxoLdCJ4G0PYGzXvJ0dPoCdEtX4= Received: from [172.16.1.231] (157-131-78-27.fiber.dynamic.sonic.net [157.131.78.27]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by www.quinteiro.org (Postfix) with ESMTPSA id 2C7FA2EFC3 for ; Fri, 1 Sep 2023 16:23:31 +0000 (UTC) Message-ID: <4762f4b5-acb3-d3a9-dc1e-336d47263a9f@quinteiro.org> Date: Fri, 1 Sep 2023 09:23:30 -0700 List-Id: Porting software to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-ports List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-ports@freebsd.org X-BeenThere: freebsd-ports@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: Building a Linuxulator userland from source To: ports@freebsd.org References: Content-Language: en-US From: Jose Quinteiro In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.50 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; R_SPF_ALLOW(-0.20)[+mx]; R_DKIM_ALLOW(-0.20)[quinteiro.org:s=default]; MIME_GOOD(-0.10)[text/plain]; ASN(0.00)[asn:47066, ipnet:71.19.154.0/24, country:US]; BLOCKLISTDE_FAIL(0.00)[71.19.154.200:server fail,204.109.56.22:server fail,157.131.78.27:server fail]; MIME_TRACE(0.00)[0:+]; FROM_EQ_ENVFROM(0.00)[]; MLMMJ_DEST(0.00)[ports@freebsd.org]; DKIM_TRACE(0.00)[quinteiro.org:+]; DMARC_NA(0.00)[quinteiro.org]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; MID_RHS_MATCH_FROM(0.00)[]; ARC_NA(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_HAS_DN(0.00)[]; TO_DN_NONE(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[ports@freebsd.org]; RCVD_TLS_ALL(0.00)[] X-Rspamd-Queue-Id: 4RcjyH3MTMz3R2J I'm one of your just a new Linux distro sceptics (on the forums, not here), and I'm encouraged by your progress and dedication. Thank you! On 9/1/23 07:55, Felix Palmen wrote: > * Felix Palmen [20230820 12:35]: >> Just a little update on this [...] > > Posting yet another status update because I'm about to reach a > "milestone": I just had the first successful build of ffmpeg. I focused > on ffmpeg because that's a requirement for MakeMKV which I now intend to > use as a first PoC for the new userland. Before proceeding there, doing > test builds now on all supported architectures and FreeBSD versions, so > I'll have to wait quite a while ;) > > The new Linux ffmpeg port has almost everything enabled that's in the > default options of the FreeBSD ffmpeg port. I just left out very few > things that seemed *too* complex right now, like e.g. Vulkan. > > To get there, I created a total of 150 ports now. Still, test-building > this ffmpeg "only" wants to build 124 ports, probably because of Xorg > libraries, once I noticed I need them, I created ports for *all* of > them. > > A selection of what I added: > > * Languages: TCL, Python, Perl > * Build systems: autoreconf, cmake, meson, ninja (all usable with their > standard USES, my new USES adjusts what's needed to do Linux builds) > * Lots of "codec" libs: lame, opus, ogg/vorbis, vpx, x264, x265, ... > * Infrastructure libs like libdrm, libglvnd, alsa, v4l, ... > > A first takeaway could be that indeed, this will be kind of yet another > Linux distribution, as mentioned in sceptical responses so far. I still > hope it will be possible to limit the scope, we'd only need ports > providing shared libraries that (closed-source or otherwise not > portable) Linux software would need to run in Linuxulator. That said, > there's probably still a lot missing, like e.g mesa-dri (for games and > similar), gtk3/gtk4/qt5 (for GUI apps that aren't statically linked), > and so on. > > On the plus side, a lot of ports could be created by just copying the > original port and doing adjustments, and most of the time, the result > was simpler than the original (e.g. almost all patches could be > dropped). I also removed all port options, still unsure whether they > *might* make sense later, but for a first PoC, they just add unnecessary > complexity. > > 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. > > Cheers, Felix >