Skip to content
This repository has been archived by the owner on May 13, 2022. It is now read-only.

Installation instructions are excessively manual #737

Open
fortran77 opened this issue May 7, 2017 · 6 comments
Open

Installation instructions are excessively manual #737

fortran77 opened this issue May 7, 2017 · 6 comments

Comments

@fortran77
Copy link

The installation instructions are full of if-then-else types of statements that must be interpreted by the human reader. For example, the instructions say:

“The Python binding to libsecp256k1 will most likely have some dependencies....”

“In some cases, this will work (if you already have the libsecp256k1 shared library). For the large majority of people, this will not be the case, and you will see an installation failure. In that case, you have to prepare the packages required to build it...”

Surely decisions like these

    if libsecp256k1 library found then ..

    if installation failure then ..

could be place into a script or a makefile? Then they could be programmatically executed, simplifying the installation procedure.

@AdamISZ
Copy link
Member

AdamISZ commented Aug 9, 2017

Unfortunately nobody answered this. I think it's an entirely good point (arguably, obvious), would be great if someone could take this on. I'm not a specialist in this kind of thing, and have tons of other things to do on my plate (even when working 100% on Joinmarket).

@carlcrott
Copy link

carlcrott commented Aug 28, 2017

Just got to the point where the tests seem to be happily running for ~10 minutes.

Biggest question is on the installation of libsodium:
Do we want to assume users have brew? Probably not but thats how I installed...

I think the preferred way is to use git (safe assumption that devvs have installed) and clone the repo.

Any guesses on which version of libsodium we should use? Or just whatever the master branch is?

Also I think I'll work on a *.sh script for this as mentioned elsewhere.

@AdamISZ
Copy link
Member

AdamISZ commented Aug 29, 2017

Sorry don't have time right now but just wanted to cross reference JoinMarket-Org/joinmarket-clientserver#63 and JoinMarket-Org/joinmarket-clientserver#64 it may be of help/interest to you.

@carlcrott
Copy link

Got it.

So which is the server and which is the client?

Or is the "joinmarket-clientserver" the canonical codebase now?

Which project should I be working to automate the install process on?

@AdamISZ
Copy link
Member

AdamISZ commented Aug 29, 2017

It's a bit up in the air. This is the "reference codebase" for sure; I did a complete refactoring which turned into joinmarket-clientserver starting last November and have increasingly focused my efforts on it because I think it's a better model to work with. Until very recently I didn't get much feedback on it though, so didn't feel comfortable moving it to this org, that can change. You can think of it as an alternative for now.

The "client/server" in the name is misleading, the reason for the name is explained at the bottom of the readme of that repo; both client and server are the same user (even, the same process, usually), it's just about creating a more layered design that might be better for technical reasons.

Installation on the new one is a bit different mainly because of twisted.

Sorry I know this doesn't give you a clear, unambiguous answer to your question, just explaining as best I can.

@carlcrott
Copy link

carlcrott commented Aug 31, 2017

clear, unambiguous answer to your question

Nope! Not a problem.

I assume that installation guides for OSX are useful, but not enough to integrate into the install.sh script, being that most of joinmarket-clientserver will be on RasPis or other linux-specific instances.

Whats the best way for me to record the install process on OSX? Should I just add to the Wiki?

Edit: Nix the question. Most of this is related to installing btccore + filepath issues + getting tests to complete.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants