-
Notifications
You must be signed in to change notification settings - Fork 27
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
[3.1] fix libff in 3.1 tester cmakes #502
Conversation
…el.cdt. Update CMakeLists.txt to create a parallel mandel-config.cmake for use until mandel goes through renaming. Update path to libff in fc libraries when using build from src. Add install directions for current mandel use with mandel.cdt (or others).
README.md
Outdated
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr/local .. | ||
make -j $(nproc) | ||
make install | ||
cmake --install . --component dev |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
make -j $(nproc) dev-install will combine all 3 of these lines
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated: b955a8b
README.md
Outdated
git submodule update --init --recursive | ||
mkdir build | ||
cd build | ||
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr/local .. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't want to encourage users to install dev components in to /usr/local because it causes conflicts. Will need to use something else (idk what we've been indecisive; maybe $HOME/mandeldev 🤷 ).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Update: 2d05d35
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
EosioTesterBuild.cmake is used when users do not want to install the dev files to use them for native contract user testing. EosioTester.cmake is used when the dev files are installed.
Does EosioTester.cmake need to be changed too? This PR is only changing EosioTesterBuild.cmake.
(this is part of the reason I'm not really sure how to feel about encouraging users to install the dev files at all -- it's not strictly needed)
Understood.
Understood. However, the option to install still currently exists with little, if any, documentation. Was trying to smooth the path to making use of it for a user. We may still want to make changes to the install methodology or remove it if no longer wanted/supported/needed. |
Okay, we definitely do not want to encourage /usr/local though. It's a disaster. I'd even say there needs to be something in the README warning users to place it elsewhere since /usr/local is the default |
I even toyed with the idea of disabling the dev component when the install prefix is /usr or /usr/local, but didn't go through with it. Maybe that's another option we could entertain. |
That sounds like a good idea. Is there a specific location you'd like to use? Do you like your previous suggestion of |
I would recommend making this one generic so $HOME/mandeldev is fine with me. For the most part in the future devs should have the dev package available so this instruction would be for outliers anyway. |
Yeah that's the thing, you don't need to install it to use it with cdt, so do we really want to encourage installing it in the first place? (With a marque entry in the README no less) The existing mandel-contracts documentation already is written as not performing an install and just using the build dir. Do we really feel an alternative approach to our own suggestion in that repo needs to be prominent and encouraged here? |
Fair point. How would you prefer to proceed? Simply delete the section on installation or is there a less marquee location to document this as a reference for someone specifically looking? |
I would recommend just leaving the install step out of the README for now. We really should be moving to using the dev packages for this use case anyway. So, the documentation for mandel-contracts can stay as it is now, but move to listing the dev package and installation of that as the way to build it's contracts. |
Yeah my hunch is to shy away from even mentioning it in the README. However, it is a behavior change compared to pre 3.1, so I could see something in the release notes long the lines of
|
Mandel dev install is no longer the recommendation. For users utilizing native contract unit testing, make install no longer installs the required header and libraries. It's recommended to utilize the headers and libraries directly from mandel's build directory, or to use the mandel-dev package. Installation of these headers and libraries can still be performed with a make dev-install if absolutely needed.
Sounds like a plan. I will remove the install directions from the README. |
Fix issues seen with libff when trying to use mandel with mandel.cdt.
Update CMakeLists.txt to create a parallel mandel-config.cmake for use until mandel goes through renaming.
Update path to libff in fc libraries when using build from src.
Add install directions for current mandel use with mandel.cdt (or others).
Resolves: #426
Resolves: #420
Supersedes: #421
Relates to mandel.cdt issue/PR:
eosnetworkfoundation/mandel.cdt#25
eosnetworkfoundation/mandel.cdt#26