Erkan-Yilmaz / Gridcoin-tasks

tasks, wishes, ideas, ... for the Gridcoin project
26 stars 1 forks source link

tutorial: set up dev environment #87

Open Erkan-Yilmaz opened 7 years ago

Erkan-Yilmaz commented 7 years ago

@Quezacoatl1 asks here:

"Is there a guide to set up a dev environment? Or could anyone set one up?"

please contribute with ideas, docs

grctest commented 7 years ago

@gridcoin @TheCharlatan @Quezacoatl1 @denravonska @caraka @theMarix @Tahvok

denravonska commented 7 years ago

Would Docker work for this?

caraka commented 7 years ago

'dev environment' is a very open question. For my limited contributions to the code and for patching, I use git and a text editor. For my build tests and for managing the Ubuntu PPA, I use docker extensively.

If you have a favourite IDE, setting it up in docker is very convenient and reasonably portable.

LokiToki commented 7 years ago

Hi,

i spend the whole day on this topic. What i did:

Installing Qt-Creator on Windows, because the Wallet is a Qt project. Had trouble with levelDB and installed some additional stuff including boost. Very annoying... After some hours of raging i was looking for a docker solution but how docker should solve the problem? For me it's just a cmd based VB with some "bridges". I'm new to docker but i didn't find a way to set up an IDE with GUI or something like that.

The leads me to my first conclusion: A virtual machine with a rock solid Linux and needed packages with correct version seems to be the best solution.

My recommendations:

Greetings Loki

PS: cloning the Qt Project from GitHub with Qt-Creator works absolutely fine

startailcoon commented 7 years ago

Linked now has a very cheap shared server for only $5/month. https://www.linode.com/pricing

They are reliable and works great, and are expandable on the fly pretty much. Give it a try if you are going to set things up, I can only recommend them.

LokiToki commented 7 years ago

So, after some more hours i put a first version of a Virtual Machine together with a short guide "how to use". It's a pretty raw first Version so feel free to ask or suggest enhancements.

PDF: https://mega.nz/#!ChxSgSZS!ElPyMdfq7kz_4IKbLqx2S1SdGVZtl4TQC7KwePBfVlg

Virtual Machine (2.7 GB): https://mega.nz/#!ytASzb5S!6GOmgcnuz2KfzZG3tOSMQoHTu89TZ9CmHc88hqP7tXA

Greetings

2017.03.03 Update: PDF Version 0.1.1ALPHA with images and detailed installation steps. https://cryptocointalk.com/topic/52839-guidetool-virtual-machine-for-easy-development-start/

Lenni commented 7 years ago

Has anyone figured out how to cross-compile the wallet for Windows in the Linux VM?

denravonska commented 7 years ago

@Lenni it's on its way in the autotools branch.

TheCharlatan commented 7 years ago

In future the dev environment can be setup with either the depends system, similar to the one bitcoin is using, or by installing all the dependencies and using autotools to configure the project. I have created a pull request for this change here: https://github.com/gridcoin/Gridcoin-Research/pull/487 Its current state is that the autotools scripts run fine on linux and mac and the depends system compiles all the dependencies needed for linux, mac and windows as well, I have not been able to get a windows build yet, but it seems to be just a few more environment variable fixes away. Once this is achieved, the build system will be super flexible, capable of building the daemon, gui, tests and gui tests all in one go on linux, mac and windows. If anyone wants to add to it, please do!

theMarix commented 6 years ago

So in case this was the reason I was mentioned here: I just added the required dev packages to my openSUSE box and use that as a dev environment. I use VIM or VS Code for editing. Packaging is done via the openSUSE build service tooling, which creates clean environments for package building.