Timberland nvme-cli/libnvme upstream merge - dbus dependency.
Daniel Wagner
dwagner at suse.de
Mon Feb 6 05:44:55 PST 2023
:On Mon, Feb 06, 2023 at 11:03:44AM +0100, Daniel Wagner wrote:
> On Fri, Feb 03, 2023 at 10:30:13AM -0700, Keith Busch wrote:
> > I'm just trying to build this right now on an embedded system, and my goodness,
> > it is fucking painful. It's a bare-bones busybox enviroment with no internet
> > connection. Just getting meson on there was unpleasant, and now the build just
> > gives up with the failed dependencies.
>
> I am sorry to causing pain. Let's see what how I can help you to make it less
> hurt.
>
> Is there a reason why you want to build it directly in a busybox environment and
> not using a cross build?
>
> I agree Meson itself is pretty anyoying in this scenario, though it should be
> possible to use the alternative implementation. Meson is a specification with
> more than one implementation. muon and samurai are written in plain C99 and only
> use a compiler to work. Though I haven't tested this in a while. Let me give it
> a quick test. I suppose it makes sense to add these to our CI build.
The project builds almost out of the box with muon and samurai. There was just
one tiny little problem with the syspathdir which I send out a PR shortly.
Here are the all steps to get this build going with those two tools. It still
depends on json-c being installed previously.
#/bin/bash
if [ ! -d build-tools ]; then
mkdir build-tools
pushd build-tools
git clone --depth 1 https://git.sr.ht/~lattis/muon
cd muon
export CC=gcc
./tools/bootstrap_ninja.sh build
ninja=build/samu
./bootstrap.sh build
build/muon setup -Dlibcurl=disabled -Dlibarchive=disabled -Ddocs=disabled -Dsamurai=disabled build
$ninja -C build
build/muon -C build test
popd
fi
export PATH=$(pwd)/build-tools/muon/build:$PATH
if [ ! -d libnvme ]; then
git clone --depth 1 https://github.com/hreinecke/libnvme.git
fi
if [ ! -d nvme-cli ]; then
git clone --depth 1 https://github.com/linux-nvme/nvme-cli.git
fi
rm -rf libnvme/build-libnvme nvme-cli/build-nvme-cli
pushd libnvme
muon setup -Dprefix=/tmp/nvme-cli-muon -Dpython=false -Dopenssl=disabled -Dlibdbus=disabled build-libnvme
samu -C build-libnvme
cd build-libnvme
muon install
popd
export PKG_CONFIG_PATH=/tmp/nvme-cli-muon/lib/pkgconfig
pushd nvme-cli
muon setup -Dprefix=/tmp/nvme-cli-muon build-nvme-cli
samu -C build-nvme-cli
cd build-nvme-cli
muon install
popd
More information about the Linux-nvme
mailing list