Skip Menu |

This queue is for tickets about the SOAP-Lite CPAN distribution.

Report information
The Basics
Id: 104151
Status: new
Priority: 0/
Queue: SOAP-Lite

People
Owner: Nobody in particular
Requestors: bluefeet [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: Load-order issue with SOAP::Constants
Date: Fri, 01 May 2015 17:51:42 +0000
To: "bug-SOAP-Lite [...] rt.cpan.org" <bug-SOAP-Lite [...] rt.cpan.org>
From: Aran Deltac <bluefeet [...] gmail.com>
This fails: perl -e 'use SOAP::Constants' Use of uninitialized value $SOAP::Constants::WRONG_VERSION in concatenation (.) or string at /usr/local/share/perl/5.14.2/SOAP/Lite.pm line 3531. This passes: perl -e 'use SOAP::Lite; use SOAP::Constants' There is a load-order issue somewhere in here. I found this because @work we preload modules alphabetically before forking processes and SOAP::Constants comes before SOAP::Lite alphabetically. Often the cause of load order issues is a simple circular dependency where module A depends on module B and module B depends on module A (A <-> B). A common fix would be to break out the dependent functionality into separate modules so that you have: A -> C <- B Where C is a new module that contians code from A and B which breaks the circular dependency. That doesn't always fix it logically, but some derivative of that pattern works in most cases.