Ticket #1504 (closed bug: fixed)
config/auto/arch.pm: Uninitialized value warning on Darwin due to change in order of configuration steps
Description
When I configure on my Darwin/PPC, I get this warning:
auto::arch - Determine CPU architecture and OS... .... Use of uninitialized value in pattern match (m//) at config/auto/arch.pm line 63. ...............done.
In config/auto/arch.pm we have this code (r44573) inside the runstep method (some lines rebroken for readability in Trac):
# On OS X if you are using the Perl that shipped # with the system the above split fails because # archname is "darwin-thread-multi-2level". if ( $cpuarch =~ /darwin/ ) { $osname = 'darwin'; if ( $conf->data->get('byteorder') =~ /^1234/ ) { # <--LINE 63 $cpuarch = 'i386'; } else { $cpuarch = 'ppc'; } }
We are getting an uninitialized value for $conf->data->get('byteorder') because config step auto::arch, as part of the merge-in of the rm_cflags branch, was moved to precede config step auto::byteorder rather than following it as was always previously the case.
I don't yet know the full impact of this bug. At the moment, I am trying to build Parrot on Darwin for the first time since that branch merge. But that's on PPC; from the above code, I suspect that $cpuarch will be set to PPC whether that's the case or not.
Suggestions?
Thank you very much.
kid51