The proftpd configure script doesn't use pkg-config to detect openssl libraries. Instead, it just adds -lcrypto. Since openssl may be linked with pthread, it tries to detect that by calling 'openssl version -f', which gives the arguments with which openssl was compiled. Since the openssl executable used is either host-openssl or the system installed openssl, the output of 'openssl version -f' is useless in Buildroot context. If the target toolchain doesn't have threads support, it will wrongly pick up -pthread from host-openssl. Fortunately there is a simple workaround: --without-openssl-cmdline says that there is no openssl executable and skips the test, so -pthread is not added. It turns out -pthread is never needed, even in static linking cases, because openssl/libressl puts the thread support in a separate object file that only gets linked in if the program actually uses threads (which proftpd doesn't). Fixes: http://autobuild.buildroot.net/results/9c25c3cb3cf93b76c0538c5376a803641bf6575b Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com> [Rewrite commit log, after additional analysis and testing] Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> |
||
---|---|---|
arch | ||
board | ||
boot | ||
configs | ||
docs | ||
fs | ||
linux | ||
package | ||
support | ||
system | ||
toolchain | ||
utils | ||
.defconfig | ||
.flake8 | ||
.gitignore | ||
.gitlab-ci.yml | ||
.gitlab-ci.yml.in | ||
CHANGES | ||
Config.in | ||
Config.in.legacy | ||
COPYING | ||
DEVELOPERS | ||
Makefile | ||
Makefile.legacy | ||
README |
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation. The documentation can be found in docs/manual. You can generate a text document with 'make manual-text' and read output/docs/manual/manual.text. Online documentation can be found at http://buildroot.org/docs.html To build and use the buildroot stuff, do the following: 1) run 'make menuconfig' 2) select the target architecture and the packages you wish to compile 3) run 'make' 4) wait while it compiles 5) find the kernel, bootloader, root filesystem, etc. in output/images You do not need to be root to build or run buildroot. Have fun! Buildroot comes with a basic configuration for a number of boards. Run 'make list-defconfigs' to view the list of provided configurations. Please feed suggestions, bug reports, insults, and bribes back to the buildroot mailing list: buildroot@buildroot.org You can also find us on #buildroot on Freenode IRC. If you would like to contribute patches, please read https://buildroot.org/manual.html#submitting-patches