Skip to content

Commit fd0bd01

Browse files
committed
Recommend statically linking to libstdc++
1 parent a7345cd commit fd0bd01

5 files changed

+13
-5
lines changed

ESSENTIAL-SYSTEM-LIBRARIES.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,5 @@ We consider the following libraries to be essential system libraries:
2222

2323
# GCC runtime
2424
libgcc_s.so
25-
libstdc++.so
25+
26+
Note that libstdc++ is not included in this list because of the [C++ linking caveats](LINKING-CXX.md).

LIBCURL-SSL-CERTIFICATE-AUTHORITIES.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# The special problem of libcurl SSL certificate authorities
1+
# Caveat: libcurl SSL certificate authorities
22

33
If you use libcurl to perform HTTPS requests, then libcurl requires a list of certificate authorities. If you do not provide libcurl with such a list (through `CURLOPT_CAINFO`) then libcurl will attempt to use the operating system's default certificate authority list. However, every Linux distribution stores this list in a different location. Distributions customize their libcurl packages to tell libcurl where their default list is.
44

README.md

+8-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ Holy Build Box is a system for building "portable" binaries for Linux: binaries
1616
* [Getting started](#getting-started)
1717
- [Tutorials](#tutorials)
1818
- [Guides](#guides)
19+
- [Caveats](#caveats)
1920
* [FAQ](#faq)
2021
- [Who should be interested in portable Linux binaries?](#who-should-be-interested-in-portable-linux-binaries)
2122
- [Which operating systems does Holy Build Box support?](#which-operating-systems-does-holy-build-box-support)
@@ -134,7 +135,13 @@ Guides:
134135
* [Security hardening binaries](SECURITY-HARDENING-BINARIES.md)
135136
* [Building 32-bit binaries](BUILDING-32-BIT-BINARIES.md)
136137
* [Caching compilation results with ccache](CACHING-WITH-CCACHE.md)
137-
* [The special problem of libcurl SSL certificate authorities](LIBCURL-SSL-CERTIFICATE-AUTHORITIES.md)
138+
139+
<a name="caveats"></a>
140+
141+
Caveats:
142+
143+
* [Libcurl SSL certificate authorities](LIBCURL-SSL-CERTIFICATE-AUTHORITIES.md)
144+
* [Linking C++ applications and libraries](LINKING-CXX.md)
138145

139146
## FAQ
140147

TUTORIAL-7-VERIFYING-PORTABILITY-WITH-LIBCHECK.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,6 @@ cp /usr/local/nginx/sbin/nginx /io/
7979

8080
## Conclusion
8181

82-
Congratulations, you have reached the end of the tutorials! You may now be interested in reading the [guides](README.md#guides).
82+
Congratulations, you have reached the end of the tutorials! You may now be interested in reading the [guides](README.md#guides) and the [caveats](README.md#caveats).
8383

8484
Happy building.

libcheck

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ if len(sys.argv) <= 1:
1515
ARROW = re.compile(" => ")
1616
SYSTEM_LIBRARIES_REGEX = \
1717
"linux-gate|linux-vdso|libpthread|librt|libdl|libcrypt|libm|libc" + \
18-
"|ld-linux.*|libutil|libnsl|libgcc_s|libstdc\\+\\+|libresolv"
18+
"|ld-linux.*|libutil|libnsl|libgcc_s|libresolv"
1919

2020
if 'LIBCHECK_ALLOW' in os.environ:
2121
WHITELIST_REGEX = re.compile('(' + SYSTEM_LIBRARIES_REGEX +

0 commit comments

Comments
 (0)