-
Notifications
You must be signed in to change notification settings - Fork 6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[CLI] Rewrite solc --link to use LinkerObject #10308
Comments
Is this issue solved or I can work on it?? |
No, no one is working on it right now so if you want to try, feel free :) |
Hey, @cameel I am new to this. |
Great! Not sure how familiar you are with linking and library addresses in Solidity. If it's a new topic for you, I'd suggest to start by reading the Library Linking section and the chapter on Libraries in the docs. Here's a general rundown of everything you need for this particular task:
If you run into problems with the the implementation, please drop by on the solidity-dev channel. During the week you can find me and other developers there (though note that this Monday is a holiday so probably best to try on Tuesday :)). |
Thank you! so much @cameel! |
@Uttam-Singhh Are you still working on this issue? Do you need any help? |
No worries! If you want, you could try a different task, maybe it'll be easier for a start. Here are some possibilities:
|
Thank you so much @cameel. I will have a look at them! |
Hi, can I work on this issue? Can you please check my understanding of the changes? I would need to rewrite CommandLineInterface::link(), so it reuses code from LinkerObject::link() for linking already compiled code. The code in LinkerObject::link() is already used for linking with the option --libraries. What do I do with the placeholders while translating the hex-encoded input of CommandLineInterface into binary? |
Please take a look at #10308 (comment). It describes in detail what needs to be done.
It does not matter all that much because One thing to keep in mind though is that after linking there might still remain some unlinked references if they were not given in |
I'm sorry, I won't be able to work on the issue. I had problems building solidity on my computer, and I could't resolve them. |
Recently a user requested that we add config for one of the online IDEs, claiming that it would be a good way for contributors to easily get a working environment. It was #12112. I haven't personally tried that IDE so I can't say if it would work but maybe you'd like to try? It might let you work on this without having to fight with the build system. And I'd be interesting to know if it's really something we could recommend to contributors. |
Yes, I will gladly try using the online IDE. |
Great. Let me know if you need any help. Maybe @nickytonline would be able to chime in too since he's using that IDE. |
@ryzheboka, I'm new to the Solidity project, but am pretty familiar with Gitpod, so if you have questions, don't hesitate. |
Building on Gitpod with the config from #12112 worked! I need to get more comfortable with Gitpod, and I will work on the issue from there. |
@ryzheboka, I've updated my branch to include the Ethereuem PPA and when I loaded up Gitpod today, it seems all good. Let me know if you still have issues. |
Thanks @nickytonline, it worked with the new gitpod.yml! (Still only with -DUSE_Z3=OFF) When running /workspace/solidity/build/solc/solc file_not_found.sol </dev/stdin" |
The script asks you to update the file if expectations do not match. If should just fail if there's no terminal - that's how it works in our CI. If that's not the case, you could try to explicitly take away its input stream with something like this: cmdlineTests.sh < /dev/null Of if you call it via |
z3 should be the correct version now if you grab latest of my branch. |
Z3 works now, I forgot to save the changed .yml file in gitpod. < /dev/null helped too. Could you please help with the following message? "Error loading VM from libevmone.so: I tried running the tests with --no-smt, but got the same message. It was not possible to run tests.sh with the argument "-no-semantic-tests". All the tests till the message run successfully. |
The So to solve this, please check if you can install a package called |
Thanks, semantic tests run successfully. The documentation says "Running Ewasm tests is disabled by default", however, I get the following error: Error loading VM from libhera.so: Should I repeat the steps for evmone for hera too? |
Yeah, it's disabled by default but seems that Line 140 in 7334420
You don't really need it in this task so I recommend disabling it. The easiest way to do this would be to just locally comment out that line in your branch. If you want you can also submit a PR that adds a |
Next weeks will be very full and stressful for me. I probably won't be able to finish the testing, at least not in next weeks. I'm very sorry! |
No worries. Take your time. There is no deadline for this task so if you want to just come back to it later when you have more time that's not a problem for us :) |
I've created a PR that hopefully resolves this issue #12756 |
@bmoo0 Thanks! I'm going to reassign the issue to you then. |
Current status is that there is a PR implementing this but it needs some cleanup work |
This issue has been marked as stale due to inactivity for the last 90 days. |
Hi everyone! This issue has been automatically closed due to inactivity. |
Extracted from #10297 (comment):
@axic
The text was updated successfully, but these errors were encountered: