To be more specific, here's the exact error message:
--------------------------------------------------------------------------------------------------------
PHP Fatal error: Cannot redeclare echoln() (previously declared in thirdparty/zend_translate_railsyaml/library/Translate/Adapter/thirdparty/sfYaml/lib/sfYaml.php:132) in /websites/silverstripe-dev3/framework/thirdparty/zend_translate_railsyaml/library/Translate/Adapter/thirdparty/sfYaml/lib/sfYaml.php on line 135
PHP Stack trace:
PHP 1. {main}() /websites/silverstripe-dev3/framework/cli-script.php:0
PHP 2. require_once() /websites/silverstripe-dev3/framework/cli-script.php:64
PHP 3. Config->pushConfigYamlManifest() /websites/silverstripe-dev3/framework/core/Core.php:118
PHP 4. SS_ConfigManifest->activateConfig() /websites/silverstripe-dev3/framework/core/Config.php:315
PHP 5. require_once() /websites/silverstripe-dev3/framework/core/manifest/ConfigManifest.php:141
PHP 6. SS_ClassLoader->loadClass() /websites/silverstripe-dev3/framework/core/manifest/ConfigManifest.php:0
PHP 7. require_once() /websites/silverstripe-dev3/framework/core/manifest/ClassLoader.php:77
PHP 8. require_once() /websites/silverstripe-dev3/framework/i18n/i18n.php:3
PHP 9. require_once() /websites/silverstripe-dev3/framework/i18n/i18nRailsYamlAdapter.php:3
PHP 10. require_once() /websites/silverstripe-dev3/framework/thirdparty/zend_translate_railsyaml/library/Translate/Adapter/RailsYAML.php:12
PHP 11. require_once() /websites/silverstripe-dev3/framework/thirdparty/zend_translate_railsyaml/library/Translate/Adapter/thirdparty/sfYaml/lib/sfYamlDumper.php:11
--------------------------------------------------------------------------------------------------------
You will notice that the error message shows two different paths to exactly the same file. I wonder if that has anything to do with it? That is, at one point it's included relatively (initially) and the second time it's included absolutely (with the full file path). Also, interestingly, I noticed that even if I put a "return;" statement at the very top of this class file, it still will fail with the same error. That's also after completely deleting the contents of the "silverstripe-cache" directory where the cache manifests are stored. This is a pretty mysterious bug.