AIX Open Source

 View Only
  • 1.  Perl 5.38.2 build from SRPM fails

    Posted 16 days ago

    Hi folks, 

    faced a strange bunch of errors during the make make depend phase of a perl 5.38.2 build (based on SRPM download from toolbox). Lpar is running AIX 7.2 with gcc10. So far I tried to reinstall gcc10 packages - but no success.  rpmbuild runs fine until the make depend phase :

    > rpmbuild -bb perl-5.38.2-1.spec

    <snip> .. too long to post 

    Extracting cflags (with variable substitutions)
    Not re-extracting config.h
    Extracting makedepend (with variable substitutions)
    Extracting makedepend_file (with variable substitutions)
    Extracting Makefile (with variable substitutions)
    Extracting myconfig (with variable substitutions)
    Extracting Policy.sh (with variable substitutions)
    Extracting runtests (with variable substitutions)
    Extracting pod/Makefile (with variable substitutions)
    Run make depend now? [y]
    gcc-10 -maix32 -c -DPERL_CORE -D_THREAD_SAFE -O2 -maix32 -D_LARGE_FILES -Wunused-function -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 -I/usr/local/include -D_LARGE_FILES -D_FORTIFY_SOURCE=2 -O -Wall generate_uudmap.c
    In file included from /usr/include/sys/resource.h:57,
                     from /opt/freeware/lib/gcc/powerpc-ibm-aix7.2.0.0/10/include-fixed/sys/wait.h:56,
                     from /opt/freeware/lib/gcc/powerpc-ibm-aix7.2.0.0/10/include-fixed/stdlib.h:396,
                     from generate_uudmap.c:38:
    /usr/include/sys/time.h:476:9: error: unknown type name 'suseconds_t'
      476 |         suseconds_t tv_nsec;
          |         ^~~~~~~~~~~
    In file included from /opt/freeware/lib/gcc/powerpc-ibm-aix7.2.0.0/10/include-fixed/sys/wait.h:59,
                     from /opt/freeware/lib/gcc/powerpc-ibm-aix7.2.0.0/10/include-fixed/stdlib.h:396,
                     from generate_uudmap.c:38:
    /opt/freeware/lib/gcc/powerpc-ibm-aix7.2.0.0/10/include-fixed/sys/signal.h:1019:39: error: unknown type name '/'; did you mean 'signal_t'?
     1019 |         void    (*sv_sigaction) (int, siginfo_t *, void *);
          |                                       ^~~~~~~~~
          |                                       signal_t
    make: *** [Makefile:255: generate_uudmap.o] Error 1

    Looking at the signal.h file in the in the include_fixed directory the definition of the siginfo_t structure is enclosed in a conditional ( #if _XOPEN_SOURCE_EXTENDED==1 ) that seems not to be set .. 

    Seting the _XOPEN_SOURCE_EXTENDED variable to 1 caused the makedepend to run successfully .. but lost of fails during the make phase (so maybe not the best option).

    Not really sure what the root cause is or what to try next ... so any ideas are welcome :-) 

    Thanks a lot, 

    Volker 



    ------------------------------
    Volker Demand
    ------------------------------


  • 2.  RE: Perl 5.38.2 build from SRPM fails

    Posted 15 days ago

    _ALL_SOURCE will usually set _XOPEN_SOURCE_EXTENDED. This is done in the /usr/include/standards.h file. Probably you can create the preprocessing file for the failing compilation command (by adding -E) and debug further. 



    ------------------------------
    Ayappan P
    ------------------------------