[haiku-bugs] Re: [Haiku] #10065: Jam clean fails

  • From: "kallisti5" <trac@xxxxxxxxxxxx>
  • Date: Sat, 08 Mar 2014 04:38:26 -0000

#10065: Jam clean fails
----------------------------+----------------------------
   Reporter:  jscipione     |      Owner:  bonefish
       Type:  bug           |     Status:  reopened
   Priority:  normal        |  Milestone:  R1
  Component:  Build System  |    Version:  R1/Development
 Resolution:                |   Keywords:
 Blocked By:                |   Blocking:
Has a Patch:  0             |   Platform:  All
----------------------------+----------------------------
Changes (by kallisti5):

 * status:  closed => reopened
 * version:  R1/alpha4.1 => R1/Development
 * resolution:  no change required =>


Comment:

 This is actually still an issue. (one I see quite often)

 The issue is due to the lack of a libroot_build.so and the usage of
 rm_attrs to erase files on clean.  There is a situation that can exist
 where libroot_build.so is missing, thus rm_attrs fails to execute...

 {{{
 Clean clean
 Clean clean
 
/home/kallisti5/Code/haiku/generated.arm/objects/linux/x86_64/release/tools/rm_attrs:
 error while loading shared libraries: libroot_build.so: cannot open shared
 object file: No such file or directory

 export
 
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/kallisti5/Code/haiku/generated.arm/objects/linux/lib
 ;
 /home/kallisti5/Code/haiku/build/scripts/rm_attrs
 
/home/kallisti5/Code/haiku/generated.arm/objects/linux/x86_64/release/tools/rm_attrs
 -f
 
"/home/kallisti5/Code/haiku/generated.arm/objects/haiku/arm/release/system/libroot/posix/string/bzero.o"
 
"/home/kallisti5/Code/haiku/generated.arm/objects/haiku/arm/release/system/libroot/posix/string/ffs.o"
 
"/home/kallisti5/Code/haiku/generated.arm/objects/haiku/arm/release/system/libroot/posix/string/memccpy.o"
 
"/home/kallisti5/Code/haiku/generated.arm/objects/haiku/arm/release/system/libroot/posix/string/memchr.o"...
 }}}

 I think the solution is to check for the existence of
 generated.arm/objects/linux/lib/libroot_build.so before attempting to use
 rm_attrs.  Maybe if libroot_build.so is missing, the clean will attempt to
 build it.. or just fall back to rm vs rm_attrs.

 The change needs to occur in build/jam/BuildSetup ~line 530.

 We know the directory where libroot_build.so *should* be
 (HOST_BUILD_COMPATIBILITY_LIB_DIR), before setting RM to rm_attrs... we
 should check for libroot_build.so first, and fall back to rm if needed.

--
Ticket URL: <https://dev.haiku-os.org/ticket/10065#comment:8>
Haiku <https://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: