EnglishFrenchSpanish

OnWorks favicon

perl-cross-staging - Online in the Cloud

Run perl-cross-staging in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command perl-cross-staging that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

NAME


perl-cross-staging - Long term maintenance of cross-build support for the Debian
configuration of perl

SYNOPSIS


perl-cross-staging

perl-cross-staging takes no commands or options.

DESCRIPTION


perl-cross-staging supports the long term maintenance of cross-build support for the
Debian configuration of perl.

perl-cross-staging assists in the producuction of config files from the current perl build
tree to update existing perl-cross-debian support by staging native builds of perl patched
to support perl-cross-staging.

Config files generated by perl-cross-staging need substantial manual editing and updating
before being usable for a cross-build or inclusion into perl-cross-debian.

UPDATING CROSS CONFIG FILES


Each new version of perl introduces and rearranges the existing config values and the
config.h and config.sh files for each variant need to be updated.

Some sections simply need to be moved around within the file for easier comparison, some
sections will be new (and may need adjustment if the new values are
architecture-sensitive) and some may need to be removed. Some values include the version
string of the perl version being built. Some values include the name of the compiler or
preprocessor. There are values which specify the original build directory and these need
to be replaced with PERL_BUILD_DIR:

installarchlib='PERL_BUILD_DIR/debian/tmp/usr/lib/perl/5.16'

Missing values will be easiest to spot as these cause the build to fail with invalid
preprocessing directives.

config.h:2229:3: error: invalid preprocessing directive #HAS_STATIC_INLINE
config.h:2766:3: error: invalid preprocessing directive #HAS_SOCKADDR_SA_LEN
config.h:2773:3: error: invalid preprocessing directive #HAS_SIN6_SCOPE_ID
config.h:3614:3: error: invalid preprocessing directive #HAS_PRCTL
config.h:3615:3: error: invalid preprocessing directive #HAS_PRCTL_SET_NAME

Probably the biggest problem is reorganisation of the files which arises because the files
are all generated, rather than edited. This can easily lead to sections being added in one
place of the file and being repeated (with differing values) elsewhere. Use a comparison
tool like meld to push snippets in and out of the staged files with usable previous/next
search/find regexp support.

Once one of the variant files has been updated, merge the changes into the other staged
variants before comparing those with the files from the previous version of perl.

Old perl version strings also need to be updated.

ARCHITECTURE


Typically, perl-cross-staging is run for the native architecture on the expectation that
most of the updates to the staged files will include changes for the cross architecture.
e.g. updates for 5.16.2 were prepared by staging amd64 and porting the updates into the
cross architecture files for 5.14.2.

perl-cross-staging does support attempting to stage a cross build but this has not been
tested. Please report success or failure.

UPSTREAM SUPPORT


Note that work is ongoing to get perl cross-building upstream and this is not complete.
perl-cross-staging will need changes once this work is complete. The aim is to make it
easier to obtain the configuration value cache for architectures where real hardware or an
emulation model can be accessed over a network. This work takes place at
https://github.com/codehelp/perl/tree/jrobinson/configure-for-cross which is
intermittently pulled into the main cross-configure branch at
https://github.com/castaway/perl/tree/jrobinson/configure-for-cross

Use perl-cross-staging online using onworks.net services


Free Servers & Workstations

Download Windows & Linux apps

  • 1
    Alt-F
    Alt-F
    Alt-F provides a free and open source
    alternative firmware for the DLINK
    DNS-320/320L/321/323/325/327L and
    DNR-322L. Alt-F has Samba and NFS;
    supports ext2/3/4...
    Download Alt-F
  • 2
    usm
    usm
    Usm is a unified slackware package
    manager that handles automatic
    dependency resolution. It unifies
    various package repositories including
    slackware, slacky, p...
    Download usm
  • 3
    Chart.js
    Chart.js
    Chart.js is a Javascript library that
    allows designers and developers to draw
    all kinds of charts using the HTML5
    canvas element. Chart js offers a great
    array ...
    Download Chart.js
  • 4
    iReport-Designer for JasperReports
    iReport-Designer for JasperReports
    NOTE: iReport/Jaspersoft Studio Support
    Announcement: As of version 5.5.0,
    Jaspersoft Studio will be the official
    design client for JasperReports. iReport
    will...
    Download iReport-Designer for JasperReports
  • 5
    PostInstallerF
    PostInstallerF
    PostInstallerF will install all the
    software that Fedora Linux and others
    doesn't include by default, after
    running Fedora for the first time. Its
    easy for...
    Download PostInstallerF
  • 6
    strace
    strace
    The strace project has been moved to
    https://strace.io. strace is a
    diagnostic, debugging and instructional
    userspace tracer for Linux. It is used
    to monitor a...
    Download strace
  • More »

Linux commands

Ad