update from source build instructions
The EKG build flag was removed, so remove the page about it.
This commit is contained in:
parent
eb627ab98c
commit
40cb1a674c
3 changed files with 3 additions and 50 deletions
31
doc/ekg.mdwn
31
doc/ekg.mdwn
|
@ -1,31 +0,0 @@
|
||||||
You can `cabal configure -fEKG` to build a git-annex that includes
|
|
||||||
the EKG remote monitoring interface.
|
|
||||||
|
|
||||||
To access the EKG control panel, go to
|
|
||||||
<http://localhost:4242/> while a git-annex command is running.
|
|
||||||
|
|
||||||
This EKG build is mostly useful for debugging resource usage problems.
|
|
||||||
|
|
||||||
[[!img ekg.png caption="git-annex webapp startup, and assistant startup scan"]]
|
|
||||||
|
|
||||||
Note that since only one process can open port 4242 at a time, running
|
|
||||||
more than one git-annex process with EKG support at the same time can
|
|
||||||
result in some "resource busy (Address already in use)" messages -- but
|
|
||||||
git-annex will continue to work.
|
|
||||||
|
|
||||||
----
|
|
||||||
|
|
||||||
## full profiling
|
|
||||||
|
|
||||||
For the really tricky memory leaks, here's how to make a profiling build of
|
|
||||||
git-annex.
|
|
||||||
|
|
||||||
1. `cabal configure --enable-profiling`
|
|
||||||
This will probably fail due to some missing profiling libraries.
|
|
||||||
You have to get the profiling versions of all needed haskell libraries
|
|
||||||
installed somehow.
|
|
||||||
2. `cabal build`
|
|
||||||
3. Run git-annex with the special flags `+RTS -hc -p`
|
|
||||||
4. Reproduce the memory leak problem.
|
|
||||||
5. If the assistant was run, stop it.
|
|
||||||
6. `hp2ps -e8in -c git-annex.hp` to generate a .ps graph of memory usage.
|
|
BIN
doc/ekg/ekg.png
BIN
doc/ekg/ekg.png
Binary file not shown.
Before Width: | Height: | Size: 56 KiB |
|
@ -3,15 +3,6 @@ users with experience building code from source. But the build may
|
||||||
require some care and feeding. This page will start with the easy
|
require some care and feeding. This page will start with the easy
|
||||||
methods and work up to the harder ones.
|
methods and work up to the harder ones.
|
||||||
|
|
||||||
## prerequisites
|
|
||||||
|
|
||||||
Start by installing the
|
|
||||||
[Haskell Platform](http://hackage.haskell.org/platform/).
|
|
||||||
|
|
||||||
In Debian, this is as simple as:
|
|
||||||
|
|
||||||
sudo apt-get install haskell-platform
|
|
||||||
|
|
||||||
## downloading the source code
|
## downloading the source code
|
||||||
|
|
||||||
The easiest way is using git; see [[download]] or just run:
|
The easiest way is using git; see [[download]] or just run:
|
||||||
|
@ -36,7 +27,7 @@ Using stack automates nearly everything, will work on many systems,
|
||||||
and avoids build failures due to fast-changing haskell libraries.
|
and avoids build failures due to fast-changing haskell libraries.
|
||||||
|
|
||||||
First, [install stack](https://github.com/commercialhaskell/stack/blob/master/doc/install_and_upgrade.md)
|
First, [install stack](https://github.com/commercialhaskell/stack/blob/master/doc/install_and_upgrade.md)
|
||||||
It will be part of the Haskell Platform soon. On Debian unstable/testing:
|
On Debian:
|
||||||
|
|
||||||
sudo apt-get install haskell-stack zlib1g-dev libtinfo-dev
|
sudo apt-get install haskell-stack zlib1g-dev libtinfo-dev
|
||||||
|
|
||||||
|
@ -83,8 +74,8 @@ Get the git-annex source code, and inside the source tree, run:
|
||||||
|
|
||||||
To build with all features enabled, including the assistant and webapp,
|
To build with all features enabled, including the assistant and webapp,
|
||||||
you will need to install several C libraries and their headers,
|
you will need to install several C libraries and their headers,
|
||||||
including libgnutls, libgsasl, libxml2, libmagic, and zlib. How to do
|
including libmagic, and zlib. How to do that for your OS is beyond
|
||||||
that for your OS is beyond the scope of this page.
|
the scope of this page.
|
||||||
|
|
||||||
Once the C libraries are installed, run inside the source tree:
|
Once the C libraries are installed, run inside the source tree:
|
||||||
|
|
||||||
|
@ -93,10 +84,3 @@ Once the C libraries are installed, run inside the source tree:
|
||||||
cabal build -j
|
cabal build -j
|
||||||
PATH=$HOME/bin:$PATH
|
PATH=$HOME/bin:$PATH
|
||||||
cabal install --bindir=$HOME/bin
|
cabal install --bindir=$HOME/bin
|
||||||
|
|
||||||
## EKG
|
|
||||||
|
|
||||||
When building with cabal, you can optionally enable the
|
|
||||||
[[EKG monitoring interface|ekg]]. This is great for debugging resource
|
|
||||||
usage problems, but not for general-purpose builds.
|
|
||||||
Just pass `-f+EKG` to `cabal configure`
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue