foundry-rs / foundry

Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust.
https://getfoundry.sh
Apache License 2.0
8.22k stars 1.71k forks source link

Failed to resolve versions #7203

Closed radin200 closed 3 months ago

radin200 commented 7 months ago

Component

Forge

Describe the feature you would like

When I run forge build on rio-network protocol, I got this output and there no information how to fix it:

Mac rio-sherlock-audit % forge build            
[⠃] Compiling...2024-02-21T17:50:17.053978Z ERROR foundry_compilers::resolver: failed to resolve versions
[⠊] Compiling...
Error: 
Encountered invalid solc version in contracts/interfaces/IRioLRT.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/IRioLRTAVSRegistry.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/IRioLRTAssetRegistry.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/IRioLRTCoordinator.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/IRioLRTDepositPool.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/IRioLRTIssuer.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/IRioLRTOperatorDelegator.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/IRioLRTOperatorRegistry.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/IRioLRTRewardDistributor.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/IRioLRTWithdrawalQueue.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/IBLSPublicKeyCompendium.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/IBeacon.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/IBeaconChainOracle.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/IBeaconChainProofs.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/IDelayedWithdrawalRouter.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/IDelegationManager.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/IETHPOSDeposit.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/IEigenPod.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/IEigenPodManager.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/IPaymentCoordinator.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/IRegistry.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/IRegistryCoordinator.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/ISignatureUtils.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/ISlasher.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/IStakeRegistry.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/IStrategy.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/IStrategyManager.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/oracle/IChainlinkAggregatorV3.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/oracle/IPriceFeed.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/oracle/ChainlinkPriceFeed.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/restaking/RioLRT.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/restaking/RioLRTAVSRegistry.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/restaking/RioLRTAssetRegistry.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/restaking/RioLRTCoordinator.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/restaking/RioLRTDepositPool.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/restaking/RioLRTIssuer.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/restaking/RioLRTOperatorDelegator.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/restaking/RioLRTOperatorRegistry.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/restaking/RioLRTRewardDistributor.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/restaking/RioLRTWithdrawalQueue.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/restaking/base/RioLRTCore.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/restaking/storage/RioLRTOperatorRegistryStorageV1.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/token/RioToken.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/utils/Array.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/utils/Asset.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/utils/Constants.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/utils/LRTAddressCalculator.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/utils/Memory.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/utils/OperatorOperations.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/utils/OperatorRegistryV1Admin.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/utils/OperatorUtilizationHeap.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/utils/ValidatorDetails.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in script/DeployRioIssuer.s.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in script/DeployRioToken.s.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in script/IssueRestakedEther.s.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in script/base/ScriptBase.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in script/goerli/AddOperatorsGoerli.s.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/Asset.t.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/ChainlinkPriceFeed.t.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/OperatorUtilizationHeap.t.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/RioLRT.t.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/RioLRTAVSRegistry.t.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/RioLRTAssetRegistry.t.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/RioLRTCoordinator.t.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/RioLRTDepositPool.t.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/RioLRTIssuer.t.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/RioLRTOperatorDelegator.t.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/RioLRTOperatorRegistry.t.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/RioLRTRewardDistributor.t.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/RioLRTWithdrawalQueue.t.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/utils/EigenLayerDeployer.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/utils/EmptyContract.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/utils/MockChainlinkPriceSource.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/utils/MockERC20.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/utils/MockPriceFeed.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/utils/MockStrategy.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/utils/RioDeployer.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/utils/TestUtils.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/utils/beacon-chain/BeaconChainProofs.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/utils/beacon-chain/Endian.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/utils/beacon-chain/Merkle.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/utils/beacon-chain/MockBeaconChain.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/utils/beacon-chain/MockBeaconChainOracle.sol: No solc version exists that matches the version requirement: =0.8.23

Additional context

I already tried to use solc-select 0.8.23 but there no change

Chinwuba22 commented 7 months ago

Making the solc version in all folders same might help.

zerosnacks commented 3 months ago

Hi @radin200 did you manage to resolve this in the end?

I'm unable to reproduce your error on Linux.

Please refer to https://book.getfoundry.sh/faq#im-getting-solc-errors for details on Solc errors, specifically for MacOS on Apple silicon.

Feel free to re-open if you are able to reproduce the issue after following the recommended steps.

For context: OP refers to this repo: https://github.com/sherlock-audit/2024-02-rio-network-core-protocol