Re: Debian 9.13 perl-5.24-1 compile from source dist/Time-HiRes Warning: No Makefile!

2020-10-01 Thread David
On Thu, 1 Oct 2020 at 07:11, David Christensen
 wrote:
> On 2020-09-30 03:31, David wrote:
> > On Wed, 30 Sep 2020 at 14:57, David Christensen  
> > wrote:

> >> I have installed the source code for the 'perl' package:
> >> $ apt-get source perl

> I read:
> debian/README.Debian
> debian/Documentation
> debian/README.source
> README
> README.linux

> Unfortunately, none provide simple instructions for building on Debian.

>From what I have observed, I think your expectation that such
instructions would be provided in that location is
inconsistent with the practice and aims of the Debian project.

Debian is basically a software packaging project. Your apt-get source
command downloaded a source _package_. The purpose of a
source _package_ is to build installable (aka binary) packages, and
Debian provides instruction on how to do that.

If you want to work with un-packaged source code, you would
obtain it from the upstream Perl project (not from Debian), and also
be responsible yourself for ensuring that all its build dependencies
are present.

When source code has complex dependencies, then
I find it easier to be lazy and just take advantage of the
work that has already been done by the Debian maintainers
to satisfy that requirement.

> > I suggest you try the usual method
> > using debuild here:
> >https://wiki.debian.org/BuildingTutorial#Rebuild_without_changes

[...]

> After 42 minutes, it seems to have worked:

And during that 42 minutes, you can do something more interesting
than trying to solve build dependency problems :)

[...]

> Hopefully, that will be sufficient for now.

Great, I'm glad to hear it worked for you so that you could
move closer to your goal.



Re: Debian 9.13 perl-5.24-1 compile from source dist/Time-HiRes Warning: No Makefile!

2020-09-30 Thread David Christensen

On 2020-09-30 14:28, Greg Wooledge wrote:

On Wed, Sep 30, 2020 at 05:24:37PM -0400, Greg Wooledge wrote:

On Wed, Sep 30, 2020 at 02:11:11PM -0700, David Christensen wrote:

Unfortunately, none provide simple instructions for building on Debian.


Is that what you want?

https://www.debian.org/doc/manuals/maint-guide/


It occurs to me that you might simply want to build *other people's*
packages from source on Debian.  The way you normally do that is:

apt-get -b source pkgname

If you've already got the package source downloaded and extracted (e.g.
via apt-get source pkgname) and you've modified it and now you want to
build a package out of it, then you simply use:

dpkg-buildpackage -uc -us -rfakeroot

inside the pkgname-version/ subdirectory.  But reading the NMG is still
not a bad idea.



The "Debian New Maintainers' Guide" looks like it could be helpful.


Thank you.  :-)


David



Re: Debian 9.13 perl-5.24-1 compile from source dist/Time-HiRes Warning: No Makefile!

2020-09-30 Thread Greg Wooledge
On Wed, Sep 30, 2020 at 05:24:37PM -0400, Greg Wooledge wrote:
> On Wed, Sep 30, 2020 at 02:11:11PM -0700, David Christensen wrote:
> > Unfortunately, none provide simple instructions for building on Debian.
> 
> Is that what you want?
> 
> https://www.debian.org/doc/manuals/maint-guide/

It occurs to me that you might simply want to build *other people's*
packages from source on Debian.  The way you normally do that is:

apt-get -b source pkgname

If you've already got the package source downloaded and extracted (e.g.
via apt-get source pkgname) and you've modified it and now you want to
build a package out of it, then you simply use:

dpkg-buildpackage -uc -us -rfakeroot

inside the pkgname-version/ subdirectory.  But reading the NMG is still
not a bad idea.



Re: Debian 9.13 perl-5.24-1 compile from source dist/Time-HiRes Warning: No Makefile!

2020-09-30 Thread Greg Wooledge
On Wed, Sep 30, 2020 at 02:11:11PM -0700, David Christensen wrote:
> Unfortunately, none provide simple instructions for building on Debian.

Is that what you want?

https://www.debian.org/doc/manuals/maint-guide/



Re: Debian 9.13 perl-5.24-1 compile from source dist/Time-HiRes Warning: No Makefile!

2020-09-30 Thread David Christensen

On 2020-09-30 03:31, David wrote:

On Wed, 30 Sep 2020 at 14:57, David Christensen
 wrote:


I have installed the source code for the 'perl' package:

$ apt-get source perl


Ok. You haven't yet said why though, so our suggestions can't be tailored
to your goals until you advise what those might be.


I wish to debug the Data::Dumper library installed with the 'perl' 
package on Debian 9.




When I attempt to compile the package per the instructions in INSTALL:


I know nothing about Perl, but having rebuilt quite a number of Debian
source packages I can offer general advice that might be useful if you
are unaware of it.

First, I wouldn't start from there. Have you done any research on "how
to build Debian packages"?


At this point, it is not my goal to build a Debian package.  My goal is 
to write test scripts that demonstrate a bug, revise Dumper.pm, 
Dumper.xs, and/or other files as required, recompile, and test; all 
using an unprivileged account.




If not, that would be advisable.

I haven't checked this package, but at a guess INSTALL sounds like it
will be the instructions provided with the original source, before
packaging. So those instructions could possibly be unaware of
Debian-specific requirements or modifications or methods or library
locations.


I read:

debian/README.Debian
debian/Documentation
debian/README.source
README
README.linux


Unfortunately, none provide simple instructions for building on Debian.



$ cd perl-5.24.1

$ sh Configure -de


$ make


That's ignoring any Debian patches. 


"apt-get source.." applied the Debian patches previously.



I suggest you try the usual method
using debuild here:
   https://wiki.debian.org/BuildingTutorial#Rebuild_without_changes


Okay.  I'll start over.  Here are the root commands:

2020-09-30 12:39:27 root@tinkywinky ~
# apt-get update
Hit:1 http://security.debian.org/debian-security stretch/updates InRelease
Hit:2 http://download.virtualbox.org/virtualbox/debian stretch InRelease
Ign:3 http://ftp.us.debian.org/debian stretch InRelease
Hit:4 http://ftp.us.debian.org/debian stretch-updates InRelease
Hit:5 http://ftp.us.debian.org/debian stretch Release
Reading package lists... Done

2020-09-30 12:40:06 root@tinkywinky ~
# apt-get install build-essential fakeroot devscripts
Reading package lists... Done
Building dependency tree
Reading state information... Done
build-essential is already the newest version (12.3).
devscripts is already the newest version (2.17.6+deb9u2).
fakeroot is already the newest version (1.21-3.1).
0 upgraded, 0 newly installed, 0 to remove and 28 not upgraded.

2020-09-30 12:40:32 root@tinkywinky ~
# grep deb-src /etc/apt/sources.list
deb-src http://ftp.us.debian.org/debian/ stretch main non-free contrib
deb-src http://security.debian.org/debian-security stretch/updates main
deb-src http://ftp.us.debian.org/debian/ stretch-updates main

2020-09-30 12:42:08 root@tinkywinky ~
# apt-get install perl
Reading package lists... Done
Building dependency tree
Reading state information... Done
perl is already the newest version (5.24.1-3+deb9u7).
0 upgraded, 0 newly installed, 0 to remove and 28 not upgraded.

2020-09-30 12:43:26 root@tinkywinky ~
# apt-get build-dep perl
Reading package lists... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 28 not upgraded.


Here are the unprivileged commands:

2020-09-30 12:41:30 dpchrist@tinkywinky ~
$ mkdir -p src/debian; cd src/debian

2020-09-30 12:42:24 dpchrist@tinkywinky ~/src/debian
$ apt-get source perl

dpkg-source: info: applying fixes/CVE-2020-10878.diff
dpkg-source: info: applying fixes/CVE-2020-12723.diff
dpkg-source: info: applying fixes/io-socket-ip-nov4.diff

2020-09-30 12:42:40 dpchrist@tinkywinky ~/src/debian
$ cd perl-5.24.1/

2020-09-30 12:44:24 dpchrist@tinkywinky ~/src/debian/perl-5.24.1
$ debuild -b -uc -us

dpkg-deb: building package 'perl' in '../perl_5.24.1-3+deb9u7_amd64.deb'.
 dpkg-genbuildinfo --build=binary
 dpkg-genchanges --build=binary >../perl_5.24.1-3+deb9u7_amd64.changes
dpkg-genchanges: info: binary-only upload (no source code included)
 dpkg-source --after-build perl-5.24.1
dpkg-source: info: using options from perl-5.24.1/debian/source/options: 
--tar-ignore=debian/.git-dpm

dpkg-buildpackage: info: binary-only upload (no source included)


After 42 minutes, it seems to have worked:

2020-09-30 14:04:35 dpchrist@tinkywinky ~/src/debian/perl-5.24.1
$ ls -A1t ..
perl_5.24.1-3+deb9u7_amd64.build
perl_5.24.1-3+deb9u7_amd64.changes
perl_5.24.1-3+deb9u7_amd64.buildinfo
perl_5.24.1-3+deb9u7_amd64.deb
libperl-dev_5.24.1-3+deb9u7_amd64.deb
libperl5.24_5.24.1-3+deb9u7_amd64.deb
perl-debug_5.24.1-3+deb9u7_amd64.deb
perl-base_5.24.1-3+deb9u7_amd64.deb
perl-5.24.1
perl-modules-5.24_5.24.1-3+deb9u7_all.deb
perl-doc_5.24.1-3+deb9u7_all.deb
perl_5.24.1-3+deb9u7.debian.tar.xz
perl_5.24.1-3+deb9u7.dsc
perl_5.24.1.orig.tar.xz


I just need to compile Dumper.xs:


Re: Debian 9.13 perl-5.24-1 compile from source dist/Time-HiRes Warning: No Makefile!

2020-09-30 Thread David
On Wed, 30 Sep 2020 at 14:57, David Christensen
 wrote:

> I have installed the source code for the 'perl' package:
>
> $ apt-get source perl

Ok. You haven't yet said why though, so our suggestions can't be tailored
to your goals until you advise what those might be.

> When I attempt to compile the package per the instructions in INSTALL:

I know nothing about Perl, but having rebuilt quite a number of Debian
source packages I can offer general advice that might be useful if you
are unaware of it.

First, I wouldn't start from there. Have you done any research on "how
to build Debian packages"?If not, that would be advisable.

I haven't checked this package, but at a guess INSTALL sounds like it
will be the instructions provided with the original source, before
packaging. So those instructions could possibly be unaware of
Debian-specific requirements or modifications or methods or library
locations.

> $ cd perl-5.24.1
>
> $ sh Configure -de
> 
>
> $ make

That's ignoring any Debian patches. I suggest you try the usual method
using debuild here:
  https://wiki.debian.org/BuildingTutorial#Rebuild_without_changes

There is some more information here:
  
https://debian-handbook.info/browse/stable/debian-packaging.html#sect.rebuilding-package

All the components that you wish to build are likely to be built
during the binary
package builds.

Although it is possible that things will become complicated if the perl source
package is a large package that builds many binary packages.



Debian 9.13 perl-5.24-1 compile from source dist/Time-HiRes Warning: No Makefile!

2020-09-29 Thread David Christensen

debian-user:

I have a computer with Debian:

$ cat /etc/debian_version ; uname -a
9.13
Linux tinkywinky 4.9.0-13-amd64 #1 SMP Debian 4.9.228-1 (2020-07-05) 
x86_64 GNU/Linux



I have installed the source code for the 'perl' package:

$ apt-get source perl



When I attempt to compile the package per the instructions in INSTALL:

$ cd perl-5.24.1

$ sh Configure -de


$ make

./miniperl -Ilib make_ext.pl lib/auto/Time/HiRes/HiRes.so  MAKE="make" 
LIBPERL_A=libperl.a LINKTYPE=dynamic

Makefile.PL: The "xdefine" exists, skipping the configure step.
("/home/dpchrist/src/debian-9/perl-5.24.1/miniperl Makefile.PL 
--configure" to force the configure step)

Warning: No Makefile!
make[1]: Entering directory 
'/home/dpchrist/src/debian-9/perl-5.24.1/dist/Time-HiRes'

make[1]: *** No rule to make target 'all'.  Stop.
make[1]: Leaving directory 
'/home/dpchrist/src/debian-9/perl-5.24.1/dist/Time-HiRes'
make[1]: Entering directory 
'/home/dpchrist/src/debian-9/perl-5.24.1/dist/Time-HiRes'

make[1]: *** No rule to make target 'all'.  Stop.
make[1]: Leaving directory 
'/home/dpchrist/src/debian-9/perl-5.24.1/dist/Time-HiRes'

Unsuccessful make(dist/Time-HiRes): code=512 at make_ext.pl line 569.
makefile:600: recipe for target 'lib/auto/Time/HiRes/HiRes.so' failed
make: *** [lib/auto/Time/HiRes/HiRes.so] Error 2


Looking at dist/Time-HiRes, I see 'xdefine'.  I do not see 'Makefile':

$ ls -AF1 dist/Time-HiRes/
Changes
HiRes.pm
HiRes.xs
Makefile.PL
fallback/
hints/
ppport.h
t/
typemap
xdefine


Comparing the attempted build for Time-HiRes against other successful 
module builds, I see this message for Time-HiRes:


Makefile.PL: The "xdefine" exists, skipping the configure step.


The above messages was emitted by the main() subroutine in 
dist/Time-HiRes/Makefile.PL.



Changing into the module directory and running the suggested command 
(with an appropriate -I option):


$ cd dist/Time-HiRes

$ /home/dpchrist/src/debian-9/perl-5.24.1/miniperl -I../../lib 
Makefile.PL --configure

Configuring Time::HiRes...
Using hints hints/linux.pl...
Extra libraries: -lrt...
Have syscall()... looking for syscall.h... NOT found.
Looking for gettimeofday()... found.
Looking for setitimer()... found.
Looking for getitimer()... found.
You have interval timers (both setitimer and getitimer).
Looking for ualarm()... found.
Looking for usleep()... found.
Looking for nanosleep()... testing... found.
You can mix subsecond sleeps with signals, if you want to.
(It's still not portable, though.)
Looking for clock_gettime()... NOT found.
Looking for clock_getres()... NOT found.
Looking for clock_nanosleep()... NOT found.
Looking for clock()... NOT found.
Looking for stat() subsecond timestamps...
Trying struct stat st_atimespec.tv_nsec...NOT found.
Trying struct stat st_atimensec...NOT found.
Trying struct stat st_atime_n...NOT found.
Trying struct stat st_atim.tv_nsec...NOT found.
Trying struct stat st_uatime...NOT found.
You do not seem to have stat subsecond timestamps.
Can't load module B, dynamic loading not available in this perl.
  (You may need to build a new perl executable which either supports
  dynamic loading or has the B module statically linked into it.)
 at /home/dpchrist/src/debian-9/perl-5.24.1/lib/B.pm line 28.
BEGIN failed--compilation aborted at 
/home/dpchrist/src/debian-9/perl-5.24.1/lib/B.pm line 28.
Compilation failed in require at 
/home/dpchrist/src/debian-9/perl-5.24.1/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm 
line 1275.



Suggestions?


David