@@ -91,7 +91,6 @@ RUST_FEATURES="-DENABLE_RUST=0"
9191GLIBC_COMPATIBILITY=" -DGLIBC_COMPATIBILITY=0"
9292UNWIND=" -DUSE_UNWIND=0"
9393JEMALLOC=" -DENABLE_JEMALLOC=0"
94- PYINIT_ENTRY=" -Wl,-exported_symbol,_PyInit_${CHDB_PY_MOD} "
9594HDFS=" -DENABLE_HDFS=0 -DENABLE_GSASL_LIBRARY=0 -DENABLE_KRB5=0"
9695MYSQL=" -DENABLE_MYSQL=0"
9796ICU=" -DENABLE_ICU=0"
@@ -183,7 +182,7 @@ if [ ! "${USING_RESPONSE_FILE}" == "" ]; then
183182fi
184183
185184# For macOS, replace PyInit entry point with exported symbols for libchdb
186- LIBCHDB_CMD=$( echo $ {LIBCHDB_CMD} | sed ' s/ ' ${PYINIT_ENTRY} ' / -Wl,-exported_symbol,_query_stable -Wl,-exported_symbol,_free_result -Wl,-exported_symbol,_query_stable_v2 -Wl,-exported_symbol,_free_result_v2/g ' )
185+ LIBCHDB_CMD=" $ {LIBCHDB_CMD} -Wl,-exported_symbols_list, ${CHDB_DIR} /libchdb_export_macos.txt "
187186
188187LIBCHDB_CMD=$( echo ${LIBCHDB_CMD} | sed ' s/@CMakeFiles\/clickhouse.rsp/@CMakeFiles\/libchdb.rsp/g' )
189188
221220
222221# Extract the command to generate CHDB_PY_MODULE
223222PYCHDB_CMD=$( grep -m 1 ' clang++.*-o programs/clickhouse .*' build.log \
224- | sed " s/-o programs\/clickhouse/-fPIC -Wl,-undefined,dynamic_lookup -shared ${PYINIT_ENTRY} -o ${CHDB_PY_MODULE} /" \
223+ | sed " s/-o programs\/clickhouse/-fPIC -Wl,-undefined,dynamic_lookup -shared -o ${CHDB_PY_MODULE} /" \
225224 | sed ' s/^[^&]*&& //' | sed ' s/&&.*//' \
226225 | sed ' s/ -Wl,-undefined,error/ -Wl,-undefined,dynamic_lookup/g' \
227226 | sed ' s/ -Xlinker --no-undefined//g' \
@@ -230,6 +229,7 @@ PYCHDB_CMD=$(grep -m 1 'clang++.*-o programs/clickhouse .*' build.log \
230229
231230# For macOS, set rpath
232231PYCHDB_CMD=$( echo ${PYCHDB_CMD} | sed ' s|-Wl,-rpath,/[^[:space:]]*/pybind11-cmake|-Wl,-rpath,@loader_path|g' )
232+ PYCHDB_CMD=" ${PYCHDB_CMD} -Wl,-exported_symbols_list,${CHDB_DIR} /pychdb_export_macos.txt"
233233
234234# Save the command to a file for debug
235235echo ${PYCHDB_CMD} > pychdb_cmd.sh
0 commit comments