id summary reporter owner description type status priority milestone component version resolution keywords cc uname nginx_version 1765 configure is fragile in finding system libraries nieder@… "configure uses its own homebuilt scripts to detect system libraries. Currently, this will most likely fail on macOS with Xcode10 if the builder doesn't have Macports installed into /opt/local or is using another package manager. Xcode10 does not install headers into /usr/include (only into /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk). So the script in `auto/lib/libxslt/conf` will fail to find libxslt by not finding libxml2. Alternatively, the build can find headers from the system install, but use the library from a local install (Fink or MacPorts not in /opt/local) because it's not setting the correct -I flags. In the paste below, -I/sw/include/libxml2 is missing (from a Xcode9 install with /usr/include/libxml2 present). {{{ cc -c -g -O2 -fstack-protector -Wformat -Werror=format-security -fPIE -g -O2 -fstack-protector -Wformat -Werror=format-security -fPIE -D_FORTIFY_SOURCE=2 -MD -I/sw/include -I src/core -I src/event -I src/event/modules -I src/os/unix -I /usr/include/libxml2 -I objs -I src/http -I src/http/modules -I src/http/v2 -I src/http/modules/perl \ -o objs/src/http/modules/ngx_http_xslt_filter_module.o \ src/http/modules/ngx_http_xslt_filter_module.c }}} So this build will eventually use headers from /usr/include/libxml2 but link to a different /sw/lib/libxml2.dylib install. Instead of hardcoding the possible search locations of system libraries, the configure detection subscripts should use pkg-config (or the library included *-config script) whenever possible. Of the detected libraries in auto/lib, geoip, libgd, libxslt, openssl, pcre, and zlib all officially include .pc files from upstream and should be a more foolproof way of detecting their presence and usage flags. " enhancement new minor other Darwin Bubble.fios-router.home 17.7.0 Darwin Kernel Version 17.7.0: Wed Feb 27 00:43:23 PST 2019; root:xnu-4570.71.35~1/RELEASE_X86_64 x86_64 "nginx version: nginx/1.14.2 built with OpenSSL 1.1.1b 26 Feb 2019 TLS SNI support enabled configure arguments: --prefix=/sw --conf-path=/sw/etc/nginx/nginx.conf --error-log-path=/sw/var/log/nginx/error.log --http-client-body-temp-path=/sw/var/lib/nginx/body --http-fastcgi-temp-path=/sw/var/lib/nginx/fastcgi --http-log-path=/sw/var/log/nginx/access.log --http-proxy-temp-path=/sw/var/lib/nginx/proxy --http-scgi-temp-path=/sw/var/lib/nginx/scgi --http-uwsgi-temp-path=/sw/var/lib/nginx/uwsgi --lock-path=/sw/var/lock/nginx/nginx.lock --modules-path=/sw/var/lib/nginx/modules --pid-path=/sw/var/run/nginx.pid --with-pcre-jit --with-debug --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_geoip_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_mp4_module --with-http_perl_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-http_v2_module --with-http_xslt_module --with-ipv6 --with-mail --with-mail_ssl_module --with-perl=/usr/bin/perl --with-stream --with-stream_ssl_module --with-threads --user=www --group=www --with-ld-opt='-Wl,-read_only_stubs -Wl,-bind_at_load -fPIE -Wl,-pie -L/sw/lib' --with-cc-opt='-g -O2 -fstack-protector -Wformat -Werror=format-security -fPIE -D_FORTIFY_SOURCE=2 -I/sw/include' --with-perl_modules_path=/sw/lib/perl5/5.18.2"