Skip to content

Commit

Permalink
[TECH-8411] build on arm64 mac
Browse files Browse the repository at this point in the history
  • Loading branch information
dblasen-compass committed Jul 22, 2024
1 parent 2c4adfb commit 7044b95
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 4 deletions.
6 changes: 3 additions & 3 deletions CONFIGURATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

Property | C/P | Range | Default | Importance | Description
-----------------------------------------|-----|-----------------|--------------:|------------| --------------------------
builtin.features | * | | gzip, snappy, ssl, sasl, regex, lz4, sasl_gssapi, sasl_plain, sasl_scram, plugins, zstd, sasl_oauthbearer, sasl_aws_msk_iam, http, oidc | low | Indicates the builtin features for this build of librdkafka. An application can either query this value or attempt to set it with its list of required features to check for library support. <br>*Type: CSV flags*
builtin.features | * | | gzip, snappy, ssl, sasl, regex, lz4, sasl_gssapi, sasl_plain, sasl_scram, plugins, zstd, sasl_oauthbearer, http, oidc, sasl_aws_msk_iam | low | Indicates the builtin features for this build of librdkafka. An application can either query this value or attempt to set it with its list of required features to check for library support. <br>*Type: CSV flags*
client.id | * | | rdkafka | low | Client identifier. <br>*Type: string*
metadata.broker.list | * | | | high | Initial list of brokers as a CSV list of broker host or host:port. The application may also use `rd_kafka_brokers_add()` to add brokers during runtime. <br>*Type: string*
bootstrap.servers | * | | | high | Alias for `metadata.broker.list`: Initial list of brokers as a CSV list of broker host or host:port. The application may also use `rd_kafka_brokers_add()` to add brokers during runtime. <br>*Type: string*
Expand Down Expand Up @@ -81,8 +81,8 @@ ssl_engine_callback_data | * | |
enable.ssl.certificate.verification | * | true, false | true | low | Enable OpenSSL's builtin broker (server) certificate verification. This verification can be extended by the application by implementing a certificate_verify_cb. <br>*Type: boolean*
ssl.endpoint.identification.algorithm | * | none, https | none | low | Endpoint identification algorithm to validate broker hostname using broker certificate. https - Server (broker) hostname verification as specified in RFC2818. none - No endpoint verification. OpenSSL >= 1.0.2 required. <br>*Type: enum value*
ssl.certificate.verify_cb | * | | | low | Callback to verify the broker certificate chain. <br>*Type: see dedicated API*
sasl.mechanisms | * | | GSSAPI | high | SASL mechanism to use for authentication. Supported: GSSAPI, PLAIN, SCRAM-SHA-256, SCRAM-SHA-512, OAUTHBEARER, AWS_MSK_IAM. **NOTE**: Despite the name only one mechanism must be configured. <br>*Type: string*
sasl.mechanism | * | | GSSAPI | high | Alias for `sasl.mechanisms`: SASL mechanism to use for authentication. Supported: GSSAPI, PLAIN, SCRAM-SHA-256, SCRAM-SHA-512, OAUTHBEARER, AWS_MSK_IAM. **NOTE**: Despite the name only one mechanism must be configured. <br>*Type: string*
sasl.mechanisms | * | | GSSAPI | high | SASL mechanism to use for authentication. Supported: GSSAPI, PLAIN, SCRAM-SHA-256, SCRAM-SHA-512, OAUTHBEARER. **NOTE**: Despite the name only one mechanism must be configured. <br>*Type: string*
sasl.mechanism | * | | GSSAPI | high | Alias for `sasl.mechanisms`: SASL mechanism to use for authentication. Supported: GSSAPI, PLAIN, SCRAM-SHA-256, SCRAM-SHA-512, OAUTHBEARER. **NOTE**: Despite the name only one mechanism must be configured. <br>*Type: string*
sasl.kerberos.service.name | * | | kafka | low | Kerberos principal name that Kafka runs as, not including /hostname@REALM <br>*Type: string*
sasl.kerberos.principal | * | | kafkaclient | low | This client's Kerberos principal name. (Not supported on Windows, will use the logon user's principal). <br>*Type: string*
sasl.kerberos.kinit.cmd | * | | kinit -R -t "%{sasl.kerberos.keytab}" -k %{sasl.kerberos.principal} \|\| kinit -t "%{sasl.kerberos.keytab}" -k %{sasl.kerberos.principal} | low | Shell command to refresh or acquire the client's Kerberos ticket. This command is executed on client creation and every sasl.kerberos.min.time.before.relogin (0=disable). %{config.prop.name} is replaced by corresponding config object value. <br>*Type: string*
Expand Down
17 changes: 17 additions & 0 deletions conf_it.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
STATIC_LIB_libzstd=/opt/homebrew/Cellar/zstd/1.5.6/lib/libzstd.a \
STATIC_LIB_libcrypto=/opt/homebrew/Cellar/openssl@3/3.3.1/lib/libcrypto.a \
STATIC_LIB_libcurl=/opt/homebrew/Cellar/curl/8.8.0/lib/libcurl.a \
STATIC_LIB_libopenssl=/opt/homebrew/Cellar/openssl@3/3.3.1/lib/libssl.a \
#LIBS=/opt/homebrew/Cellar \
LDFLAGS=-l/opt/homebrew/Cellar/openssl@3/3.3.1/lib/libssl.a,-l/opt/homebrew/Cellar/curl/8.8.0/lib/libcurl.a,-l/opt/homebrew/Cellar/openssl@3/3.3.1/lib/libcrypto.a \
#LDFLAGS=-L/opt/homebrew/Cellar/openssl@3/3.3.1/lib,-L/opt/homebrew/Cellar/curl/8.8.0/lib,-L/opt/homebrew/Cellar/openssl@3/3.3.1/lib \
PKG_CONFIG_PATH="/opt/homebrew/Cellar/openssl@3 /opt/homebrew/Cellar/curl /opt/homebrew/Cellar/cyrus-sasl /opt/homebrew/opt/cyrus-sasl/2.1.28_2/lib/pkgconfig" \
CFLAGS="-I/opt/homebrew/Cellar/openssl@3/3.3.1/include -I/opt/homebrew/Cellar/openssl@3/3.3.1/include -I/opt/homebrew/Cellar/cyrus-sasl/2.1.28_2/include -L/opt/homebrew/Cellar/cyrus-sasl/2.1.28_2/lib" \
./configure \
--prefix=/opt/homebrew \
--libdir=/opt/homebrew/Cellar \
--enable-static \
--enable-sasl \
--enable-curl \
--arch=arm64

Binary file added examples/misc
Binary file not shown.
2 changes: 2 additions & 0 deletions mklove/modules/configure.base
Original file line number Diff line number Diff line change
Expand Up @@ -871,6 +871,8 @@ function mkl_generate_libs {
function mkl_generate {

# Generate MKL_STATIC_LIBS and MKL_DYNAMIC_LIBS from LIBS
echo "these are the LIBS: $LIBS"
env
mkl_generate_libs $LIBS

local mf=
Expand Down
7 changes: 6 additions & 1 deletion mklove/modules/configure.libssl
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,14 @@ function manual_checks {
if [[ $MKL_SOURCE_DEPS_ONLY != y && $MKL_DISTRO == "osx" ]]; then
# Add brew's OpenSSL pkg-config path on OSX
# to avoid picking up the outdated system-provided openssl/libcrypto.
mkl_env_append PKG_CONFIG_PATH "/usr/local/opt/openssl/lib/pkgconfig" ":"
# (david) asdfolkajsdfglkajHSG
#mkl_env_append PKG_CONFIG_PATH "/usr/local/opt/openssl/lib/pkgconfig" ":"
# and similar path for M1 brew location
mkl_env_append PKG_CONFIG_PATH "/opt/homebrew/opt/openssl/lib/pkgconfig" ":"
mkl_env_append PKG_CONFIG_PATH "/opt/homebrew/opt/curl/lib/pkgconfig" ":"
mkl_env_append PKG_CONFIG_PATH "/opt/homebrew/opt/cyrus-sasl/2.1.28_2/lib/pkgconfig" ":"
mkl_env_append PKG_CONFIG_PATH "/opt/homebrew/opt/libxml2/2.12.8/lib/pkgconfig" ":"
mkl_env_append PKG_CONFIG_PATH "/opt/homebrew/opt/lz4/1.9.4/lib/pkgconfig" ":"
fi

# OpenSSL provides both libcrypto and libssl
Expand Down

0 comments on commit 7044b95

Please sign in to comment.