Using and troubleshooting builds
Clone the repository (the examples assume we're extracting to ~/projects)
Make and install:
In general, we recommend adding 'wh' to your path. The easiest way to do this, which also earns you the 'whcd' command an some autocompletion, is by adding:
to your ~/.profile or ~/.bash_profile.
Setup default interface port for WebHare:
Run `wh fixmodules` once to update NPM dependencies.
Visit the provided URL and finish the install wizard.
Advanced build flags
WHBUILD_DEBUG=1 - Use whbuild.debug and build versions with extra debugging
Troubleshooting common build failures
Try repeating the make command. If you only see 'error' or 'waiting for finished jobs' you may have to scroll up a bit to find the error (make often runs multiple tasks at the same time. if one task reported an error, it will finish the other running jobs so you may need to look for the error).
Before you try anything else, make sure you are up-to-date and try the fixbuild option and see if it fixes your issue:
"No rule to make target"
These errors are usually fixed by running `wh make clean-deps`
If tests are failing and you want to ignore this, run `NOTEST=1 wh mic`.
"TestLocalization: VersionTest yielded errors"
If 'got' is lower than 'expected', you need to update your ICU library. On OSX, a 'brew update' will update your brew definitions, after which it should carry out this update.
If 'got' is higher than 'expected', update or let us know.
"Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.55.dylib Referenced from: /wh/whbuild/blex/tests/dynamic.dylib"
This error, and similar errors, may be caused by updating libraries (especially when the error refers to an older version of the library, like icu v55 above). Try `wh make clean-libs` to remove all compiled libraries
lib/hsm_wh_icu.dylib Error 1
There were probably errors building the icu provider, and the autodependency checking tends to be bad at picking up icu recompiles, at least on OSX.
Run `wh make clean-icu-provider` to specifically reset the ICU module. If ICU issues persist, consider downgrading to an earlier version. On OSX with brew:
libssh2: Unknown `--is-lightweight' option
This is usually caused by broken or out-of-date command line tools on OSX.
Update Xcode, start Xcode and make sure you accepted the EULA and it got a chance to download updated command line tools.
After this, you'll probably have to go through a 'wh fixbuild'.
If you're about to give up:
but of course, we'd like to hear from you where you got stuck so we can help prevent this in the future.