Skip to content

Commit e11da49

Browse files
authored
[Docs] Add general remarks about what to do when a build fails (#1088)
[skip azp]
1 parent 07532de commit e11da49

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

docs/src/FAQ.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,12 +66,14 @@ Since this package is unregistered, you have to use the full [`PackageSpec`](htt
6666
Dependency(PackageSpec(; name = "Libfoo_jll", uuid = "...", url = "https://github.com/MY_USERNAME/Libfoo_jll.jl.git"))
6767
```
6868

69-
You can of course in turn build and deply this package with
69+
You can of course in turn build and deploy this package with
7070

7171
```
7272
julia build_tarballs.jl --debug --verbose --deploy="MY_USERNAME/Quxlib_jll.jl"
7373
```
7474

75+
Note that `PackageSpec` can also point to a local path: e.g., `PackageSpec(; name="Libfoo_jll", uuid="...", path="/home/myname/.julia/dev/Libfoo_jll")`. This is particularly useful when [building a custom JLL package locally](@ref), instead of deploying it to a remote Git repository.
76+
7577
### What are those numbers in the list of sources? How do I get them?
7678

7779
The list of sources is a vector of [`BinaryBuilder.AbstractSource`](@ref)s. What the hash is depends on what the source is:

docs/src/troubleshooting.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,12 @@ This page collects some known build errors and trick how to fix them.
66

77
## All platforms
88

9+
### General comments
10+
11+
While below you will find some tips about common problems found when building packages in BinaryBuilder, keep in mind that if something fails during the build, there is not a magic recipe to fix it: you will need to understand what the problem is. Most of the time it's a matter of trial-and-error. The best recommendation is to access the build environment and carefully read the log files generated by the build systems: it is not uncommon that build systems would only print to screen misleading error messages, and the actual problem is completely different (e.g. "library XYZ can't be found", when the problem instead is that the command they run to look for library XYZ fails for unrelated reasons, for example for a wrong compiler flag used in the check). Having an understanding of what the build system is doing would also be extremely useful.
12+
13+
You are welcome to open a pull request to [Yggdrasil](https://github.com/JuliaPackaging/Yggdrasil/) with a non-working build recipe, or ask for help in the `#binarybuilder` channel in the [JuliaLang Slack](https://julialang.org/slack/). Someone will likely help you out if and when they are available, like for any support provided by volunteers.
14+
915
### Header files of the dependencies can't be found
1016

1117
Sometimes the build system can't find the header files of the dependencies, even if they're properly installed. When this happens, you have to inform the C/C++ preprocessor where the files are.

0 commit comments

Comments
 (0)