Plume/doc/PREREQUISITES.md
Kushal 2360cf5bad
add additional dependencies for fedora
I need them to install diesel 

https://github.com/rust-lang/rust/issues/51873 

➜  ~ dnf info postgresql-server postgresql-contrib mariadb-devel libsq3-devel libpqxx libpqxx-devel
Last metadata expiration check: 29 days, 12:41:39 ago on Tue 29 May 2018 07:44:41 PM EDT.
Installed Packages
Name         : libpqxx
Epoch        : 1
Version      : 4.0.1
Release      : 11.fc28
Arch         : x86_64
Size         : 697 k
Source       : libpqxx-4.0.1-11.fc28.src.rpm
Repo         : @System
From repo    : fedora
Summary      : C++ client API for PostgreSQL
URL          : http://pqxx.org/
License      : BSD
Description  : C++ client API for PostgreSQL. The standard front-end (in the sense of
             : "language binding") for writing C++ programs that use PostgreSQL.
             : Supersedes older libpq++ interface.

Name         : libpqxx-devel
Epoch        : 1
Version      : 4.0.1
Release      : 11.fc28
Arch         : x86_64
Size         : 327 k
Source       : libpqxx-4.0.1-11.fc28.src.rpm
Repo         : @System
From repo    : fedora
Summary      : Development tools for libpqxx
URL          : http://pqxx.org/
License      : BSD
Description  : Development tools for libpqxx.

Name         : libsq3-devel
Version      : 20071018
Release      : 23.fc28
Arch         : x86_64
Size         : 1.4 M
Source       : libsqlite3x-20071018-23.fc28.src.rpm
Repo         : @System
From repo    : fedora
Summary      : Development files for libsqlite3x
URL          : http://www.wanderinghorse.net/computing/sqlite/
License      : zlib
Description  : The libsq3-devel package contains libraries and header files for
             : developing applications that use libsq3.

Name         : mariadb-devel
Epoch        : 3
Version      : 10.2.15
Release      : 2.fc28
Arch         : x86_64
Size         : 4.3 M
Source       : mariadb-10.2.15-2.fc28.src.rpm
Repo         : @System
From repo    : updates
Summary      : Files for development of MariaDB/MySQL applications
URL          : http://mariadb.org
License      : GPLv2 with exceptions and LGPLv2 and BSD
Description  : MariaDB is a multi-user, multi-threaded SQL database server.
             : MariaDB is a community developed branch of MySQL.
             : 
             : 
             : 
             : 
             : This package contains everything needed for developing MariaDB/MySQL server
             : applications. For developing client applications, use mariadb-connector-c
             : package.

Name         : postgresql-contrib
Version      : 10.4
Release      : 1.fc28
Arch         : x86_64
Size         : 2.4 M
Source       : postgresql-10.4-1.fc28.src.rpm
Repo         : @System
From repo    : updates
Summary      : Extension modules distributed with PostgreSQL
URL          : http://www.postgresql.org/
License      : PostgreSQL
Description  : The postgresql-contrib package contains various extension modules that are
             : included in the PostgreSQL distribution.

Name         : postgresql-server
Version      : 10.4
Release      : 1.fc28
Arch         : x86_64
Size         : 20 M
Source       : postgresql-10.4-1.fc28.src.rpm
Repo         : @System
From repo    : updates
Summary      : The programs needed to create and run a PostgreSQL server
URL          : http://www.postgresql.org/
License      : PostgreSQL
Description  : PostgreSQL is an advanced Object-Relational database management system (DBMS).
             : The postgresql-server package contains the programs needed to create
             : and run a PostgreSQL server, which will in turn allow you to create
             : and maintain PostgreSQL databases.

Available Packages
Name         : libpqxx
Epoch        : 1
Version      : 4.0.1
Release      : 11.fc28
Arch         : i686
Size         : 220 k
Source       : libpqxx-4.0.1-11.fc28.src.rpm
Repo         : fedora
Summary      : C++ client API for PostgreSQL
URL          : http://pqxx.org/
License      : BSD
Description  : C++ client API for PostgreSQL. The standard front-end (in the sense of
             : "language binding") for writing C++ programs that use PostgreSQL.
             : Supersedes older libpq++ interface.

Name         : libpqxx-devel
Epoch        : 1
Version      : 4.0.1
Release      : 11.fc28
Arch         : i686
Size         : 99 k
Source       : libpqxx-4.0.1-11.fc28.src.rpm
Repo         : fedora
Summary      : Development tools for libpqxx
URL          : http://pqxx.org/
License      : BSD
Description  : Development tools for libpqxx.

Name         : libsq3-devel
Version      : 20071018
Release      : 23.fc28
Arch         : i686
Size         : 181 k
Source       : libsqlite3x-20071018-23.fc28.src.rpm
Repo         : fedora
Summary      : Development files for libsqlite3x
URL          : http://www.wanderinghorse.net/computing/sqlite/
License      : zlib
Description  : The libsq3-devel package contains libraries and header files for
             : developing applications that use libsq3.

Name         : mariadb-devel
Epoch        : 3
Version      : 10.2.14
Release      : 1.fc28
Arch         : i686
Size         : 976 k
Source       : mariadb-10.2.14-1.fc28.src.rpm
Repo         : fedora
Summary      : Files for development of MariaDB/MySQL applications
URL          : http://mariadb.org
License      : GPLv2 with exceptions and LGPLv2 and BSD
Description  : MariaDB is a multi-user, multi-threaded SQL database server.
             : MariaDB is a community developed branch of MySQL.
             : 
             : 
             : 
             : 
             : This package contains everything needed for developing MariaDB/MySQL server
             : applications. For developing client applications, use mariadb-connector-c
             : package.

Name         : postgresql-server
Version      : 10.4
Release      : 1.fc28
Arch         : i686
Size         : 5.1 M
Source       : postgresql-10.4-1.fc28.src.rpm
Repo         : updates
Summary      : The programs needed to create and run a PostgreSQL server
URL          : http://www.postgresql.org/
License      : PostgreSQL
Description  : PostgreSQL is an advanced Object-Relational database management system (DBMS).
             : The postgresql-server package contains the programs needed to create
             : and run a PostgreSQL server, which will in turn allow you to create
             : and maintain PostgreSQL databases.
2018-06-28 08:28:01 -04:00

3 KiB
Raw Blame History

Installing Software Prerequisites

These instructions have been adapted from the Aardwolf documentation, and may not be accurate. As such, this notification should be updated once verified for Plume installs.

NOTE: These instructions may help in installing a production version, but are intended for developers to be able to build and test their changes. If in doubt, seek out documentation from your distribution package or from the doc folder.

Installing Requirements

Installing PostgreSQL

In order to run the Plume backend, you will need to have access to a PostgreSQL database. There are a few options for doing this, but for this guide were going to assume you are running the database on your development machine.

Linux/OSX Instructions

If you're on an Ubuntu-like machine, you should be able to install PostgreSQL like this:

$ sudo apt-get update
$ sudo apt-get install postgresql postgresql-contrib

If you see an error like:

 = note: /usr/bin/ld: cannot find -lpq
      collect2: error: ld returned 1 exit statusb

Then you may need to install the libpq (PostgreSQL C-library) package as well :

$ sudo apt-get install libpq-dev

If you're on OSX and using brew, do

$ brew update
$ brew install postgres

For Gentoo (eselect-postgresql is optional),

# emerge --sync
# emerge -av postgresql eselect-postgresql

For Fedora/CentOS/RHEL, do

# dnf install postgresql-server postgresql-contrib mariadb-devel libsq3-devel libpqxx libpqxx-devel

Windows Instructions

For Windows, just download the installer here and run it. After installing, make sure to add the /lib directory to your PATH system variable.

Installing rustup

Note: Rustup managed installations do appear to co-exist with system installations on Gentoo, and should work on most other distributions. If not, please file an issue with the Rust and Rustup teams or your distributions managers.

Next, youll need to have the Rust toolchain installed. The best way to do this is to install rustup, which is a Rust toolchain manager.

Linux/OSX Instructions

Open your terminal and run the following command:

$ curl https://sh.rustup.rs -sSf | sh

For those who are (understandably) uncomfortable with piping a shell script from the internet directly into sh, you can also use an alternate installation method.

Windows Instructions

If you don't already have them, download and install the Visual C++ 2015 Build Tools.

Then, download the rustup installer and run it. That's it!

Installing Rust Toolchain

Once you have rustup installed, make sure you have the nightly rust toolchain installed:

$ rustup toolchain install nightly