Opened 5 years ago

Closed 5 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:
Has a Patch: no 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)

Xubuntu_14.04.1.ova.torrent (20.4 KB ) - added by luroh 5 years ago.

Download all attachments as: .zip

Change History (8)

comment:1 by zooey, 5 years ago

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 ...

comment:2 by luroh, 5 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...)?

in reply to:  2 comment:3 by zooey, 5 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 luroh, 5 years ago

Attachment: Xubuntu_14.04.1.ova.torrent added

comment:4 by luroh, 5 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

Last edited 5 years ago by luroh (previous) (diff)

comment:5 by zooey, 5 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 luroh, 5 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 zooey, 5 years ago

Resolution: fixed
Status: newclosed

Fixed in hrev47631 - actually no change to jam was needed.

Note: See TracTickets for help on using tickets.