Pb during install of package nfs-kernel-server

I've trouble installing nfs-kernel-server, please help, i would prefer not to upgrade my Kernel but install NFS server with my current configuration :grinning:

root@espressobin:~# opkg install nfs-kernel-server
Installing nfs-kernel-server (2.4.1-1) to root...
Downloading http://downloads.openwrt.org/snapshots/packages/aarch64_cortex-a53/packages/nfs-kernel-server_2.4.1-1_aarch64_cortex-a53.ipk
Multiple packages (libpthread and libpthread) providing same name marked HOLD or PREFER. Using latest.
Multiple packages (libpthread and libpthread) providing same name marked HOLD or PREFER. Using latest.
Multiple packages (librt and librt) providing same name marked HOLD or PREFER. Using latest.
Collected errors:
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for nfs-kernel-server:
 *      kernel (= 4.19.78-1-d37a4b95f2c8990db095bd76cd58e6de)
 * opkg_install_cmd: Cannot install package nfs-kernel-server.

The kernel modules need to be from the same build as the ROM. If you build your own ROMs, integrating it in your build is an effective approach. If you're running an OpenWrt-supplied snapshot, the following link may be helpful (I have not tried it)

Yes it's a snapshot :

OpenWrt SNAPSHOT r10401-63e3c3d2a2 / LuCI Master (f138fc93)
Kernel Version 4.19.56
Hardware : Globalscale Marvell ESPRESSOBin Board V7

How to know if it's not an old snapshot anyway ? Just before to try the procedure ...

If it’s yesterday’s, it’s probably “old”

Yesterday ? :stuck_out_tongue_winking_eye:
Well I hope it’s a joke because after having worked for a stable configuration of router if every time I need to install a new packet I need full upgrade :zipper_mouth_face:

Nope, not a joke. Snapshots are for development purposes mostly. So things like kernel modules change ~24 hours. You need to install all needed packages in one sitting.

So how to avoid this ? Cross compiling openwrt for my platform? Then I will be able to install new package later after installation?

I build my own images from source. If I need to add a package, it’s in my ROM and installed in around 15 minutes.

Great i built image from sources for other Linux distribution, so i could do that too, what do you mean by "it's in my ROM" and how do you install new package in your use case ?

1 Like

https://openwrt.org/docs/guide-developer/build-system/start

I use ccache to speed builds. The first build requires the tool chain to be built, which can take a half hour or so on a mid-range desktop. The first image build takes me around 15-20 minutes. After that, I run make menuconfig and add the package I want. The incremental build takes 5-10 minutes for me. Then I flash it.

If it's a "stand-alone" package (one without a lot of dependencies or any kernel modules needed) that I need for a "once-only" thing, I might grab the current one off the public repo with opkg and add it later on to my ROM if I think I'll use it in the future.

By including packages in the ROM, they are compressed, saving space for NOR-based devices (well, for NAND-based ones as well, but with typically 40-120 MB available, it isn't as much of an issue).

1 Like

I'm intrigued with your level of understanding of compiling packages in with the Rom, with me being novice self thought this has always been a big challenge for me. the idea of compiling your favorite packages into the Rom does saves space by bundling all into one Rom instead installing an individual package. You've motivated me to reattempt.

I'm also having a similar situation with the snapshot kernel as @ [keys13790]

on router

cat /etc/openwrt_release | grep REVISION

in buildroot

./scripts/getver.sh

from downloads ( x86_64 )

wget http://downloads.openwrt.org/snapshots/targets/x86/64/version.buildinfo -O -  2>/dev/null
1 Like

I found this good tutorial then i will proceed with building from sources :writing_hand:

https://openwrt.org/docs/guide-user/additional-software/beginners-build-guide

So i compile from source latest stable OpenWrt i'm now on 18.06.4 everything is OK,

but I've still the error... even if i'm not using a snapshot release ...

How to solve this dependency problem ?

pkg install nfs-kernel-server
Installing nfs-kernel-server (2.3.3-3) to root...
Downloading http://downloads.openwrt.org/releases/18.06.4/packages/aarch64_cortex-a53/packages/nfs-kernel-server_2.3.3-3_aarch64_cortex-a53.ipk
Collected errors:
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for nfs-kernel-server:
 * 	kernel (= 4.14.131-1-e5a7f1c158040036f695d91d4f5dafb9)
 * opkg_install_cmd: Cannot install package nfs-kernel-server.

My config is :
Linux OpenWrt 4.14.131 #0 SMP Thu Jun 27 12:18:52 2019 aarch64 GNU/Linux

Build it into your ROM

How to ? now i can build so i guess i'm not far ? Please explain :grinning:

Do you mean I need to compil this package then integrate it into my build openwrt ?

In make menuconfig use the search function (/) and look for the desired packages; iirc you will find this under Network.

2 Likes

I'd also recommend that if you're building from source that you use the master branch. The 18.06 branch is well over a year old now and the more-recent 19.07 branch (still unreleased and probably at least another month out) is already around a thousand commits behind master. If you want LuCI, adding one of the LuCI collections to your build would be recommended as well. My personal choice is the nginx/TLS one.

(The public package repos only "work" with the public builds as far as kernel modules and ABI compatibility goes.)

1 Like

This is how i switched to 19.07 then configure it, for me this was not so trivial so i share it !

git clone https://github.com/openwrt/openwrt.git
cd openwrt
git remote show origin
git checkout --track origin/openwrt-19.07
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig  => With / search for nfs-kernel under network then choose it
make -j1 V=s # Enable verbose mode