On Mon, 18 Nov 2024 at 22:30, Richard Lewis
<richard.lewis.deb...@googlemail.com> wrote:
> On Mon, 18 Nov 2024, 13:10 Johannes Schauer Marin Rodrigues, 
> <jo...@debian.org> wrote:

>> thank you for following up.

thank *you* for your help

>> Can you compare build logs between your schroot build and the unshare build 
>> to
>> figure out where the extra time is spent?
>
>
> i did a redirect of the output and then a diff. the main new differences 
> (apart from the untar) are
>
> - unshare installs fakeroot and libfakeroot along with 
> sbuild-build-depends-main-dummy
> - schroot uses eatmydata by setting
> LD_LIBRARY_PATH=/usr/lib/libeatmydata and LD_PRELOAD=libeatmydata.so

I tried setting
$ld_library_path = "/usr/lib/libeatmydata";
$build_environment ={
           "LD_PRELOAD" => "/usr/lib/ibeatmydata.so"
     };
$environment_filter=[];

and the log has the same "Build environment" variables as schroot. But
I get complaints

ERROR: ld.so: object 'libeatmydata.so' from LD_PRELOAD cannot be
preloaded (cannot open shared object file): ignored.

(four times, twice when listing the environment and twice before
running dpkg-buildpackage)

I dont know why schroot works - the libeatmydata is in
/usr/lib/x86_64-linux-gnu/ (seems to be reported as #1016422)

using "LD_PRELOAD" => "/usr/lib/x86_64-linux-gnu/libeatmydata.so"
removes the warnings , and it does make a small difference to the
build. But not much.

I also added "export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libeatmydata.so
not clear this made any further difference

I also ran with all the above and calling
eatmydata gbp buildpackage --verbose --no-run-piuparts
--no-run-lintian --no-run-autopkgtest --mode=unshare # same warnings
as above

and this one seems the best
LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libeatmydata.so gbp buildpackage
--verbose --no-run-piuparts --no-run-lintian --no-run-autopkgtest
--mode=unshare

but no real speedup

>> Maybe run sbuild --verbose under
>> annotate-output?

I will do this next

Reply via email to