It appears that the --link
functionality is unable to handle library names that contain underscores.
// TestContract.sol
library Has_Underscores { function x() {} }
contract C {
function doit() {
Has_Underscores.x();
}
}
And trying to compile it...
$ solc TestContract.sol --bin | solc --libraries Has_Underscores:0x6c8f2a135f6ed072de4503bd7c4999a1a17f824b --link
Error in binary object file <stdin> at position 200