I am attempting to build the percentile sqlite extension on an M1 laptop using the instructions on the page:
gcc -g -fPIC -shared percentile.c -o percentile.so
However, that results in the following errors from clang
:
$ gcc -g -fPIC -shared percentile.c -o percentile.soUndefined symbols for architecture arm64:"_sqlite3_aggregate_context", referenced from: _percentStep in percentile-a11598.o _percentFinal in percentile-a11598.o"_sqlite3_create_function", referenced from: _sqlite3_percentile_init in percentile-a11598.o _sqlite3_percentile_init in percentile-a11598.o _sqlite3_percentile_init in percentile-a11598.o"_sqlite3_free", referenced from: _percentStep in percentile-a11598.o _percentFinal in percentile-a11598.o"_sqlite3_realloc64", referenced from: _percentStep in percentile-a11598.o"_sqlite3_result_double", referenced from: _percentFinal in percentile-a11598.o"_sqlite3_result_error", referenced from: _percentStep in percentile-a11598.o _percentStep in percentile-a11598.o _percentStep in percentile-a11598.o _percentStep in percentile-a11598.o _percentStep in percentile-a11598.o"_sqlite3_result_error_nomem", referenced from: _percentStep in percentile-a11598.o"_sqlite3_user_data", referenced from: _percentStep in percentile-a11598.o"_sqlite3_value_double", referenced from: _percentStep in percentile-a11598.o _percentStep in percentile-a11598.o _percentStep in percentile-a11598.o"_sqlite3_value_numeric_type", referenced from: _percentStep in percentile-a11598.o _percentStep in percentile-a11598.o"_sqlite3_value_type", referenced from: _percentStep in percentile-a11598.old: symbol(s) not found for architecture arm64clang: error: linker command failed with exit code 1 (use -v to see invocation)
Is it possible to build sqlite extensions using clang, or do I need to get real GCC to make this work?