Opened 7 years ago
Closed 7 years ago
#13980 closed bug (fixed)
Building Haiku under Haiku fails
Reported by: | humdinger | Owned by: | waddlesplash |
---|---|---|---|
Priority: | normal | Milestone: | Unscheduled |
Component: | Build System | Version: | R1/Development |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description
This is hrev51770, 32bit.
- clone the Haiku source
- ./configure
- jam -q @nightly-raw
fails in the end with:
Extracting /Source-Haiku/haiku/generated/download/fontconfig-2.12.6-1-x86_gcc2.hpkg ... Error: Failed to open source path `/Source-Haiku/haiku/generated/tmp/extract/settings/./fonts/conf.d/10-hinting-slight.conf': Bad file descriptor Error: Command failed: Bad file descriptor Error: Command was: cp -f -r :/Source-Haiku/haiku/generated/tmp/extract/settings/. /myfs/system/settings
In generated/tmp/extract/ is only that settings folder, while 10-hinting-slight.conf is a symlink to generated/tmp/extract/data/fontconfig/conf.avail/10-hinting-slight.conf.
generated/build_packages/fontconfig-2.12.6-1-x86_gcc2/ hold all the correctly extracted files and folders.
git bisect
says the culprit is hrev51719.
Change History (21)
comment:1 by , 7 years ago
comment:2 by , 7 years ago
Note that you cannot actually git bisect here, as the attributes emulation layer (for Haiku on Haiku builds only) was known to be broken before hrev51721 in a way that corrupts the generated directory and produces error messages like this one, so if you have a generated directory from before that hrev, you must delete it.
follow-up: 4 comment:3 by , 7 years ago
I did do as you wrote and started again from scratch, i.e. a blank "generated" folder, configure, jam.
Now it's stuck with:
Encountered problems: problem 1: nothing provides lib:libidn2_x86>=0.3.3 needed by gnutls36_x86-3.6.2-1 solution 1: - allow deinstallation of webpositive_x86-r1~alpha4_pm_hrev51838-1
I built libidn2_x86 with haikuporter and installed the hpkg, since pkgman doesn't find it. Still same error. Updating to hrev51834 doesn't help either.
comment:4 by , 7 years ago
Replying to humdinger:
Now it's stuck with:
Encountered problems: problem 1: nothing provides lib:libidn2_x86>=0.3.3 needed by gnutls36_x86-3.6.2-1 solution 1: - allow deinstallation of webpositive_x86-r1~alpha4_pm_hrev51838-1
FWIW the buildbot is also stucked with the same failure. https://buildbot.haiku-os.org/builders/haiku-master-x86_gcc2_hybrid/builds/4173/steps/jam%20%40release-raw/logs/stdio
comment:5 by , 7 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Yep, that is a different issue. Closing this one as fixed, then.
comment:6 by , 7 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
After pulling in the changes of hrev51839 the latter issue is fixed, but I again see the original breakage with the 10-hinting-slight.conf.
comment:7 by , 7 years ago
Ugh. Alright, I'll try to track down the right place to add an strace to, but I probably won't have time for that today.
comment:9 by , 7 years ago
I have the same problem with compiling Haiku x86_gcc2 within Haiku x86_gcc2, on a vanilla machine.
comment:10 by , 7 years ago
I'm done with my testing, found no way to get this to work :-( Tried reconfiguring several times, always with fresh 'generated' directories, git clean -xfd first, etc. it reproducible fails.
Did anyone find a workaround??
comment:11 by , 7 years ago
Here are further information why it fails:
The -extracted- fontconfig package lives here:
~/Software/Haiku/haiku/generated/build_packages/fontconfig-2.12.6-1-x86_gcc2/settings/fonts/conf.d> ls -alh total 92K drwxr-xr-x 1 user root 2.0K Apr 13 13:23 . drwxr-xr-x 1 user root 2.0K Apr 13 13:23 .. lrwxrwxrwx 1 user root 58 Apr 13 13:23 10-hinting-slight.conf -> ../../../data/fontconfig/conf.avail/10-hinting-slight.conf lrwxrwxrwx 1 user root 62 Apr 13 13:23 10-scale-bitmap-fonts.conf -> ../../../data/fontconfig/conf.avail/10-scale-bitmap-fonts.conf lrwxrwxrwx 1 user root 61 Apr 13 13:23 20-unhint-small-vera.conf -> ../../../data/fontconfig/conf.avail/20-unhint-small-vera.conf lrwxrwxrwx 1 user root 58 Apr 13 13:23 30-metric-aliases.conf -> ../../../data/fontconfig/conf.avail/30-metric-aliases.conf
Note that 10-hinting-slight.confg is a symlink ../../data/fontconfig/... which exists.
~/Software/Haiku/haiku/generated/build_packages/fontconfig-2.12.6-1-x86_gcc2/settings/fonts/conf.d> ls -alh ../../../data/fontconfig/conf.avail/10-hinting-slight.conf -rw-r--r-- 1 user root 463 Apr 13 13:23 ../../../data/fontconfig/conf.avail/10-hinting-slight.conf
The error is that these symlinks are still present in the location in generated/tmp/extracted/..:
~/Software/Haiku/haiku/generated/tmp/extract/settings/fonts/conf.d> ls -alh total 92K drwxr-xr-x 1 user root 2.0K Apr 14 20:46 . drwxr-xr-x 1 user root 2.0K Apr 14 20:46 .. lrwxrwxrwx 1 user root 58 Apr 14 20:46 10-hinting-slight.conf -> ../../../data/fontconfig/conf.avail/10-hinting-slight.conf lrwxrwxrwx 1 user root 62 Apr 14 20:46 10-scale-bitmap-fonts.conf -> ../../../data/fontconfig/conf.avail/10-scale-bitmap-fonts.conf lrwxrwxrwx 1 user root 61 Apr 14 20:46 20-unhint-small-vera.conf -> ../../../data/fontconfig/conf.avail/20-unhint-small-vera.conf lrwxrwxrwx 1 user root 58 Apr 14 20:46 30-metric-aliases.conf -> ../../../data/fontconfig/conf.avail/30-metric-aliases.conf
But the ../../../data directory does not exist here. The problem is obvious, the fix (to me as Haiku newbie) not.
follow-up: 13 comment:12 by , 7 years ago
Hah, very easy problem:
The new fontconfig 2-12.6 recipe added on March 15th 2018, by miyqlas contains:
+ # Make symlinks relative + for i in $settingsDir/fonts/conf.d/*.conf; do + ln -f -r -s "`readlink "$i"`" "$i" + done
This is probably the culprit, will take to miqlas.
comment:13 by , 7 years ago
Replying to Nikolas Zimmermann:
Hah, very easy problem:
The new fontconfig 2-12.6 recipe added on March 15th 2018, by miqlas contains:
The dates are bogus, the symlink stuff is actually present since 2016, and can't be the cause of the bug. After talking to waddlesplash on IRC, it's clear that the issue must come from the libroot patch, and a fix is needed.
The recipes are not the problematic part.
comment:14 by , 7 years ago
I deleted my generated directory and upgraded to the latest hrev51880, and the fontconfig package extracts without warning. The symlinks exist and all are valid...
follow-up: 16 comment:15 by , 7 years ago
I, too, deleted the "generated" folder, updated to hrev51881, configured and build a nightly-anyboot. I still run in the exact same issue originally reported in this ticket.
I try to build a gcc2hybrid image under 32bit Haiku. The "generated" folder sits in its own partition and is linked from the haiku trunk. This is my configure line (executed inside the "generated" folder):
/Source-Haiku/haiku/configure -j8 --use-gcc-pipe --distro-compatibility official --include-patented-code --target-arch x86_gcc2 --target-arch x86
follow-up: 19 comment:16 by , 7 years ago
Replying to humdinger:
I, too, deleted the "generated" folder, updated to hrev51881, configured and build a nightly-anyboot. I still run in the exact same issue originally reported in this ticket.
Could you eventually try this patch? https://review.haiku-os.org/#/c/118/
comment:18 by , 7 years ago
Good. Don't merge that yet, though, there are still some edge-cases I need to test.
comment:19 by , 7 years ago
Replying to korli:
Replying to humdinger:
I, too, deleted the "generated" folder, updated to hrev51881, configured and build a nightly-anyboot. I still run in the exact same issue originally reported in this ticket.
Could you eventually try this patch? https://review.haiku-os.org/#/c/118/
Thanks - I'm testing this patch too, and will report back.
comment:20 by , 7 years ago
Replying to humdinger:
Success! With the patch the image builds without error!
Confirmed! Works for me as well now.
comment:21 by , 7 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Patch merged in hrev51906.
So, I can't reproduce this. Can you try the following:
git pull
and then ensuring thatgit log -1
shows the current commitgit status
to ensure there are no changes.rm -rf generated
(or whatever the name of your generated is), reconfigure, and run jam (from the repository root, NOT the generated directory.)If it still fails after that, I'll try to track down the exact command so you can add
strace
in front of it.