Build of perl-xml-fast with musl toolchain

The build took 00h 01m 23s and was SUCCESSFUL.

The program in this build is written in the following languages, according to sloccount:

SLOCLanguage
1,524 ansic
718 makefile
325 perl
2,567 total

The process tree of the build process is here.

Several sub-process invocations were improper; see the process tree for details. Summary:

Log

To avoid scrolling, you may jump to the last line of the invocation of makepkg that was used to build this package.

Removed vanilla repositories from pacman.conf and added:
# [tuscan]
# Server = file:///var/cache/pacman/pkg/

CMD: pacman -Syy --noconfirm
# :: Synchronizing package databases...
# downloading tuscan.db...

There were existing files in /sysroot, using those
# /sysroot/lib
# /sysroot/share
# /sysroot/bin
# /sysroot/include
# /sysroot/libexec

CMD: sudo -u tuscan PATH=/sysroot/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin CC=clang CXX=clang++ red makepkg --noextract --syncdeps --skipinteg --skippgpcheck --skipchecksums --noconfirm --nocolor --log --noprogressbar --nocheck
# ==> Making package: perl-xml-fast 0.11-7 (Tue Apr 4 23:53:01 UTC 2017)
# ==> Checking runtime dependencies...
# ==> Checking buildtime dependencies...
# ==> WARNING: Using existing $srcdir/ tree
# ==> Starting build()...
# Checking if your kit is complete...
# Looks good
# Generating a Unix-style Makefile
# Writing Makefile for XML::Fast
# Writing MYMETA.yml and MYMETA.json
# Running Mkbootstrap for XML::Fast ()
# "/usr/bin/perl" "/usr/share/perl5/core_perl/ExtUtils/xsubpp" -typemap "/usr/share/perl5/core_perl/ExtUtils/typemap" Fast.xs > Fast.xsc && mv Fast.xsc Fast.c
# cc -c -I. -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -DVERSION=\"0.11\" -DXS_VERSION=\"0.11\" -fPIC "-I/usr/lib/perl5/core_perl/CORE" xmlfast.c
# chmod 644 "Fast.bs"
# cp lib/XML/Fast.pm blib/lib/XML/Fast.pm
# In file included from xmlfast.c:1:
# In file included from ./xmlfast.h:8:
# ./entities.h:11:53: warning: initializing 'unsigned char *' with an expression of type 'char [2]' converts between pointers to integer types with different sign [-Wpointer-sign]
# static entityref_t _e_001[1] = { { 'p', "&", 1, 0, NULL } };
# ^~~
# ./entities.h:12:57: warning: initializing 'unsigned char *' with an expression of type 'char [2]' converts between pointers to integer types with different sign [-Wpointer-sign]
# static entityref_t _e_002[1] = { { 's', "'", 1, 0, NULL } };
# ^~~
# ./entities.h:15:49: warning: initializing 'unsigned char *' with an expression of type 'char [2]' converts between pointers to integer types with different sign [-Wpointer-sign]
# static entityref_t _e_005[1] = { { 't', ">", 1, 0, NULL } };
# ^~~
# ./entities.h:16:49: warning: initializing 'unsigned char *' with an expression of type 'char [2]' converts between pointers to integer types with different sign [-Wpointer-sign]
# static entityref_t _e_006[1] = { { 't', "<", 1, 0, NULL } };
# ^~~
# ./entities.h:17:57: warning: initializing 'unsigned char *' with an expression of type 'char [2]' converts between pointers to integer types with different sign [-Wpointer-sign]
# static entityref_t _e_007[1] = { { 't', "\"", 1, 0, NULL } };
# ^~~~
# xmlfast.c:155:66: warning: passing 'unsigned char *' to parameter of type 'char *' converts between pointers to integer types with different sign [-Wpointer-sign]
# if (context->cb.bytespart) context->cb.bytespart(context->ctx, cur_ent->entity, cur_ent->length);
# ^~~~~~~~~~~~~~~
# xmlfast.c:251:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
# if( p = parse_entity(context, p) ) {
# ~~^~~~~~~~~~~~~~~~~~~~~~~~~~
# xmlfast.c:251:16: note: place parentheses around the assignment to silence this warning
# if( p = parse_entity(context, p) ) {
# ^
# ( )
# xmlfast.c:251:16: note: use '==' to turn this assignment into an equality comparison
# if( p = parse_entity(context, p) ) {
# ^
# ==
# xmlfast.c:309:15: warning: format specifies type 'int' but the argument has type 'long' [-Wformat]
# } else xml_error("Comment node not terminated");
# ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ./xmlfast.h:99:50: note: expanded from macro 'xml_error'
# fprintf(stderr,"Error at char %d (%1s): %s\n", p-xml, *p ? p : "\\0", x); \
# ~~ ^~~~~
# xmlfast.c:322:15: warning: format specifies type 'int' but the argument has type 'long' [-Wformat]
# } else xml_error("Cdata node not terminated");
# ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ./xmlfast.h:99:50: note: expanded from macro 'xml_error'
# fprintf(stderr,"Error at char %d (%1s): %s\n", p-xml, *p ? p : "\\0", x); \
# ~~ ^~~~~
# xmlfast.c:332:20: warning: format specifies type 'int' but the argument has type 'long' [-Wformat]
# case 0 : xml_error("Doctype not properly terminated"); break;
# ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ./xmlfast.h:99:50: note: expanded from macro 'xml_error'
# fprintf(stderr,"Error at char %d (%1s): %s\n", p-xml, *p ? p : "\\0", x); \
# ~~ ^~~~~
# xmlfast.c:347:11: warning: format specifies type 'int' but the argument has type 'long' [-Wformat]
# xml_error("Doctype not properly terminated");
# ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ./xmlfast.h:99:50: note: expanded from macro 'xml_error'
# fprintf(stderr,"Error at char %d (%1s): %s\n", p-xml, *p ? p : "\\0", x); \
# ~~ ^~~~~
# xmlfast.c:350:10: warning: format specifies type 'int' but the argument has type 'long' [-Wformat]
# xml_error("Doctype intSubset not terminated");
# ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ./xmlfast.h:99:50: note: expanded from macro 'xml_error'
# fprintf(stderr,"Error at char %d (%1s): %s\n", p-xml, *p ? p : "\\0", x); \
# ~~ ^~~~~
# xmlfast.c:358:8: warning: format specifies type 'int' but the argument has type 'long' [-Wformat]
# xml_error("Malformed document after
# ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ./xmlfast.h:99:50: note: expanded from macro 'xml_error'
# fprintf(stderr,"Error at char %d (%1s): %s\n", p-xml, *p ? p : "\\0", x); \
# ~~ ^~~~~
# xmlfast.c:369:20: warning: format specifies type 'int' but the argument has type 'long' [-Wformat]
# case 0 : xml_error("Processing instruction not terminated");
# ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ./xmlfast.h:99:50: note: expanded from macro 'xml_error'
# fprintf(stderr,"Error at char %d (%1s): %s\n", p-xml, *p ? p : "\\0", x); \
# ~~ ^~~~~
# xmlfast.c:376:17: warning: format specifies type 'int' but the argument has type 'long' [-Wformat]
# } else xml_error("Bad processing instruction");
# ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ./xmlfast.h:99:50: note: expanded from macro 'xml_error'
# fprintf(stderr,"Error at char %d (%1s): %s\n", p-xml, *p ? p : "\\0", x); \
# ~~ ^~~~~
# xmlfast.c:383:17: warning: format specifies type 'int' but the argument has type 'long' [-Wformat]
# } else xml_error("Processing instruction not terminated");
# ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ./xmlfast.h:99:50: note: expanded from macro 'xml_error'
# fprintf(stderr,"Error at char %d (%1s): %s\n", p-xml, *p ? p : "\\0", x); \
# ~~ ^~~~~
# xmlfast.c:391:9: warning: format specifies type 'int' but the argument has type 'long' [-Wformat]
# xml_error("Error parsing PI attributes");
# ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ./xmlfast.h:99:50: note: expanded from macro 'xml_error'
# fprintf(stderr,"Error at char %d (%1s): %s\n", p-xml, *p ? p : "\\0", x); \
# ~~ ^~~~~
# xmlfast.c:401:15: warning: format specifies type 'int' but the argument has type 'long' [-Wformat]
# } else xml_error("Processing instruction not terminated");
# ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ./xmlfast.h:99:50: note: expanded from macro 'xml_error'
# fprintf(stderr,"Error at char %d (%1s): %s\n", p-xml, *p ? p : "\\0", x); \
# ~~ ^~~~~
# xmlfast.c:404:8: warning: format specifies type 'int' but the argument has type 'long' [-Wformat]
# xml_error("Internal error: Bad state after processing instruction");
# ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ./xmlfast.h:99:50: note: expanded from macro 'xml_error'
# fprintf(stderr,"Error at char %d (%1s): %s\n", p-xml, *p ? p : "\\0", x); \
# ~~ ^~~~~
# xmlfast.c:419:23: warning: format specifies type 'int' but the argument has type 'long' [-Wformat]
# if (len == 0 ) xml_error("Empty close tag name");
# ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ./xmlfast.h:99:50: note: expanded from macro 'xml_error'
# fprintf(stderr,"Error at char %d (%1s): %s\n", p-xml, *p ? p : "\\0", x); \
# ~~ ^~~~~
# xmlfast.c:478:14: warning: format specifies type 'int' but the argument has type 'long' [-Wformat]
# } else xml_error("Close tag not terminated");
# ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ./xmlfast.h:99:50: note: expanded from macro 'xml_error'
# fprintf(stderr,"Error at char %d (%1s): %s\n", p-xml, *p ? p : "\\0", x); \
# ~~ ^~~~~
# xmlfast.c:489:20: warning: format specifies type 'int' but the argument has type 'long' [-Wformat]
# case 0: xml_error("Unterminated node");
# ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ./xmlfast.h:99:50: note: expanded from macro 'xml_error'
# fprintf(stderr,"Error at char %d (%1s): %s\n", p-xml, *p ? p : "\\0", x); \
# ~~ ^~~~~
# xmlfast.c:494:20: warning: format specifies type 'int' but the argument has type 'long' [-Wformat]
# } else xml_error("Bad node open");
# ^~~~~~~~~~~~~~~~~~~~~~~~~~
# ./xmlfast.h:99:50: note: expanded from macro 'xml_error'
# fprintf(stderr,"Error at char %d (%1s): %s\n", p-xml, *p ? p : "\\0", x); \
# ~~ ^~~~~
# xmlfast.c:500:20: warning: format specifies type 'int' but the argument has type 'long' [-Wformat]
# } else xml_error("Bad node open");
# ^~~~~~~~~~~~~~~~~~~~~~~~~~
# ./xmlfast.h:99:50: note: expanded from macro 'xml_error'
# fprintf(stderr,"Error at char %d (%1s): %s\n", p-xml, *p ? p : "\\0", x); \
# ~~ ^~~~~
# xmlfast.c:523:21: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
# if (search = parse_attrs(p,context)) {
# ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
# xmlfast.c:523:21: note: place parentheses around the assignment to silence this warning
# if (search = parse_attrs(p,context)) {
# ^
# ( )
# xmlfast.c:523:21: note: use '==' to turn this assignment into an equality comparison
# if (search = parse_attrs(p,context)) {
# ^
# ==
# xmlfast.c:526:17: warning: format specifies type 'int' but the argument has type 'long' [-Wformat]
# } else xml_error("Error parsing node attributes");
# ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ./xmlfast.h:99:50: note: expanded from macro 'xml_error'
# fprintf(stderr,"Error at char %d (%1s): %s\n", p-xml, *p ? p : "\\0", x); \
# ~~ ^~~~~
# xmlfast.c:530:23: warning: format specifies type 'int' but the argument has type 'long' [-Wformat]
# case 0 : xml_error("Unterminated node");
# ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ./xmlfast.h:99:50: note: expanded from macro 'xml_error'
# fprintf(stderr,"Error at char %d (%1s): %s\n", p-xml, *p ? p : "\\0", x); \
# ~~ ^~~~~
# xmlfast.c:542:13: warning: format specifies type 'int' but the argument has type 'long' [-Wformat]
# xml_error("Bad char at the end of tag");
# ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ./xmlfast.h:99:50: note: expanded from macro 'xml_error'
# fprintf(stderr,"Error at char %d (%1s): %s\n", p-xml, *p ? p : "\\0", x); \
# ~~ ^~~~~
# xmlfast.c:590:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
# if( p = parse_entity(context,p) ) {
# ~~^~~~~~~~~~~~~~~~~~~~~~~~~
# xmlfast.c:590:15: note: place parentheses around the assignment to silence this warning
# if( p = parse_entity(context,p) ) {
# ^
# ( )
# xmlfast.c:590:15: note: use '==' to turn this assignment into an equality comparison
# if( p = parse_entity(context,p) ) {
# ^
# ==
# cc -c -I. -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -DVERSION=\"0.11\" -DXS_VERSION=\"0.11\" -fPIC "-I/usr/lib/perl5/core_perl/CORE" Fast.c
# 29 warnings generated.
# In file included from Fast.xs:11:
# In file included from ./xmlfast.h:8:
# ./entities.h:11:53: warning: initializing 'unsigned char *' with an expression of type 'char [2]' converts between pointers to integer types with different sign [-Wpointer-sign]
# static entityref_t _e_001[1] = { { 'p', "&", 1, 0, NULL } };
# ^~~
# ./entities.h:12:57: warning: initializing 'unsigned char *' with an expression of type 'char [2]' converts between pointers to integer types with different sign [-Wpointer-sign]
# static entityref_t _e_002[1] = { { 's', "'", 1, 0, NULL } };
# ^~~
# ./entities.h:15:49: warning: initializing 'unsigned char *' with an expression of type 'char [2]' converts between pointers to integer types with different sign [-Wpointer-sign]
# static entityref_t _e_005[1] = { { 't', ">", 1, 0, NULL } };
# ^~~
# ./entities.h:16:49: warning: initializing 'unsigned char *' with an expression of type 'char [2]' converts between pointers to integer types with different sign [-Wpointer-sign]
# static entityref_t _e_006[1] = { { 't', "<", 1, 0, NULL } };
# ^~~
# ./entities.h:17:57: warning: initializing 'unsigned char *' with an expression of type 'char [2]' converts between pointers to integer types with different sign [-Wpointer-sign]
# static entityref_t _e_007[1] = { { 't', "\"", 1, 0, NULL } };
# ^~~~
# Fast.xs:291:2: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
# hv_store_a(ctx->hcurrent, ctx->comm, sv );
# ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Fast.xs:88:14: note: expanded from macro 'hv_store_a'
# if( exists = hv_fetch(hv, kv, kl, 0) ) { \
# ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
# Fast.xs:291:2: note: place parentheses around the assignment to silence this warning
# Fast.xs:88:14: note: expanded from macro 'hv_store_a'
# if( exists = hv_fetch(hv, kv, kl, 0) ) { \
# ^
# Fast.xs:291:2: note: use '==' to turn this assignment into an equality comparison
# Fast.xs:88:14: note: expanded from macro 'hv_store_a'
# if( exists = hv_fetch(hv, kv, kl, 0) ) { \
# ^
# Fast.xs:331:22: warning: passing 'char [14]' to parameter of type 'U8 *' (aka 'unsigned char *') converts between pointers to integer types with different sign [-Wpointer-sign]
# end = uvchr_to_utf8(utf, chr);
# ^~~
# /usr/lib/perl5/core_perl/CORE/utf8.h:62:57: note: expanded from macro 'uvchr_to_utf8'
# #define uvchr_to_utf8(a,b) uvchr_to_utf8_flags(a,b,0)
# ^
# /usr/lib/perl5/core_perl/CORE/utf8.h:64:52: note: expanded from macro 'uvchr_to_utf8_flags'
# uvoffuni_to_utf8_flags(d,NATIVE_TO_UNI(uv),flags)
# ^
# /usr/lib/perl5/core_perl/CORE/embed.h:726:73: note: expanded from macro 'uvoffuni_to_utf8_flags'
# #define uvoffuni_to_utf8_flags(a,b,c) Perl_uvoffuni_to_utf8_flags(aTHX_ a,b,c)
# ^
# /usr/lib/perl5/core_perl/CORE/proto.h:3421:57: note: passing argument to parameter 'd' here
# PERL_CALLCONV U8* Perl_uvoffuni_to_utf8_flags(pTHX_ U8 *d, UV uv, UV flags);
# ^
# Fast.xs:331:6: warning: assigning to 'char *' from 'U8 *' (aka 'unsigned char *') converts between pointers to integer types with different sign [-Wpointer-sign]
# end = uvchr_to_utf8(utf, chr);
# ^ ~~~~~~~~~~~~~~~~~~~~~~~
# Fast.xs:378:23: warning: passing 'char *' to parameter of type 'U8 *' (aka 'unsigned char *') converts between pointers to integer types with different sign [-Wpointer-sign]
# end = uvchr_to_utf8(start, chr);*end = '\0';
# ^~~~~
# /usr/lib/perl5/core_perl/CORE/utf8.h:62:57: note: expanded from macro 'uvchr_to_utf8'
# #define uvchr_to_utf8(a,b) uvchr_to_utf8_flags(a,b,0)
# ^
# /usr/lib/perl5/core_perl/CORE/utf8.h:64:52: note: expanded from macro 'uvchr_to_utf8_flags'
# uvoffuni_to_utf8_flags(d,NATIVE_TO_UNI(uv),flags)
# ^
# /usr/lib/perl5/core_perl/CORE/embed.h:726:73: note: expanded from macro 'uvoffuni_to_utf8_flags'
# #define uvoffuni_to_utf8_flags(a,b,c) Perl_uvoffuni_to_utf8_flags(aTHX_ a,b,c)
# ^
# /usr/lib/perl5/core_perl/CORE/proto.h:3421:57: note: passing argument to parameter 'd' here
# PERL_CALLCONV U8* Perl_uvoffuni_to_utf8_flags(pTHX_ U8 *d, UV uv, UV flags);
# ^
# Fast.xs:378:7: warning: assigning to 'char *' from 'U8 *' (aka 'unsigned char *') converts between pointers to integer types with different sign [-Wpointer-sign]
# end = uvchr_to_utf8(start, chr);*end = '\0';
# ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
# Fast.xs:420:4: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
# hv_store_a(ctx->hcurrent, ctx->attrname, ctx->textval);
# ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Fast.xs:88:14: note: expanded from macro 'hv_store_a'
# if( exists = hv_fetch(hv, kv, kl, 0) ) { \
# ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
# Fast.xs:420:4: note: place parentheses around the assignment to silence this warning
# Fast.xs:88:14: note: expanded from macro 'hv_store_a'
# if( exists = hv_fetch(hv, kv, kl, 0) ) { \
# ^
# Fast.xs:420:4: note: use '==' to turn this assignment into an equality comparison
# Fast.xs:88:14: note: expanded from macro 'hv_store_a'
# if( exists = hv_fetch(hv, kv, kl, 0) ) { \
# ^
# Fast.xs:427:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
# hv_store_a(ctx->hcurrent, ctx->text, ctx->textval);
# ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Fast.xs:88:14: note: expanded from macro 'hv_store_a'
# if( exists = hv_fetch(hv, kv, kl, 0) ) { \
# ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
# Fast.xs:427:3: note: place parentheses around the assignment to silence this warning
# Fast.xs:88:14: note: expanded from macro 'hv_store_a'
# if( exists = hv_fetch(hv, kv, kl, 0) ) { \
# ^
# Fast.xs:427:3: note: use '==' to turn this assignment into an equality comparison
# Fast.xs:88:14: note: expanded from macro 'hv_store_a'
# if( exists = hv_fetch(hv, kv, kl, 0) ) { \
# ^
# Fast.xs:462:4: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
# hv_store_a(ctx->hcurrent, ctx->attrname, ctx->textval);
# ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Fast.xs:88:14: note: expanded from macro 'hv_store_a'
# if( exists = hv_fetch(hv, kv, kl, 0) ) { \
# ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
# Fast.xs:462:4: note: place parentheses around the assignment to silence this warning
# Fast.xs:88:14: note: expanded from macro 'hv_store_a'
# if( exists = hv_fetch(hv, kv, kl, 0) ) { \
# ^
# Fast.xs:462:4: note: use '==' to turn this assignment into an equality comparison
# Fast.xs:88:14: note: expanded from macro 'hv_store_a'
# if( exists = hv_fetch(hv, kv, kl, 0) ) { \
# ^
# Fast.xs:470:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
# hv_store_a(ctx->hcurrent, ctx->text, ctx->textval);
# ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Fast.xs:88:14: note: expanded from macro 'hv_store_a'
# if( exists = hv_fetch(hv, kv, kl, 0) ) { \
# ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
# Fast.xs:470:3: note: place parentheses around the assignment to silence this warning
# Fast.xs:88:14: note: expanded from macro 'hv_store_a'
# if( exists = hv_fetch(hv, kv, kl, 0) ) { \
# ^
# Fast.xs:470:3: note: use '==' to turn this assignment into an equality comparison
# Fast.xs:88:14: note: expanded from macro 'hv_store_a'
# if( exists = hv_fetch(hv, kv, kl, 0) ) { \
# ^
# Fast.xs:483:2: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
# hv_store_a(ctx->hcurrent, ctx->cdata, sv );
# ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Fast.xs:88:14: note: expanded from macro 'hv_store_a'
# if( exists = hv_fetch(hv, kv, kl, 0) ) { \
# ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
# Fast.xs:483:2: note: place parentheses around the assignment to silence this warning
# Fast.xs:88:14: note: expanded from macro 'hv_store_a'
# if( exists = hv_fetch(hv, kv, kl, 0) ) { \
# ^
# Fast.xs:483:2: note: use '==' to turn this assignment into an equality comparison
# Fast.xs:88:14: note: expanded from macro 'hv_store_a'
# if( exists = hv_fetch(hv, kv, kl, 0) ) { \
# ^
# Fast.xs:510:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
# hv_store_a(ctx->hcurrent, ctx->text, ctx->textval);
# ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Fast.xs:88:14: note: expanded from macro 'hv_store_a'
# if( exists = hv_fetch(hv, kv, kl, 0) ) { \
# ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
# Fast.xs:510:3: note: place parentheses around the assignment to silence this warning
# Fast.xs:88:14: note: expanded from macro 'hv_store_a'
# if( exists = hv_fetch(hv, kv, kl, 0) ) { \
# ^
# Fast.xs:510:3: note: use '==' to turn this assignment into an equality comparison
# Fast.xs:88:14: note: expanded from macro 'hv_store_a'
# if( exists = hv_fetch(hv, kv, kl, 0) ) { \
# ^
# Fast.xs:566:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
# hv_store_a(ctx->hcurrent, ctx->text, ctx->textval);
# ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Fast.xs:88:14: note: expanded from macro 'hv_store_a'
# if( exists = hv_fetch(hv, kv, kl, 0) ) { \
# ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
# Fast.xs:566:3: note: place parentheses around the assignment to silence this warning
# Fast.xs:88:14: note: expanded from macro 'hv_store_a'
# if( exists = hv_fetch(hv, kv, kl, 0) ) { \
# ^
# Fast.xs:566:3: note: use '==' to turn this assignment into an equality comparison
# Fast.xs:88:14: note: expanded from macro 'hv_store_a'
# if( exists = hv_fetch(hv, kv, kl, 0) ) { \
# ^
# Fast.xs:678:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
# hv_store_a(ctx->hcurrent, tag, sv);
# ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Fast.xs:88:14: note: expanded from macro 'hv_store_a'
# if( exists = hv_fetch(hv, kv, kl, 0) ) { \
# ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
# Fast.xs:678:5: note: place parentheses around the assignment to silence this warning
# Fast.xs:88:14: note: expanded from macro 'hv_store_a'
# if( exists = hv_fetch(hv, kv, kl, 0) ) { \
# ^
# Fast.xs:678:5: note: use '==' to turn this assignment into an equality comparison
# Fast.xs:88:14: note: expanded from macro 'hv_store_a'
# if( exists = hv_fetch(hv, kv, kl, 0) ) { \
# ^
# Fast.xs:697:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
# hv_store_a(ctx->hcurrent, tag, svtext);
# ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Fast.xs:88:14: note: expanded from macro 'hv_store_a'
# if( exists = hv_fetch(hv, kv, kl, 0) ) { \
# ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
# Fast.xs:697:5: note: place parentheses around the assignment to silence this warning
# Fast.xs:88:14: note: expanded from macro 'hv_store_a'
# if( exists = hv_fetch(hv, kv, kl, 0) ) { \
# ^
# Fast.xs:697:5: note: use '==' to turn this assignment into an equality comparison
# Fast.xs:88:14: note: expanded from macro 'hv_store_a'
# if( exists = hv_fetch(hv, kv, kl, 0) ) { \
# ^
# Fast.xs:713:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
# hv_store_a(ctx->hcurrent, tag, sv);
# ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Fast.xs:88:14: note: expanded from macro 'hv_store_a'
# if( exists = hv_fetch(hv, kv, kl, 0) ) { \
# ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
# Fast.xs:713:5: note: place parentheses around the assignment to silence this warning
# Fast.xs:88:14: note: expanded from macro 'hv_store_a'
# if( exists = hv_fetch(hv, kv, kl, 0) ) { \
# ^
# Fast.xs:713:5: note: use '==' to turn this assignment into an equality comparison
# Fast.xs:88:14: note: expanded from macro 'hv_store_a'
# if( exists = hv_fetch(hv, kv, kl, 0) ) { \
# ^
# Fast.xs:808:23: warning: passing 'char [14]' to parameter of type 'U8 *' (aka 'unsigned char *') converts between pointers to integer types with different sign [-Wpointer-sign]
# end = uvchr_to_utf8(utf, chr);
# ^~~
# /usr/lib/perl5/core_perl/CORE/utf8.h:62:57: note: expanded from macro 'uvchr_to_utf8'
# #define uvchr_to_utf8(a,b) uvchr_to_utf8_flags(a,b,0)
# ^
# /usr/lib/perl5/core_perl/CORE/utf8.h:64:52: note: expanded from macro 'uvchr_to_utf8_flags'
# uvoffuni_to_utf8_flags(d,NATIVE_TO_UNI(uv),flags)
# ^
# /usr/lib/perl5/core_perl/CORE/embed.h:726:73: note: expanded from macro 'uvoffuni_to_utf8_flags'
# #define uvoffuni_to_utf8_flags(a,b,c) Perl_uvoffuni_to_utf8_flags(aTHX_ a,b,c)
# ^
# /usr/lib/perl5/core_perl/CORE/proto.h:3421:57: note: passing argument to parameter 'd' here
# PERL_CALLCONV U8* Perl_uvoffuni_to_utf8_flags(pTHX_ U8 *d, UV uv, UV flags);
# ^
# Fast.xs:808:7: warning: assigning to 'char *' from 'U8 *' (aka 'unsigned char *') converts between pointers to integer types with different sign [-Wpointer-sign]
# end = uvchr_to_utf8(utf, chr);
# ^ ~~~~~~~~~~~~~~~~~~~~~~~
# 22 warnings generated.
# rm -f blib/arch/auto/XML/Fast/Fast.so
# cc -shared -Wl,-O1,--sort-common,--as-needed,-z,relro -L/usr/local/lib -fstack-protector-strong Fast.o xmlfast.o -o blib/arch/auto/XML/Fast/Fast.so \
# \
#
# chmod 755 blib/arch/auto/XML/Fast/Fast.so
# "/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Fast.bs blib/arch/auto/XML/Fast/Fast.bs 644
# Manifying 1 pod document
# ==> Entering fakeroot environment...
# ==> Starting package()...
# Running Mkbootstrap for XML::Fast ()
# chmod 644 "Fast.bs"
# Manifying 1 pod document
# Appending installation info to /tmp/perl-xml-fast/pkg/perl-xml-fast/usr/lib/perl5/core_perl/perllocal.pod
# Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
# Installing /tmp/perl-xml-fast/pkg/perl-xml-fast/usr/lib/perl5/vendor_perl/auto/XML/Fast/Fast.so
# Installing /tmp/perl-xml-fast/pkg/perl-xml-fast/usr/lib/perl5/vendor_perl/XML/Fast.pm
# Installing /tmp/perl-xml-fast/pkg/perl-xml-fast/usr/share/man/man3/XML::Fast.3pm
# ==> Tidying install...
# -> Removing doc files...
# -> Removing empty directories...
# -> Purging unwanted files...
# ==> Checking for packaging issue...
# ==> Creating package "perl-xml-fast"...
# -> Generating .PKGINFO file...
# -> Generating .BUILDINFO file...
# error: invalid option '--noprogressbar'
# -> Generating .MTREE file...
# -> Compressing package...
# ==> Leaving fakeroot environment.
# ==> Finished making: perl-xml-fast 0.11-7 (Tue Apr 4 23:53:06 UTC 2017)

CMD: pacman --query --file perl-xml-fast-0.11-7-x86_64.pkg.tar.xz
# perl-xml-fast 0.11-7

Creating hybrid package for 'perl-xml-fast'

Trying to find vanilla package 'perl-xml-fast'...

CMD: pacman --query --file /mirror/perl-xml-fast-0.11-7.pkg.tar.xz
# perl-xml-fast 0.11-7

Package file has the following structure:
# /.PKGINFO
# /.BUILDINFO
# /.MTREE
# /usr/share/man/man3/XML::Fast.3pm.gz
# /usr/lib/perl5/vendor_perl/auto/XML/Fast/Fast.so
# /usr/lib/perl5/vendor_perl/XML/Fast.pm
# /sysroot/usr/lib/perl5/vendor_perl/XML/Fast.pm
# /sysroot/usr/lib/perl5/vendor_perl/auto/XML/Fast/Fast.so

Generating .MTREE

CMD: bsdtar -czf .MTREE --format=mtree --options=!all,use-set,type,uid,mode,time,size,md5,sha256,link .PKGINFO .BUILDINFO usr sysroot

Tar-ing up files

CMD: bsdtar -cf - .PKGINFO .BUILDINFO usr sysroot .MTREE

CMD: xz -c -z

Successfully ran bsdtar -cf - .PKGINFO .BUILDINFO usr sysroot .MTREE | xz -c -z

CMD: bsdtar -tqf perl-xml-fast.pkg.tar.xz .PKGINFO
# .PKGINFO

Created package at path /var/cache/pacman/pkg/perl-xml-fast.pkg.tar.xz

Attempting to access local repository, attempt 1

CMD: repo-add /var/cache/pacman/pkg/tuscan.db.tar /var/cache/pacman/pkg/perl-xml-fast.pkg.tar.xz
# ==> ERROR: Failed to acquire lockfile: /var/cache/pacman/pkg/tuscan.db.tar.lck.
# ==> ERROR: Held by process 1217

Attempting to access local repository, attempt 2

CMD: repo-add /var/cache/pacman/pkg/tuscan.db.tar /var/cache/pacman/pkg/perl-xml-fast.pkg.tar.xz
# ==> Extracting database to a temporary location...
# ==> Extracting database to a temporary location...
# ==> Adding package '/var/cache/pacman/pkg/perl-xml-fast.pkg.tar.xz'
# -> Computing checksums...
# -> Creating 'desc' db entry...
# -> Creating 'files' db entry...
# ==> Creating updated database file '/var/cache/pacman/pkg/tuscan.db.tar'