PerlAlien / Alien-Build

Build external dependencies for use in CPAN
16 stars 25 forks source link

Alien Build Plugin fails to in stall on AIX #410

Open Jim19249124 opened 4 months ago

Jim19249124 commented 4 months ago

Trying to install MSOffice::Word::Template and is failing due to issue with dependency Alien::Build::Plugin.

It appears the Setup.pm file does not account for architecture ppc-aix-thread-multi-64all.

Looking at Setup.pm there is code to find the number of cpus for aix but not include code for aix in the architecture verification routine.

I have 2 perl versions installed.
v28 is delivered by IBM as part of the OS. v38 was installed from IBM's Aix toolbox repository. Note they build against different architecture strings..
I'm attempting to install against v38

This is perl 5, version 38, subversion 2 (v5.38.2) built for ppc-aix-thread-multi-64all This is perl 5, version 28, subversion 1 (v5.28.1) built for aix-thread-multi

Thanks in advance for any assistance.

plicease commented 4 months ago

I assume Alien::Build is getting pulled in for Alien::Libxml2? Can you provide more details on the exact nature of the fail, and any diagnostics that are produced? The platform detection is supposed to fallback on unknown if it can't detect it

https://github.com/PerlAlien/Alien-Build/blob/cfdc0e74364c05d62c50ed77345b480c93eb90ce/lib/Alien/Build/Plugin/Core/Setup.pm#L262

but I don't have an AIX to test on. It will die if archname or ptrsize aren't set. We might want to warn on that and set to unknown instead. They should have a value though, so if that were the cause a lot of other stuff would also likely not work.

plicease commented 4 months ago

// cc: @zmughal (who worked on the platform detection).

Jim19249124 commented 4 months ago

Thanks for your quick response.

The original error when installing MsOffice::Word::Template was the unknown architecture. The cpan install would fail to install due to the unknown architecture.

I'm a bit new at debugging the cpan module but I took a look at the code. I found Setup.pm in the Alien:Build module and the warning error for the unknown architecture. Added an additional check for the string 'ppc-aix-thread-multi-64all' and setting $arch name to 'ppc64' resolved all the Unknown archname warnings and figured out how to manually run the build process. Ran make test on Alien::Build. 1 failed test due to invalid argument on cp command. AIX cp does not support the -a argument. Ran make install and Alien::Build appears to have installed Alien::Build.

Retried using cpan to install MsOffice::Word::Template and this is what happens. Looks like while trying to install PLICEASE an unknown command was encountered. Will continue to look at this but any assistance would be appreciated.

Thanks

Loading internal logger. Log::Log4perl recommended for better logging

cpan shell -- CPAN exploration and modules installation (v2.36)
Enter 'h' for help.

cpan[1]> install MsOffice::Word::Template
Reading '/home/root/.cpan/Metadata'
  Database was generated on Mon, 22 Apr 2024 14:54:07 GMT
Running install for module 'MsOffice::Word::Template'
Checksum for
/home/root/.cpan/sources/authors/id/D/DA/DAMI/MsOffice-Word-Template-2.0.tar.gz
ok
Scanning cache /home/root/.cpan/build for sizes
............................................................................DONE
Configuring D/DA/DAMI/MsOffice-Word-Template-2.0.tar.gz with Build.PL
Checking prerequisites...
  requires:
    !  MsOffice::Word::Surgeon is not installed

ERRORS/WARNINGS FOUND IN PREREQUISITES.  You may wish to install the
versions
of the modules indicated above before proceeding with this installation

Created MYMETA.yml and MYMETA.json
Creating new 'Build' script for 'MsOffice-Word-Template' version '2.0'
  DAMI/MsOffice-Word-Template-2.0.tar.gz
  /opt/freeware/bin/perl Build.PL -- OK
Running Build for D/DA/DAMI/MsOffice-Word-Template-2.0.tar.gz
---- Unsatisfied dependencies detected during ----
----  DAMI/MsOffice-Word-Template-2.0.tar.gz  ----
    MsOffice::Word::Surgeon [requires]
Running install for module 'MsOffice::Word::Surgeon'
Checksum for
/home/root/.cpan/sources/authors/id/D/DA/DAMI/MsOffice-Word-Surgeon-2.05.tar.gz
ok
Configuring D/DA/DAMI/MsOffice-Word-Surgeon-2.05.tar.gz with Build.PL
Checking prerequisites...
  requires:
    !  XML::LibXML is not installed

ERRORS/WARNINGS FOUND IN PREREQUISITES.  You may wish to install the
versions
of the modules indicated above before proceeding with this installation

Created MYMETA.yml and MYMETA.json
Creating new 'Build' script for 'MsOffice-Word-Surgeon' version '2.05'
  DAMI/MsOffice-Word-Surgeon-2.05.tar.gz
  /opt/freeware/bin/perl Build.PL -- OK
Running Build for D/DA/DAMI/MsOffice-Word-Surgeon-2.05.tar.gz
---- Unsatisfied dependencies detected during ----
----  DAMI/MsOffice-Word-Surgeon-2.05.tar.gz  ----
    XML::LibXML [requires]
Running install for module 'XML::LibXML'
Checksum for
/home/root/.cpan/sources/authors/id/S/SH/SHLOMIF/XML-LibXML-2.0210.tar.gz ok
---- Unsatisfied dependencies detected during ----
----     SHLOMIF/XML-LibXML-2.0210.tar.gz     ----
    Alien::Libxml2 [build_requires]
Running install for module 'Alien::Libxml2'
Checksum for
/home/root/.cpan/sources/authors/id/P/PL/PLICEASE/Alien-Libxml2-0.19.tar.gz
ok
Configuring P/PL/PLICEASE/Alien-Libxml2-0.19.tar.gz with Makefile.PL
Alien::Build::Plugin::PkgConfig::Negotiate> Using PkgConfig plugin:
PkgConfig::CommandLine
Alien::Build::CommandSequence> + xml2-config --version
Alien::Build::CommandSequence> [output consumed by Alien::Build recipe]
Use of uninitialized value $version in substitution (s///) at
/home/root/.cpan/build/Alien-Libxml2-0.19-0/alienfile line 85.
Unfortunately, Alien::Libxml2 requires the version from the system libxml2
in
order to determine if it is acceptible for use, but Alien::Build prior to
1.61
did not provide this information in the probe step.  Alien::Libxml2 can
still
find the system libxml2 on systems with xml2-config in the PATH, or if
libxml2
is available from one of the commonly known locations.  If you want to
detect
the system libxml2 with a .pc file via pkg-config, then please upgrade
Alien::Build to 1.61 or better
Alien::Build::CommandSequence> + pkg-config --exists libxml-2.0
Use of uninitialized value $version in substitution (s///) at
/home/root/.cpan/build/Alien-Libxml2-0.19-0/alienfile line 85.
Unfortunately, Alien::Libxml2 requires the version from the system libxml2
in
order to determine if it is acceptible for use, but Alien::Build prior to
1.61
did not provide this information in the probe step.  Alien::Libxml2 can
still
find the system libxml2 on systems with xml2-config in the PATH, or if
libxml2
is available from one of the commonly known locations.  If you want to
detect
the system libxml2 with a .pc file via pkg-config, then please upgrade
Alien::Build to 1.61 or better
Alien::Build::Plugin::Probe::CBuilder> trying: cflags= libs=-lxml2
Alien::Build::Plugin::Probe::CBuilder> compile failed: error building
mytest.o from 'mytest.c' at /opt/freeware/share/perl5/site_per
l/ExtUtils/CBuilder/Base.pm line 186.
Alien::Build::Plugin::Probe::CBuilder> compile failed: gcc -maix64
-I/opt/freeware/lib64/perl5/5.38/CORE -c -D_THREAD_SAFE -O2 -maix
64 -L/opt/freeware/lib64 -L/opt/freeware/lib -D_ALL_SOURCE -D_ANSI_C_SOURCE
-D_POSIX_SOURCE -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT
-I/opt/freeware/include -DNEED_PTHREAD_INIT -fwrapv -fno-strict-aliasing
-pipe -maix64 -DUSE_64_BIT_ALL -D_FORTIFY_SOURCE=2 -O -o my
test.o mytest.c
Alien::Build::Plugin::Probe::CBuilder> mytest.c:2:10: fatal error:
libxml/xmlversion.h: No such file or directory
Alien::Build::Plugin::Probe::CBuilder>     2 | #include
<libxml/xmlversion.h>
Alien::Build::Plugin::Probe::CBuilder>       |
 ^~~~~~~~~~~~~~~~~~~~~
Alien::Build::Plugin::Probe::CBuilder> compilation terminated.
Alien::Build::Plugin::Probe::CBuilder> trying:
cflags=-I/usr/include/libxml2 libs=-lxml2
Alien::Build::Plugin::Probe::CBuilder> compile failed: error building
mytest.o from 'mytest.c' at /opt/freeware/share/perl5/site_per
l/ExtUtils/CBuilder/Base.pm line 186.
Alien::Build::Plugin::Probe::CBuilder> compile failed: gcc -maix64
-I/opt/freeware/lib64/perl5/5.38/CORE -I/usr/include/libxml2 -c -
D_THREAD_SAFE -O2 -maix64 -L/opt/freeware/lib64 -L/opt/freeware/lib
-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -DUSE_NATIVE_DLOP
EN -DNEED_PTHREAD_INIT -I/opt/freeware/include -DNEED_PTHREAD_INIT -fwrapv
-fno-strict-aliasing -pipe -maix64 -DUSE_64_BIT_ALL -D_FO
RTIFY_SOURCE=2 -O -o mytest.o mytest.c
Alien::Build::Plugin::Probe::CBuilder> mytest.c:2:10: fatal error:
libxml/xmlversion.h: No such file or directory
Alien::Build::Plugin::Probe::CBuilder>     2 | #include
<libxml/xmlversion.h>
Alien::Build::Plugin::Probe::CBuilder>       |
 ^~~~~~~~~~~~~~~~~~~~~
Alien::Build::Plugin::Probe::CBuilder> compilation terminated.
Alien::Build::Plugin::Probe::CBuilder> trying:
cflags=-I/usr/local/include/libxml2 libs=-lxml2
Alien::Build::Plugin::Probe::CBuilder> compile failed: error building
mytest.o from 'mytest.c' at /opt/freeware/share/perl5/site_per
l/ExtUtils/CBuilder/Base.pm line 186.
Alien::Build::Plugin::Probe::CBuilder> compile failed: gcc -maix64
-I/opt/freeware/lib64/perl5/5.38/CORE -I/usr/local/include/libxml
2 -c -D_THREAD_SAFE -O2 -maix64 -L/opt/freeware/lib64 -L/opt/freeware/lib
-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -DUSE_NATIV
E_DLOPEN -DNEED_PTHREAD_INIT -I/opt/freeware/include -DNEED_PTHREAD_INIT
-fwrapv -fno-strict-aliasing -pipe -maix64 -DUSE_64_BIT_ALL
 -D_FORTIFY_SOURCE=2 -O -o mytest.o mytest.c
Alien::Build::Plugin::Probe::CBuilder> mytest.c:2:10: fatal error:
libxml/xmlversion.h: No such file or directory
Alien::Build::Plugin::Probe::CBuilder>     2 | #include
<libxml/xmlversion.h>
Alien::Build::Plugin::Probe::CBuilder>       |
 ^~~~~~~~~~~~~~~~~~~~~
Alien::Build::Plugin::Probe::CBuilder> compilation terminated.
Alien::Build> error in probe (will do a share install): error building
mytest.o from 'mytest.c' at /opt/freeware/share/perl5/site_pe
rl/ExtUtils/CBuilder/Base.pm line 186.
Alien::Build> Don't panic, we will attempt a share build from source if
possible.
Alien::Build> Do not file a bug unless you expected a system install to
succeed.
Checking if your kit is complete...
Looks good
Warning: prerequisite Alien::xz 0.06 not found.
Generating a Unix-style Makefile
Writing Makefile for Alien::Libxml2
Writing MYMETA.yml and MYMETA.json
  PLICEASE/Alien-Libxml2-0.19.tar.gz
  /opt/freeware/bin/perl Makefile.PL -- OK
Running make for P/PL/PLICEASE/Alien-Libxml2-0.19.tar.gz
---- Unsatisfied dependencies detected during ----
----    PLICEASE/Alien-Libxml2-0.19.tar.gz    ----
    Alien::xz [build_requires]
Running install for module 'Alien::xz'
Checksum for
/home/root/.cpan/sources/authors/id/P/PL/PLICEASE/Alien-xz-0.09.tar.gz ok
Configuring P/PL/PLICEASE/Alien-xz-0.09.tar.gz with Makefile.PL
Alien::Build::Plugin::PkgConfig::Negotiate> Using PkgConfig plugin:
PkgConfig::CommandLine
Alien::Build::Plugin::Download::Negotiate> !! WARNING !! WARNING !!
Alien::Build::Plugin::Download::Negotiate> !! WARNING !! It looks like this
alien is using the regular download negotiator
Alien::Build::Plugin::Download::Negotiate> plugin on a GitHub release
page.  This will typically not work due to changes
Alien::Build::Plugin::Download::Negotiate> in the way GitHub release page
works now.  The Alien should instead be updated
Alien::Build::Plugin::Download::Negotiate> to use the Download::GitHub
plugin, which uses the GitHub API to find available
Alien::Build::Plugin::Download::Negotiate> releases.  See:
https://metacpan.org/pod/Alien::Build::Plugin::Download::GitHub
Alien::Build::Plugin::Download::Negotiate> !! WARNING !! WARNING !!
Alien::Build::CommandSequence> + pkg-config --exists liblzma
Alien::Build> error in probe (will do a share install): Command not found
xz at /opt/freeware/share/perl5/site_perl/Alien/Build/Plug
in/Probe/CommandLine.pm line 49.
Alien::Build> Don't panic, we will attempt a share build from source if
possible.
Alien::Build> Do not file a bug unless you expected a system install to
succeed.
unable to remove /home/root/.cpan/build/Alien-xz-0.09-0/_alien/probe_CPp1
The requested resource is busy. at /opt/freeware/share/per
l5/site_perl/Alien/Build.pm line 1385.
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Alien::xz
Writing MYMETA.yml and MYMETA.json
  PLICEASE/Alien-xz-0.09.tar.gz
  /opt/freeware/bin/perl Makefile.PL -- OK
Running make for P/PL/PLICEASE/Alien-xz-0.09.tar.gz
cp lib/Alien/xz.pm blib/lib/Alien/xz.pm
"/opt/freeware/bin/perl" -MAlien::Build::MM=cmd -e prefix site
/opt/freeware/lib64/perl5/5.38/ /opt/freeware/lib64/perl5/5.38/site_p
erl/ /opt/freeware/lib64/perl5/5.38/vendor_perl/
Alien::Build::Plugin::PkgConfig::Negotiate> Using PkgConfig plugin:
PkgConfig::CommandLine
Alien::Build::Plugin::Download::Negotiate> !! WARNING !! WARNING !!
Alien::Build::Plugin::Download::Negotiate> !! WARNING !! It looks like this
alien is using the regular download negotiator
Alien::Build::Plugin::Download::Negotiate> plugin on a GitHub release
page.  This will typically not work due to changes
Alien::Build::Plugin::Download::Negotiate> in the way GitHub release page
works now.  The Alien should instead be updated
Alien::Build::Plugin::Download::Negotiate> to use the Download::GitHub
plugin, which uses the GitHub API to find available
Alien::Build::Plugin::Download::Negotiate> releases.  See:
https://metacpan.org/pod/Alien::Build::Plugin::Download::GitHub
Alien::Build::Plugin::Download::Negotiate> !! WARNING !! WARNING !!
main> prefix
/opt/freeware/lib64/perl5/5.38/site_perl/auto/share/dist/Alien-xz
"/opt/freeware/bin/perl" -MAlien::Build::MM=cmd -e version 0.09
Alien::Build::Plugin::PkgConfig::Negotiate> Using PkgConfig plugin:
PkgConfig::CommandLine
Alien::Build::Plugin::Download::Negotiate> !! WARNING !! WARNING !!
Alien::Build::Plugin::Download::Negotiate> !! WARNING !! It looks like this
alien is using the regular download negotiator
Alien::Build::Plugin::Download::Negotiate> plugin on a GitHub release
page.  This will typically not work due to changes
Alien::Build::Plugin::Download::Negotiate> in the way GitHub release page
works now.  The Alien should instead be updated
Alien::Build::Plugin::Download::Negotiate> to use the Download::GitHub
plugin, which uses the GitHub API to find available
Alien::Build::Plugin::Download::Negotiate> releases.  See:
https://metacpan.org/pod/Alien::Build::Plugin::Download::GitHub
Alien::Build::Plugin::Download::Negotiate> !! WARNING !! WARNING !!
"/opt/freeware/bin/perl" -MAlien::Build::MM=cmd -e download
Alien::Build::Plugin::PkgConfig::Negotiate> Using PkgConfig plugin:
PkgConfig::CommandLine
Alien::Build::Plugin::Download::Negotiate> !! WARNING !! WARNING !!
Alien::Build::Plugin::Download::Negotiate> !! WARNING !! It looks like this
alien is using the regular download negotiator
Alien::Build::Plugin::Download::Negotiate> plugin on a GitHub release
page.  This will typically not work due to changes
Alien::Build::Plugin::Download::Negotiate> in the way GitHub release page
works now.  The Alien should instead be updated
Alien::Build::Plugin::Download::Negotiate> to use the Download::GitHub
plugin, which uses the GitHub API to find available
Alien::Build::Plugin::Download::Negotiate> releases.  See:
https://metacpan.org/pod/Alien::Build::Plugin::Download::GitHub
Alien::Build::Plugin::Download::Negotiate> !! WARNING !! WARNING !!
Alien::Build::Plugin::Core::Download> candidate *
https://api.github.com/repos/tukaani-project/xz/tarball/v5.4.6
Alien::Build::Plugin::Core::Download> candidate
https://api.github.com/repos/tukaani-project/xz/tarball/v5.4.5
Alien::Build::Plugin::Core::Download> candidate
https://api.github.com/repos/tukaani-project/xz/tarball/v5.4.4
Alien::Build::Plugin::Core::Download> candidate
https://api.github.com/repos/tukaani-project/xz/tarball/v5.4.3
Alien::Build::Plugin::Core::Download> candidate
https://api.github.com/repos/tukaani-project/xz/tarball/v5.2.12
Alien::Build::Plugin::Core::Download> candidate
https://api.github.com/repos/tukaani-project/xz/tarball/v5.4.2
Alien::Build::Plugin::Core::Download> candidate
https://api.github.com/repos/tukaani-project/xz/tarball/v5.2.11
Alien::Build::Plugin::Core::Download> candidate
https://api.github.com/repos/tukaani-project/xz/tarball/v5.4.1
Alien::Build::Plugin::Core::Download> candidate  ...
Alien::Build::Plugin::Core::Download> setting version based on archive to
5.4.6
Alien::Build::Plugin::Core::Download> downloaded
tukaani-project-xz-v5.4.6-0-g6e8732c.tar.gz
"/opt/freeware/bin/perl" -MAlien::Build::MM=cmd -e build
Alien::Build::Plugin::PkgConfig::Negotiate> Using PkgConfig plugin:
PkgConfig::CommandLine
Alien::Build::Plugin::Download::Negotiate> !! WARNING !! WARNING !!
Alien::Build::Plugin::Download::Negotiate> !! WARNING !! It looks like this
alien is using the regular download negotiator
Alien::Build::Plugin::Download::Negotiate> plugin on a GitHub release
page.  This will typically not work due to changes
Alien::Build::Plugin::Download::Negotiate> in the way GitHub release page
works now.  The Alien should instead be updated
Alien::Build::Plugin::Download::Negotiate> to use the Download::GitHub
plugin, which uses the GitHub API to find available
Alien::Build::Plugin::Download::Negotiate> releases.  See:
https://metacpan.org/pod/Alien::Build::Plugin::Download::GitHub
Alien::Build::Plugin::Download::Negotiate> !! WARNING !! WARNING !!
Alien::Build::CommandSequence> + sh autogen.sh --no-po4a --no-doxygen
+ autopoint -f
autogen.sh[15]: autopoint:  not found.
external command failed at
/opt/freeware/share/perl5/site_perl/Alien/Build/CommandSequence.pm line 88.
make: *** [Makefile:1026: _alien/mm/build] Error 2
  PLICEASE/Alien-xz-0.09.tar.gz
  /opt/freeware/bin/make -- NOT OK
  PLICEASE/Alien-Libxml2-0.19.tar.gz
  Has already been unwrapped into directory
/home/root/.cpan/build/Alien-Libxml2-0.19-0
  PLICEASE/Alien-Libxml2-0.19.tar.gz
  Has already been prepared
Running make for P/PL/PLICEASE/Alien-Libxml2-0.19.tar.gz
Warning: Prerequisite 'Alien::xz => 0.06' for
'PLICEASE/Alien-Libxml2-0.19.tar.gz' failed when processing
'PLICEASE/Alien-xz-0.09.ta
r.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
cp lib/Alien/Libxml2.pm blib/lib/Alien/Libxml2.pm
"/opt/freeware/bin/perl" -MAlien::Build::MM=cmd -e prefix site
/opt/freeware/lib64/perl5/5.38/ /opt/freeware/lib64/perl5/5.38/site_p
erl/ /opt/freeware/lib64/perl5/5.38/vendor_perl/
Alien::Build::Plugin::PkgConfig::Negotiate> Using PkgConfig plugin:
PkgConfig::CommandLine
Can't locate Alien/xz.pm in @INC (you may need to install the Alien::xz
module) ***@***.*** entries checked: /opt/freeware/lib64/perl5/5.3
8/site_perl/ /opt/freeware/share/perl5/site_perl/
/opt/freeware/lib64/perl5/5.38/vendor_perl/
/opt/freeware/share/perl5/vendor_perl/
 /opt/freeware/lib64/perl5/5.38/ /opt/freeware/share/perl5/5.38/ .) at
/opt/freeware/share/perl5/site_perl/Alien/Build.pm line 337.
make: *** [Makefile:991: _alien/mm/prefix] Error 2
  PLICEASE/Alien-Libxml2-0.19.tar.gz
  /opt/freeware/bin/make -- NOT OK
  SHLOMIF/XML-LibXML-2.0210.tar.gz
  Has already been unwrapped into directory
/home/root/.cpan/build/XML-LibXML-2.0210-4
Warning: Prerequisite 'Alien::Libxml2 => 0.14' for
'SHLOMIF/XML-LibXML-2.0210.tar.gz' failed when processing
'PLICEASE/Alien-Libxml2
-0.19.tar.gz' with 'make => NO'. Continuing, but chances to succeed are
limited.
Configuring S/SH/SHLOMIF/XML-LibXML-2.0210.tar.gz with Makefile.PL
Can't locate Alien/Libxml2.pm in @INC (you may need to install the
Alien::Libxml2 module) ***@***.*** entries checked: /opt/freeware/lib64
/perl5/5.38/site_perl/ /opt/freeware/share/perl5/site_perl/
/opt/freeware/lib64/perl5/5.38/vendor_perl/ /opt/freeware/share/perl5/ve
ndor_perl/ /opt/freeware/lib64/perl5/5.38/ /opt/freeware/share/perl5/5.38/
.) at /opt/freeware/share/perl5/site_perl/Alien/Base/Wrap
per.pm line 68.
BEGIN failed--compilation aborted at Makefile.PL line 20.
Warning: No success on command[/opt/freeware/bin/perl Makefile.PL]
  SHLOMIF/XML-LibXML-2.0210.tar.gz
  /opt/freeware/bin/perl Makefile.PL -- NOT OK
  DAMI/MsOffice-Word-Surgeon-2.05.tar.gz
  Has already been unwrapped into directory
/home/root/.cpan/build/MsOffice-Word-Surgeon-2.05-3
  DAMI/MsOffice-Word-Surgeon-2.05.tar.gz
  Has already been prepared
Running Build for D/DA/DAMI/MsOffice-Word-Surgeon-2.05.tar.gz
Warning: Prerequisite 'XML::LibXML => 0' for
'DAMI/MsOffice-Word-Surgeon-2.05.tar.gz' failed when processing
'SHLOMIF/XML-LibXML-2.0
210.tar.gz' with 'writemakefile => NO '/opt/freeware/bin/perl Makefile.PL'
returned status 512'. Continuing, but chances to succeed
are limited.
Building MsOffice-Word-Surgeon
  DAMI/MsOffice-Word-Surgeon-2.05.tar.gz
  ./Build -- OK
The current configuration of allow_installing_outdated_dists is 'ask/no',
but for this option we would need 'CPAN::DistnameInfo' ins
talled. Please install 'CPAN::DistnameInfo' as soon as possible. As long as
we are not equipped with 'CPAN::DistnameInfo' this optio
n does not take effect
Running Build test for DAMI/MsOffice-Word-Surgeon-2.05.tar.gz
t/msoffice-word-surgeon.t .. Can't locate XML/LibXML.pm in @INC (you may
need to install the XML::LibXML module) ***@***.*** entries check
ed: /home/root/.cpan/build/MsOffice-Word-Surgeon-2.05-3/blib/lib
/home/root/.cpan/build/MsOffice-Word-Surgeon-2.05-3/blib/arch /opt/
freeware/lib64/perl5/5.38/site_perl/ /opt/freeware/share/perl5/site_perl/
/opt/freeware/lib64/perl5/5.38/vendor_perl/ /opt/freeware/
share/perl5/vendor_perl/ /opt/freeware/lib64/perl5/5.38/
/opt/freeware/share/perl5/5.38/ .) at /home/root/.cpan/build/MsOffice-Word-
Surgeon-2.05-3/blib/lib/MsOffice/Word/Surgeon/PackagePart.pm line 8.
BEGIN failed--compilation aborted at
/home/root/.cpan/build/MsOffice-Word-Surgeon-2.05-3/blib/lib/MsOffice/Word/Surgeon/PackagePart.
pm line 8.
Compilation failed in require at
/home/root/.cpan/build/MsOffice-Word-Surgeon-2.05-3/blib/lib/MsOffice/Word/Surgeon.pm
line 9.
BEGIN failed--compilation aborted at
/home/root/.cpan/build/MsOffice-Word-Surgeon-2.05-3/blib/lib/MsOffice/Word/Surgeon.pm
line 9.
Compilation failed in require at t/msoffice-word-surgeon.t line 4.
BEGIN failed--compilation aborted at t/msoffice-word-surgeon.t line 4.
t/msoffice-word-surgeon.t .. Dubious, test returned 2 (wstat 512, 0x200)
No subtests run
t/reveal_bookmarks.t ....... Can't locate XML/LibXML.pm in @INC (you may
need to install the XML::LibXML module) ***@***.*** entries check
ed: /home/root/.cpan/build/MsOffice-Word-Surgeon-2.05-3/blib/lib
/home/root/.cpan/build/MsOffice-Word-Surgeon-2.05-3/blib/arch /opt/
freeware/lib64/perl5/5.38/site_perl/ /opt/freeware/share/perl5/site_perl/
/opt/freeware/lib64/perl5/5.38/vendor_perl/ /opt/freeware/
share/perl5/vendor_perl/ /opt/freeware/lib64/perl5/5.38/
/opt/freeware/share/perl5/5.38/ .) at /home/root/.cpan/build/MsOffice-Word-
Surgeon-2.05-3/blib/lib/MsOffice/Word/Surgeon/PackagePart.pm line 8.
BEGIN failed--compilation aborted at
/home/root/.cpan/build/MsOffice-Word-Surgeon-2.05-3/blib/lib/MsOffice/Word/Surgeon/PackagePart.
pm line 8.
Compilation failed in require at
/home/root/.cpan/build/MsOffice-Word-Surgeon-2.05-3/blib/lib/MsOffice/Word/Surgeon.pm
line 9.
BEGIN failed--compilation aborted at
/home/root/.cpan/build/MsOffice-Word-Surgeon-2.05-3/blib/lib/MsOffice/Word/Surgeon.pm
line 9.
Compilation failed in require at t/reveal_bookmarks.t line 4.
BEGIN failed--compilation aborted at t/reveal_bookmarks.t line 4.
t/reveal_bookmarks.t ....... Dubious, test returned 2 (wstat 512, 0x200)
No subtests run

Test Summary Report
-------------------
t/msoffice-word-surgeon.t (Wstat: 512 (exited 2) Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: No plan found in TAP output
t/reveal_bookmarks.t     (Wstat: 512 (exited 2) Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: No plan found in TAP output
Files=2, Tests=0,  1 wallclock secs ( 0.01 usr  0.00 sys +  0.25 cusr  0.02
csys =  0.28 CPU)
Result: FAIL
Failed 2/2 test programs. 0/0 subtests failed.
Lockfile removed.
  DAMI/MsOffice-Word-Surgeon-2.05.tar.gz
one dependency not OK (XML::LibXML); additionally test harness failed
  ./Build test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
  reports DAMI/MsOffice-Word-Surgeon-2.05.tar.gz
  DAMI/MsOffice-Word-Template-2.0.tar.gz
  Has already been unwrapped into directory
/home/root/.cpan/build/MsOffice-Word-Template-2.0-2
  DAMI/MsOffice-Word-Template-2.0.tar.gz
  Has already been prepared
Running Build for D/DA/DAMI/MsOffice-Word-Template-2.0.tar.gz
Warning: Prerequisite 'MsOffice::Word::Surgeon => 2.0' for
'DAMI/MsOffice-Word-Template-2.0.tar.gz' failed when processing 'DAMI/MsO
ffice-Word-Surgeon-2.05.tar.gz' with 'make_test => NO one dependency not OK
(XML::LibXML); additionally test harness failed'. Contin
uing, but chances to succeed are limited.
Building MsOffice-Word-Template
  DAMI/MsOffice-Word-Template-2.0.tar.gz
  ./Build -- OK
The current configuration of allow_installing_outdated_dists is 'ask/no',
but for this option we would need 'CPAN::DistnameInfo' ins
talled. Please install 'CPAN::DistnameInfo' as soon as possible. As long as
we are not equipped with 'CPAN::DistnameInfo' this optio
n does not take effect
Running Build test for DAMI/MsOffice-Word-Template-2.0.tar.gz
t/mustache.t .. Can't locate MsOffice/Word/Surgeon.pm in @INC (you may need
to install the MsOffice::Word::Surgeon module) ***@***.*** ent
ries checked: /home/root/.cpan/build/MsOffice-Word-Template-2.0-2/blib/lib
/home/root/.cpan/build/MsOffice-Word-Template-2.0-2/blib/
arch /opt/freeware/lib64/perl5/5.38/site_perl/
/opt/freeware/share/perl5/site_perl/
/opt/freeware/lib64/perl5/5.38/vendor_perl/ /opt
/freeware/share/perl5/vendor_perl/ /opt/freeware/lib64/perl5/5.38/
/opt/freeware/share/perl5/5.38/ .) at /home/root/.cpan/build/MsOf
fice-Word-Template-2.0-2/blib/lib/MsOffice/Word/Template.pm line 7.
BEGIN failed--compilation aborted at
/home/root/.cpan/build/MsOffice-Word-Template-2.0-2/blib/lib/MsOffice/Word/Template.pm
line 7.
Compilation failed in require at t/mustache.t line 3.
BEGIN failed--compilation aborted at t/mustache.t line 3.
t/mustache.t .. Dubious, test returned 2 (wstat 512, 0x200)
No subtests run
t/tt2.t ....... Can't locate MsOffice/Word/Surgeon.pm in @INC (you may need
to install the MsOffice::Word::Surgeon module) ***@***.*** ent
ries checked: ../lib d:/Git/DAMI/MsOffice-Word-Surgeon/lib
/home/root/.cpan/build/MsOffice-Word-Template-2.0-2/blib/lib /home/root/.
cpan/build/MsOffice-Word-Template-2.0-2/blib/arch
/opt/freeware/lib64/perl5/5.38/site_perl/
/opt/freeware/share/perl5/site_perl/ /op
t/freeware/lib64/perl5/5.38/vendor_perl/
/opt/freeware/share/perl5/vendor_perl/ /opt/freeware/lib64/perl5/5.38/
/opt/freeware/share/
perl5/5.38/ .) at
/home/root/.cpan/build/MsOffice-Word-Template-2.0-2/blib/lib/MsOffice/Word/Template.pm
line 7.
BEGIN failed--compilation aborted at
/home/root/.cpan/build/MsOffice-Word-Template-2.0-2/blib/lib/MsOffice/Word/Template.pm
line 7.
Compilation failed in require at t/tt2.t line 6.
BEGIN failed--compilation aborted at t/tt2.t line 6.
t/tt2.t ....... Dubious, test returned 2 (wstat 512, 0x200)
No subtests run

Test Summary Report
-------------------
t/mustache.t (Wstat: 512 (exited 2) Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: No plan found in TAP output
t/tt2.t     (Wstat: 512 (exited 2) Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: No plan found in TAP output
Files=2, Tests=0,  1 wallclock secs ( 0.01 usr  0.00 sys +  0.15 cusr  0.01
csys =  0.17 CPU)
Result: FAIL
Failed 2/2 test programs. 0/0 subtests failed.
  DAMI/MsOffice-Word-Template-2.0.tar.gz
one dependency not OK (MsOffice::Word::Surgeon); additionally test harness
failed
  ./Build test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
  reports DAMI/MsOffice-Word-Template-2.0.tar.gz
Failed during this command:
 PLICEASE/Alien-xz-0.09.tar.gz                : make NO
 PLICEASE/Alien-Libxml2-0.19.tar.gz           : make NO
 SHLOMIF/XML-LibXML-2.0210.tar.gz             : writemakefile NO
'/opt/freeware/bin/perl Makefile.PL' returned status 512
 DAMI/MsOffice-Word-Surgeon-2.05.tar.gz       : make_test NO one dependency
not OK (XML::LibXML); additionally test harness failed
 DAMI/MsOffice-Word-Template-2.0.tar.gz       : make_test NO one dependency
not OK (MsOffice::Word::Surgeon); additionally test harn
ess failed

cpan[2]>

The

On Tue, Apr 23, 2024 at 5:54 AM Graham✈️✈️ @.***> wrote:

// cc: @zmughal https://github.com/zmughal (who worked on the platform detection).

— Reply to this email directly, view it on GitHub https://github.com/PerlAlien/Alien-Build/issues/410#issuecomment-2071997801, or unsubscribe https://github.com/notifications/unsubscribe-auth/BIALA6Y6BUHVPSX23O7EG2DY6Y4WZAVCNFSM6AAAAABGTQHHMGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANZRHE4TOOBQGE . You are receiving this because you authored the thread.Message ID: @.***>

plicease commented 4 months ago

I think this is the key diagnostic:

+ autopoint -f
autogen.sh[15]: autopoint:  not found.
external command failed at

libxml2 is provided in .tar.xz format, and I recently updated the Alien::xz to build the configure script for xz since it is no longer provided in the tarballs that we are getting. (if interested you can read the background here https://github.com/PerlAlien/Alien-xz/issues/8). Unfortunately this pulls in a dependency we didn't have before on autopoint (https://github.com/PerlAlien/Alien-xz/issues/11). My plan is to either avoid that dependency or alienize autopoint but I haven't been able to focus on that yet.

TL;DR: if you can install a system package of one of these:

  1. autopoint
  2. xz
  3. libxml2

It should unblock you.

Jim19249124 commented 4 months ago

I'll see what I can do.

I did google autopoint and from what I gather it's supposed to be in gettext assuming it's the same autopoint.

I have the gettext rpm installed but no autopoint.

AIX specific RPMs can be found on the IBM AIX toolbox site. I'll ask the team that maintains this site about the autopoint tool.

As an AIX user, I will typically install all RPMs from the toolbox site.

I also see a use of cp -a. AIX does not support the -a argument and I don't see an open version in the AIX toolbox. Doesn't mean there isn't one available, just not from the toolbox. Here is a snippet showing that error,

t/alien_build_plugin_build_copy.t .................... 1/? # Failed test 'builds okay'

at t/alien_build_plugin_build_copy.t line 32.

# Alien::Build> single file, assuming archive
# Alien::Build::Auto::Gwrubzpl0::Alienfile>

bin=/home/root/.cpan/build/Alien-Build-2.80-0/.tmp/Fgwrubzp4l/root/build_RrmQ/bin/my command

Alien::Build::CommandSequence> + cp -aR *

"/home/root/.cpan/build/Alien-Build-2.80-0/.tmp/Fgwrubzp4l/stage"

cp: Not a recognized flag: a

# Usage: cp [-fhipHILPU][-d|-e] [-r|-R] [-E{force|ignore|warn}] [--]

src target

or: cp [-fhipHILPU] [-d|-e] [-r|-R] [-E{force|ignore|warn}] [--]

src1 ... srcN directory

build threw exception: external command failed at

/home/root/.cpan/build/Alien-Build-2.80-0/blib/lib/Alien/Build/CommandSequen ce.pm line 88.

Failed test 'file

/home/root/.cpan/build/Alien-Build-2.80-0/.tmp/Fgwrubzp4l/stage/bin/mycommand exists'

at t/alien_build_plugin_build_copy.t line 37.

# Failed test 'file

/home/root/.cpan/build/Alien-Build-2.80-0/.tmp/Fgwrubzp4l/stage/bin/mycommand is executable'

at t/alien_build_plugin_build_copy.t line 38.

# Failed test 'file

/home/root/.cpan/build/Alien-Build-2.80-0/.tmp/Fgwrubzp4l/stage/include/foo.h exists'

at t/alien_build_plugin_build_copy.t line 42.

On Tue, Apr 23, 2024 at 11:56 AM Graham✈️✈️ @.***> wrote:

I think this is the key diagnostic:

  • autopoint -f autogen.sh[15]: autopoint: not found. external command failed at

libxml2 is provided in .tar.xz format, and I recently updated the Alien::xz to build the configure script for xz since it is no longer provided in the tarballs that we are getting. (if interested you can read the background here PerlAlien/Alien-xz#8 https://github.com/PerlAlien/Alien-xz/issues/8). Unfortunately this pulls in a dependency we didn't have before on autopoint ( PerlAlien/Alien-xz#11 https://github.com/PerlAlien/Alien-xz/issues/11). My plan is to either avoid that dependency or alienize autopoint but I haven't been able to focus on that yet.

TL;DR: if you can install a system package of one of these:

  1. autopoint
  2. xz
  3. libxml2

It should unblock you.

— Reply to this email directly, view it on GitHub https://github.com/PerlAlien/Alien-Build/issues/410#issuecomment-2072924316, or unsubscribe https://github.com/notifications/unsubscribe-auth/BIALA6ZFNLMPHA4JU57HMWTY62HDDAVCNFSM6AAAAABGTQHHMGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANZSHEZDIMZRGY . You are receiving this because you authored the thread.Message ID: @.***>

plicease commented 4 months ago

Gosh when I was using AIX at IBM 20 years ago we didn't have rpms :)

I think you are right I think autopoint comes from gettext. It may be easier to install xz or libxml2 instead. Be sure to install the dev packages, these usually come as separate packages on rpm based systems that I am familiar with.

I would love to fix the error with -a, but I don't have an AIX to test with. What I need is a recursive option, plus the appropriate options to preserve timestamp, permissions, ownership (where practical) and symlinks (as symlinks). I think from reading on line -Rp will do everything except symlink duplication. If you can help me figure that out and test a modified version of Alien-Build to confirm that change works I'd be grateful. The -H -L and -P option seem to modify the behavior with -R for symbolic links but I don't quite understand what they do from the description.

Jim19249124 commented 4 months ago

Yeah 20+ years ago IBM didn't have the open RPMS. Back then you spent a lot of time building your own from source or there was the toolbox site in France maintained by Groupe Bull volunteers that was creating the AIX rpms. The Bull site began to get really outdated so it got moved to the IBM site where it is today. It's reasonably current now and the support team is keeping thing updated. The installation structure has changed some but now all the packages are built with a consistent structure fit for AIX.

The IBM toolbox team replied to my questions. autopoint is in the gettext-dev package. There is also an open version of cp in the coreutils package.

One recommendation was to include /opt/freeware/bin at the beginning of the path to the open versions are found first. I normally put this at the end of the path for root and at the beginning of the path for users. Why? I don't want to disrupt OS delivered scripts or OS operations by the use of open versions of commands. Having said this, I did find the building under root with freeware at the end of the path creates some issues. I start cpan from freeware but not all the freeware versions of the commands are picked up (perl was the one specific one noticed). I have 2 versions of perl installed. The one IBM delivers with AIX and the one from the toolkit. The recommendation is to not molest the version from IBM in the unlikely event some OS script would fail.

As to my build/install. After adding freeware bin to the front of path and adding the devel packs for the missing commands resolved most of my issues. At least the MsOffice package is now installed.

If you would like me to test something I can probably do that.

cp options -H -L -P. Never have used them and reading the manpage doesn't help much so here is a quick example.

Looks like -L and -H are the same result but ---- am I missing something.

!/usr/bin/ksh

[ -e cp_test ] && [ -d cp_test ] && rm -fr cp_test [ -e cp_test-H ] && [ -d cp_test-H ] && rm -fr cp_test-H [ -e cp_test-L ] && [ -d cp_test-L ] && rm -fr cp_test-L [ -e cp_test-P ] && [ -d cp_test-P ] && rm -fr cp_test-P mkdir cp_test mkdir cp_test-H mkdir cp_test-L mkdir cp_test-P

cd cp_test touch file ln -s file file_link1 ln -s file_link1 file_link2 ln -s file_link2 file_link3 ln -s file_link3 file_link4

mknod fifo p ln -s fifo fifo_link1 ln -s fifo_link1 fifo_link2 ln -s fifo_link2 fifo_link3 ln -s fifo_link3 fifo_link4 cd ..

cp -p -R -H cp_test/ cp_test-H cp -p -R -L cp_test/ cp_test-L cp -p -R -P cp_test/* cp_test-P

ls -l cp_test*

Execution of the above script.

-rwxr--r-- 1 rinn staff 700 Apr 24 12:07 cp_test.sh

cp_test: total 0 prw-r--r-- 1 rinn staff 0 Apr 24 12:07 fifo lrwxrwxrwx 1 rinn staff 4 Apr 24 12:07 fifo_link1 -> fifo lrwxrwxrwx 1 rinn staff 10 Apr 24 12:07 fifo_link2 -> fifo_link1 lrwxrwxrwx 1 rinn staff 10 Apr 24 12:07 fifo_link3 -> fifo_link2 lrwxrwxrwx 1 rinn staff 10 Apr 24 12:07 fifo_link4 -> fifo_link3 -rw-r--r-- 1 rinn staff 0 Apr 24 12:07 file lrwxrwxrwx 1 rinn staff 4 Apr 24 12:07 file_link1 -> file lrwxrwxrwx 1 rinn staff 10 Apr 24 12:07 file_link2 -> file_link1 lrwxrwxrwx 1 rinn staff 10 Apr 24 12:07 file_link3 -> file_link2 lrwxrwxrwx 1 rinn staff 10 Apr 24 12:07 file_link4 -> file_link3

cp_test-H: total 0 prw-r--r-- 1 rinn staff 0 Apr 24 12:07 fifo prw-r--r-- 1 rinn staff 0 Apr 24 12:07 fifo_link1 prw-r--r-- 1 rinn staff 0 Apr 24 12:07 fifo_link2 prw-r--r-- 1 rinn staff 0 Apr 24 12:07 fifo_link3 prw-r--r-- 1 rinn staff 0 Apr 24 12:07 fifo_link4 -rw-r--r-- 1 rinn staff 0 Apr 24 12:07 file -rw-r--r-- 1 rinn staff 0 Apr 24 12:07 file_link1 -rw-r--r-- 1 rinn staff 0 Apr 24 12:07 file_link2 -rw-r--r-- 1 rinn staff 0 Apr 24 12:07 file_link3 -rw-r--r-- 1 rinn staff 0 Apr 24 12:07 file_link4

cp_test-L: total 0 prw-r--r-- 1 rinn staff 0 Apr 24 12:07 fifo prw-r--r-- 1 rinn staff 0 Apr 24 12:07 fifo_link1 prw-r--r-- 1 rinn staff 0 Apr 24 12:07 fifo_link2 prw-r--r-- 1 rinn staff 0 Apr 24 12:07 fifo_link3 prw-r--r-- 1 rinn staff 0 Apr 24 12:07 fifo_link4 -rw-r--r-- 1 rinn staff 0 Apr 24 12:07 file -rw-r--r-- 1 rinn staff 0 Apr 24 12:07 file_link1 -rw-r--r-- 1 rinn staff 0 Apr 24 12:07 file_link2 -rw-r--r-- 1 rinn staff 0 Apr 24 12:07 file_link3 -rw-r--r-- 1 rinn staff 0 Apr 24 12:07 file_link4

cp_test-P: total 0 prw-r--r-- 1 rinn staff 0 Apr 24 12:07 fifo lrwxrwxrwx 1 rinn staff 4 Apr 24 12:07 fifo_link1 -> fifo lrwxrwxrwx 1 rinn staff 10 Apr 24 12:07 fifo_link2 -> fifo_link1 lrwxrwxrwx 1 rinn staff 10 Apr 24 12:07 fifo_link3 -> fifo_link2 lrwxrwxrwx 1 rinn staff 10 Apr 24 12:07 fifo_link4 -> fifo_link3 -rw-r--r-- 1 rinn staff 0 Apr 24 12:07 file lrwxrwxrwx 1 rinn staff 4 Apr 24 12:07 file_link1 -> file lrwxrwxrwx 1 rinn staff 10 Apr 24 12:07 file_link2 -> file_link1 lrwxrwxrwx 1 rinn staff 10 Apr 24 12:07 file_link3 -> file_link2 lrwxrwxrwx 1 rinn staff 10 Apr 24 12:07 file_link4 -> file_link3

On Tue, Apr 23, 2024 at 11:42 PM Graham✈️✈️ @.***> wrote:

Gosh when I was using AIX at IBM 20 years ago we didn't have rpms :)

I think you are right I think autopoint comes from gettext. It may be easier to install xz or libxml2 instead. Be sure to install the dev packages, these usually come as separate packages on rpm based systems that I am familiar with.

I would love to fix the error with -a, but I don't have an AIX to test with. What I need is a recursive option, plus the appropriate options to preserve timestamp, permissions, ownership (where practical) and symlinks (as symlinks). I think from reading on line -Rp will do everything except symlink duplication. If you can help me figure that out and test a modified version of Alien-Build to confirm that change works I'd be grateful. The -H -L and -P option seem to modify the behavior with -R for symbolic links but I don't quite understand what they do from the description.

— Reply to this email directly, view it on GitHub https://github.com/PerlAlien/Alien-Build/issues/410#issuecomment-2074015813, or unsubscribe https://github.com/notifications/unsubscribe-auth/BIALA67HVSHAH7CGBJSWIRDY64ZZRAVCNFSM6AAAAABGTQHHMGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANZUGAYTKOBRGM . You are receiving this because you authored the thread.Message ID: @.***>