Opened 13 months ago

Closed 13 months ago

Last modified 9 months ago

#5243 closed defect (fixed)

/usr/lib/perl5/5.36/core_perl/CORE/libperl.a is a remnant from Chapter 7

Reported by: Xi Ruoyao Owned by: Bruce Dubbs
Priority: normal Milestone: 12.0
Component: Book Version: git
Severity: normal Keywords:
Cc:

Description

In Chapter 7 we build Perl without -Duseshrplib. This installs a /usr/lib/perl5/5.36/core_perl/CORE/libperl.a file. But in Chapter 8 we build Perl with this option, so /usr/lib/perl5/5.36/core_perl/CORE/libperl.a is not overwritten, but /usr/lib/perl5/5.36/core_perl/CORE/libperl.so is installed.

Ideally we should add this option for Chapter 7 Perl too. If it does not work, we can remove libperl.a manually after Chapter 8 Perl is installed.

Change History (10)

comment:1 by Bruce Dubbs, 13 months ago

Are you sure libperl.a is not overwritten? On my system the timestamps are the same:

[ /mnt/lfs/usr/lib/perl5/5.36/core_perl/CORE ]$ ll lib*
-r--r--r-- 1 root root 5172514 Mar 14 20:44 libperl.a
-r-xr-xr-x 1 root root 3832000 Mar 14 20:44 libperl.so

Those timestamps correspond to installing perl in Chapter 8.

in reply to:  1 comment:2 by Xi Ruoyao, 13 months ago

Replying to Bruce Dubbs:

Are you sure libperl.a is not overwritten? On my system the timestamps are the same:

[ /mnt/lfs/usr/lib/perl5/5.36/core_perl/CORE ]$ ll lib*
-r--r--r-- 1 root root 5172514 Mar 14 20:44 libperl.a
-r-xr-xr-x 1 root root 3832000 Mar 14 20:44 libperl.so

Those timestamps correspond to installing perl in Chapter 8.

But I have different results:

xry111@enterprise:~$ ls /mnt/build_dir/usr/lib/perl5/5.36/core_perl/CORE/libperl* -l
-r--r--r-- 1 root root 5267178 Mar 31 15:04 /mnt/build_dir/usr/lib/perl5/5.36/core_perl/CORE/libperl.a
-r-xr-xr-x 1 root root 4019656 Mar 31 16:09 /mnt/build_dir/usr/lib/perl5/5.36/core_perl/CORE/libperl.so

I also ran a DESTDIR install for Perl and there is no libperl.a in the DESTDIR. Maybe you got the same timestamp because of the stripping?

comment:3 by Bruce Dubbs, 13 months ago

I was building with jhalfs. libperl.so is stripped, and the stripping indeed occurred at 20:44. It is interesting that the file command on the .a file only says "current ar archive".

comment:4 by Bruce Dubbs, 13 months ago

Perhaps the best place to remove this file is Section 8.80 Cleaning Up.

in reply to:  4 comment:5 by Xi Ruoyao, 13 months ago

Replying to Bruce Dubbs:

Perhaps the best place to remove this file is Section 8.80 Cleaning Up.

We can try adding -Duseshrplib for Chapter 7 Perl first and let Chapter 8 to overwrite it (anyway the .so file seems smaller :). If it causes a FTBFS we can remove the file in Cleaning Up.

comment:6 by Bruce Dubbs, 13 months ago

Seems like a good plan to me.

comment:7 by Bruce Dubbs, 13 months ago

Owner: changed from lfs-book to Bruce Dubbs
Status: newassigned

comment:8 by Bruce Dubbs, 13 months ago

Adding -Duseshrplib to Chapter 7 Perl results in not producing libperl.a at all. That is really what we want.

comment:9 by Bruce Dubbs, 13 months ago

Resolution: fixed
Status: assignedclosed

Packages fixed at commit efd83dba4f2dc17a0f70fb86879eb3e28e307745

    Update to vim-9.0.1452.
    Update to iana-etc-20230405.
    Update to zstd-1.5.5.
    Update to Python-3.11.3.
    Update to meson-1.1.0.
    Update to man-pages-6.04.
    Update to linux-6.2.11.

comment:10 by Bruce Dubbs, 9 months ago

Milestone: 11.412.0

Milestone renamed

Note: See TracTickets for help on using tickets.