Opened 10 years ago
Closed 10 years ago
#11101 closed bug (fixed)
gcc2 build failure since hrev47570 - entry not initialized!
Reported by: | luroh | Owned by: | zooey |
---|---|---|---|
Priority: | normal | Milestone: | R1 |
Component: | Build System | Version: | R1/Development |
Keywords: | Cc: | jscipione | |
Blocked By: | Blocking: | ||
Platform: | All |
Description
Cross-compiling from Linux (Xubuntu 14.04, 64-bit, ext4) stopped working with hrev47570 (bisected by jscipione, encountered on Mac OS X, link: http://pastebin.com/v594MFah).
Clean build:
- ./configure --build-cross-tools x86_gcc2 ../buildtools/ --distro-compatibility official --use-gcc-pipe
- jam -q @nightly-vmware
InitScript1 generated/objects/haiku/x86_gcc2/packaging/packages_build/regular/hpkg_-haiku_welcome.hpkg/scripts/haiku.package-init-vars AddTargetVariableToScript1 <unique!target>_target_44 AddTargetVariableToScript1 <unique!target>_target_54 AddTargetVariableToScript1 <unique!target>_target_64 AddTargetVariableToScript1 <unique!target>_target_74 AddTargetVariableToScript1 <unique!target>_target_84 AddTargetVariableToScript1 <unique!target>_target_94 AddTargetVariableToScript1 <unique!target>_target_05 AddTargetVariableToScript1 <unique!target>_target_15 AddTargetVariableToScript1 <unique!target>_target_25 AddVariableToScript1 generated/objects/haiku/x86_gcc2/packaging/packages_build/regular/hpkg_-haiku_welcome.hpkg/scripts/haiku.package-init-vars InitScript1 generated/objects/haiku/x86_gcc2/packaging/packages_build/regular/hpkg_-haiku_welcome.hpkg/scripts/haiku.package-make-dirs CreateContainerMakeDirectoriesScript1 generated/objects/haiku/x86_gcc2/packaging/packages_build/regular/hpkg_-haiku_welcome.hpkg/scripts/haiku.package-make-dirs InitScript1 generated/objects/haiku/x86_gcc2/packaging/packages_build/regular/hpkg_-haiku_welcome.hpkg/scripts/haiku.package-copy-files AddDirectoryToContainerCopyFilesScript <hpkg_-haiku_welcome.hpkg>documentation/welcome/-/<copy-directory-to-container>docs/welcome AppendToContainerCopyFilesScript <hpkg_-haiku_welcome.hpkg>haiku.package-copy-files-dummy-bin InitScript1 generated/objects/haiku/x86_gcc2/packaging/packages_build/regular/hpkg_-haiku_welcome.hpkg/scripts/haiku.package-extract-files BuildHaikuPackage1 generated/objects/haiku/x86_gcc2/packaging/packages/haiku_welcome.hpkg haiku_welcome.hpkg: Removing and re-creating package contents dir ... haiku_welcome.hpkg: Collecting package contents ... haiku_welcome.hpkg: mimeset'ing package contents ... haiku_welcome.hpkg: Creating the package ... HaikuRepository1 generated/objects/haiku/x86_gcc2/packaging/repositories/haiku entry not initialized! build/scripts/build_haiku_repository "generated/objects/haiku/x86_gcc2/packaging/repositories/haiku-repository-init-vars" "generated/objects/haiku/x86_gcc2/packaging/repositories/haiku" "generated/objects/haiku/x86_gcc2/packaging/repositories/haiku-info" "generated/objects/haiku/x86_gcc2/packaging/packages/haiku.hpkg" "generated/objects/haiku/x86_gcc2/packaging/packages/haiku_devel.hpkg" "generated/objects/haiku/x86_gcc2/packaging/packages/haiku_loader.hpkg" "generated/objects/haiku/x86_gcc2/packaging/packages/haiku_userguide.hpkg" "generated/objects/haiku/x86_gcc2/packaging/packages/haiku_welcome.hpkg" "generated/objects/haiku/x86_gcc2/packaging/packages/makefile_engine.hpkg" ...failed HaikuRepository1 generated/objects/haiku/x86_gcc2/packaging/repositories/haiku ... BUILD FAILURE: ...failed updating 1 target(s)... ...skipped 3 target(s)...
Attachments (1)
Change History (8)
comment:1 by , 10 years ago
follow-up: 3 comment:2 by , 10 years ago
Thank you for investigating. Would it possibly be of any help if I was able to reproduce it in a VM that I could make available for download? If so, what type would be preferable (VMware, VirtualBox, QEMU...)?
comment:3 by , 10 years ago
Replying to luroh:
Thank you for investigating. Would it possibly be of any help if I was able to reproduce it in a VM that I could make available for download? If so, what type would be preferable (VMware, VirtualBox, QEMU...)?
Yes, that would be great. I personally prefer QEMU, but whatever is easiest for you should work for me.
by , 10 years ago
Attachment: | Xubuntu_14.04.1.ova.torrent added |
---|
comment:4 by , 10 years ago
Luckily I encountered no problems repeating this on a fresh Xubuntu 14.04.1 install running in VirtualBox. I am currently seeding a torrent containing this install as a VirtualBox "exported appliance" (.ova file). The torrent is trackerless so it may take a while to get a download going.
Edit: magnet link in case that helps: magnet:?xt=urn:btih:543fdce118df58c0013ab1936077351f1d5010c0&dn=Xubuntu%5F14.04.1.ova
comment:5 by , 10 years ago
Many thanks for the image! When I tried building in that image, the build just worked as it should. Trying different things, I finally noticed that the problem only appears when starting jam from the top of the Haiku checkout directory, but not when starting jam from the output directory ('generated').
The reason is that HAIKU_TOP is empty when invoking jam in the checkout directory, which in turn causes the paths to the package files to be relative, which causes package_repo to not find them when it is invoked to create the repository.
As we've already had similar bugs before (all related to unexpected relative paths), I'd like to set HAIKU_TOP to the current directory by default. This requires a change to jam, but that shouldn't be too difficult.
comment:6 by , 10 years ago
Ooh, well spotted, I guess that could explain why none of the buildbots tripped on this one. And just to confirm; yes, I have always invoked jam from the top of the Haiku checkout directory when doing pure gcc2 or gcc4 builds.
comment:7 by , 10 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Fixed in hrev47631 - actually no change to jam was needed.
I'm not doubting that there's a problem - but so far I have failed to trigger the problem locally, even though I have tried just now using exactly the commands given above.
The error message indicates that package_repo is being called with at least one filename that refers to a package that doesn't exist (yet). I have checked the corresponding jam rules, but they look ok to me ...