udisks2 build error #18

Closed
opened 2024-09-25 12:50:52 +02:00 by stratofall · 6 comments

I have tried building udisks2 with lvm2 and btrfs-progs and without.
I get this error log without btrfs-progs installed.
https://pastebin.com/vnrfq9Mm

I get this error with btrfs-progs installed.
https://pastebin.com/bMSVbBXS

I normally do not build btrfs into my kernels. However I did try adding it to my kernel but still no luck.
plasma-meta installation pulled in this package just an fyi. From what I can tell, doxygen package does not exist except in ppetrov or stenur repos. Not sure if thats my issue.

I have tried building udisks2 with lvm2 and btrfs-progs and without. I get this error log without btrfs-progs installed. https://pastebin.com/vnrfq9Mm I get this error with btrfs-progs installed. https://pastebin.com/bMSVbBXS I normally do not build btrfs into my kernels. However I did try adding it to my kernel but still no luck. plasma-meta installation pulled in this package just an fyi. From what I can tell, doxygen package does not exist except in ppetrov or stenur repos. Not sure if thats my issue.
Owner
checking "libblockdev-btrfs presence"... no
configure: error: BTRFS support requested but header or library not found

You need to rebuild libblockdev with btrfs support due to a recent update to the libblockdev Pkgfile: 499c4b858c

But it also fails because it wants libblockdev to have parted support:

checking libblockdev-part presence... no
configure: error: BlockDev part support requested but header or library not found
=======> ERROR: Building '/home/pkgmk/packages/udisks2#2.10.1-1.pkg.tar.xz' failed.

which can be fixed by not building the udisks daemon by default.

diff --git a/udisks2/Pkgfile b/udisks2/Pkgfile
index 01527176a..ddc2c6a70 100644
--- a/udisks2/Pkgfile
+++ b/udisks2/Pkgfile
@@ -13,6 +13,7 @@ build() {
   prt-get isinst btrfs-progs && PKGMK_UDISKS+=' --enable-btrfs'
   prt-get isinst lvm2 && PKGMK_UDISKS+=' --enable-lvm2'
   prt-get isinst doxygen || PKGMK_UDISKS+=' --disable-man'
+  prt-get isinst parted || PKGMK_UDISKS+=' --disable-daemon'

   cd udisks-$version

That I can commit later.

You can try:

prt-get update -fr libblockdev
prt-get depinst udisks2

and see if that fixes the problem you reported.

``` checking "libblockdev-btrfs presence"... no configure: error: BTRFS support requested but header or library not found ``` You need to rebuild libblockdev with btrfs support due to a recent update to the libblockdev Pkgfile: https://git.crux.nu/ports/contrib/commit/499c4b858cde110310990671fc77ae87f1422685 But it also fails because it wants libblockdev to have parted support: ``` checking libblockdev-part presence... no configure: error: BlockDev part support requested but header or library not found =======> ERROR: Building '/home/pkgmk/packages/udisks2#2.10.1-1.pkg.tar.xz' failed. ``` which can be fixed by not building the udisks daemon by default. ``` diff --git a/udisks2/Pkgfile b/udisks2/Pkgfile index 01527176a..ddc2c6a70 100644 --- a/udisks2/Pkgfile +++ b/udisks2/Pkgfile @@ -13,6 +13,7 @@ build() { prt-get isinst btrfs-progs && PKGMK_UDISKS+=' --enable-btrfs' prt-get isinst lvm2 && PKGMK_UDISKS+=' --enable-lvm2' prt-get isinst doxygen || PKGMK_UDISKS+=' --disable-man' + prt-get isinst parted || PKGMK_UDISKS+=' --disable-daemon' cd udisks-$version ``` That I can commit later. You can try: ``` prt-get update -fr libblockdev prt-get depinst udisks2 ``` and see if that fixes the problem you reported.
tb self-assigned this 2024-09-25 17:38:46 +02:00
Author

Working down the list, seems it also wants parted as you mentioned, but then it wants libblockdev-nvme.
Would it be better to make parted, btrfs-progs and lvm2 part of the depends instead of optional? Or depends in libblockdev?

Working down the list, seems it also wants parted as you mentioned, but then it wants libblockdev-nvme. Would it be better to make parted, btrfs-progs and lvm2 part of the depends instead of optional? Or depends in libblockdev?
Author

libblockdev requires btrfs-progs, lvm2, parted and nvme-cli to build correctly when trying to pull in plasma-meta.

libblockdev requires btrfs-progs, lvm2, parted and nvme-cli to build correctly when trying to pull in plasma-meta.
Owner

Thats a pretty common problem: trying to make things as small as possible (from the dependency chain view) and making them compatible.
A wayland desktop requires you to rebuild mesa among a few other ports to work correctly, too. Right now there is no way to do that better.

Take your fastfetch Pkgfile for example: https://pastebin.com/8LFWNPFq
You don't need chafa, libdrm, imagemagic: https://github.com/fastfetch-cli/fastfetch/blob/dev/CMakeLists.txt#L47
Those are options you can control, and thats what I try to aim for generally. This method can produces problems, but they can also be worked around, e.g. with libreoffice I have https://git.crux.nu/ports/contrib/src/branch/3.7/libreoffice/Pkgfile#L53 in there.

As kde-plasma-6/solid is the port that pulls in udisks2, I'll see if there is anything we can change there to not depend on these features by default.

Edit: For me, solid builds just fine with udisks2 and libblockdev as is though. Can you share your build logs?

Thats a pretty common problem: trying to make things as small as possible (from the dependency chain view) and making them compatible. A wayland desktop requires you to rebuild mesa among a few other ports to work correctly, too. Right now there is no way to do that better. Take your fastfetch Pkgfile for example: https://pastebin.com/8LFWNPFq You don't need chafa, libdrm, imagemagic: https://github.com/fastfetch-cli/fastfetch/blob/dev/CMakeLists.txt#L47 Those are options you can control, and thats what I try to aim for generally. This method can produces problems, but they can also be worked around, e.g. with libreoffice I have https://git.crux.nu/ports/contrib/src/branch/3.7/libreoffice/Pkgfile#L53 in there. As kde-plasma-6/solid is the port that pulls in udisks2, I'll see if there is anything we can change there to not depend on these features by default. Edit: For me, solid builds just fine with udisks2 and libblockdev as is though. Can you share your build logs?
Author

Yes, I understand some of the options for fastfetch are optional. However, it's a personal repo and not published. Thats ok of course and it does make for a good example. I am aware of the KISS principle for Crux and to not include extras if needed as well.
I mean, if I could have a basic fresh install of Crux in a VM and then type in prt-get depinst udisks2 I would expect udisks2 to compile exactly as intended. This is where I falter... Lots of packages have nuances even if the deps are not listed and can use programs in the system that may not be part of the dependencies. So, I often do full recompiles every so often to hopefully evade some of the pitfalls. While possibly also gaining some.

udisks2 - successful build
https://pastebin.com/u3uSA7s3

libblockdev - successful build
https://pastebin.com/mWg6SXn0

soild - successful build
https://pastebin.com/AKBe9CtZ

After I had btrfs-progs installed the results changed as posted earlier, needing parted. But I was still getting the nvme error and that required me to install nvme-cli and it's dependency libnvme. Unfortunately upon removing nvme-cli and then recompiling libblockdev I am no longer getting the nvme error from before. So I cannot reproduce the log with the error.

Yes, I understand some of the options for fastfetch are optional. However, it's a personal repo and not published. Thats ok of course and it does make for a good example. I am aware of the KISS principle for Crux and to not include extras if needed as well. I mean, if I could have a basic fresh install of Crux in a VM and then type in prt-get depinst udisks2 I would expect udisks2 to compile exactly as intended. This is where I falter... Lots of packages have nuances even if the deps are not listed and can use programs in the system that may not be part of the dependencies. So, I often do full recompiles every so often to hopefully evade some of the pitfalls. While possibly also gaining some. udisks2 - successful build https://pastebin.com/u3uSA7s3 libblockdev - successful build https://pastebin.com/mWg6SXn0 soild - successful build https://pastebin.com/AKBe9CtZ After I had btrfs-progs installed the results changed as posted earlier, needing parted. But I was still getting the nvme error and that required me to install nvme-cli and it's dependency libnvme. Unfortunately upon removing nvme-cli and then recompiling libblockdev I am no longer getting the nvme error from before. So I cannot reproduce the log with the error.
Owner

Yes, I understand some of the options for fastfetch are optional. However, it's a personal repo and not published. Thats ok of course and it does make for a good example.

That was all I was trying to show here. Of course its fine, if thats how you want to use it.

fwiw, I build in a container thats pretty much as near to a vanilla core install as can be. So udisks2 (with the recent changes) will build just fine.
Since your logs all build successfully, I don't think there is anything else to do here.

> Yes, I understand some of the options for fastfetch are optional. However, it's a personal repo and not published. Thats ok of course and it does make for a good example. That was all I was trying to show here. Of course its fine, if thats how you want to use it. fwiw, I build in a container thats pretty much as near to a vanilla core install as can be. So udisks2 (with the recent changes) will build just fine. Since your logs all build successfully, I don't think there is anything else to do here.
tb closed this issue 2024-10-08 22:57:32 +02:00
Sign in to join this conversation.
No Milestone
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ports/contrib#18
No description provided.