You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The CircleCI phar-build job is broken. (Example failure) According to #10363, this blocks releases.
I've been able to reproduce the failure locally with the following steps:
docker run -it --rm thecodingmachine/php:7.4-v4-cli /bin/bash
# Commands from this point are run inside the Docker container
$ git clone https://github.com/vimeo/psalm.git
$ cd psalm
$ composer install
$ bin/build-phar.sh
$ build/psalm.phar --version
This produces the error message:
PHP Fatal error: Cannot declare class ComposerAutoloaderInit9e5dd54562a8c1ec1f3c2855414302bf, because the name is already in use in /usr/src/app/psalm/vendor/composer/autoload_real.php on line 5
Fatal error: Cannot declare class ComposerAutoloaderInit9e5dd54562a8c1ec1f3c2855414302bf, because the name is already in use in /usr/src/app/psalm/vendor/composer/autoload_real.php on line 5
From a bit of debugging, the ComposerAutoloaderInit<hash> class has the same class name in both the phar and the vendor directory. Both these autoloaders are included when psalm.phar runs, which is what causes the error. I'm not sure whether both autoloaders are supposed to be included but are expected to have different names, or whether only one should be included.
If I change into the build directory first, everything works:
$ cd build
$ ./psalm.phar --version
Psalm 5.x-dev@577808b12da647dd87abb435447dc6429361afdb
I don't know what changed or what the proper fix is, but I'm hoping that this information might be helpful and that this issue can serve as a place to discuss the problem.
The text was updated successfully, but these errors were encountered:
The CircleCI
phar-build
job is broken. (Example failure) According to #10363, this blocks releases.I've been able to reproduce the failure locally with the following steps:
This produces the error message:
From a bit of debugging, the
ComposerAutoloaderInit<hash>
class has the same class name in both the phar and thevendor
directory. Both these autoloaders are included whenpsalm.phar
runs, which is what causes the error. I'm not sure whether both autoloaders are supposed to be included but are expected to have different names, or whether only one should be included.If I change into the
build
directory first, everything works:$ cd build $ ./psalm.phar --version Psalm 5.x-dev@577808b12da647dd87abb435447dc6429361afdb
I don't know what changed or what the proper fix is, but I'm hoping that this information might be helpful and that this issue can serve as a place to discuss the problem.
The text was updated successfully, but these errors were encountered: