« Ants and Docs | Main | CVS Adm Web App Prototype »

Porting Perl -> LOS178

  • Started implementing a CVS Checkout/Update in CVSAdm
  • Jas asked me to look into porting Perl -> LOS178 3.0.0

Porting Perl -> LOS178 3.0.0

I was asked to attempt to port Perl (latest version - 5.8.7) to LOS178 (latest version - 3.0.0 20050719). Here's what I attempted:

  • Downloaded perl-5.8.7 from perl.com (http://www.perl.com/download.csp#stable)
  • Extracted to europa:/build/perl-5.8.7
  • Extracted from 20050719:
    • 3000-04.los178_rsc_src.tar.gz
    • 3001-05.los178_src.tar.gz
    • 3013-05.los178_dev.tar.gz
    • 3015-04.los178_rsc_dev.tar.gz
    to /build/3.0.0/los178
  • Extracted ppc.cdklinux.tar.gz from bin-image (DEV_LOS178_3p0p0_ppc_20050719)
  • Sourced SETUP.bash

Next I went to /build/perl-5.8.7 and ran Configure. I was supprised to see that it had a selection for lynxos! Unfortunately this is not the way to go.

Spoke with Ed Mooring, who happens to be a Perl porter and who had previously ported Perl 5.6 to LynxOS 4.0. He suggested I attempt to run Configure natively on a LynxOS 4.0 machine to get config.sh to be generated. I could then use that in conjunction with reading about the Perl Patch Pumpkin (Apparently a guide about patching and porting) in an attempt to figure out what needs to be done to that config.sh to get a cross build to LOS178 3.0.0. (Note that I used a LynxOS 5.0 machine not a LynxOS 4.0 machine)

After going through the long Configure process and hopefully answering questions properly Ed said I should attempt a native build anyway. Build failed with:

    `sh  cflags "optimize='-O'" mg.o`  mg.c
              CCCMD =  gcc -DPERL_CORE -c -DEXTRA_F_IN_SEMUN_BUF -D__NO_INCLUDE_WARN__ -fno-strict-aliasing -pipe -I/usr/local/include -O  -Wall
    mg.c:74: conflicting types for `setegid'
    /usr/include/unistd.h:410: previous declaration of `setegid'
    /usr/include/netinet/in.h:512: warning: `ntohs' declared `static' but never defined
    /usr/include/netinet/in.h:514: warning: `ntohl' declared `static' but never defined
    make: *** [mg.o] Error 1