On a amd64 machine with 11.3-RELEASE-p6, the build of net-im/ejabberd 20.03 fails with the following output: root@jabber-1:~ # portmaster -d net-im/ejabberd ===>>> Port directory: /basejail/usr/ports/net-im/ejabberd ===>>> Gathering distinfo list for installed ports ===>>> Gathering dependency list for net-im/ejabberd from ports ===>>> Initial dependency check complete for net-im/ejabberd ===>>> Starting build for net-im/ejabberd <<<=== ===>>> All dependencies are up to date ===> Cleaning for ejabberd-20.03 ===> License GPLv2 accepted by the user ===> ejabberd-20.03 depends on file: /usr/local/sbin/pkg - found ===> Fetching all distfiles required by ejabberd-20.03 for building => SHA256 Checksum OK for erlang-lager-lager-3.6.10_GH0.tar.gz. => SHA256 Checksum OK for processone-p1_utils-1.0.18_GH0.tar.gz. => SHA256 Checksum OK for processone-cache_tab-1.0.22_GH0.tar.gz. => SHA256 Checksum OK for processone-fast_tls-1.1.4_GH0.tar.gz. => SHA256 Checksum OK for processone-stringprep-1.0.19_GH0.tar.gz. => SHA256 Checksum OK for processone-fast_xml-1.1.39_GH0.tar.gz. => SHA256 Checksum OK for processone-xmpp-1.4.5_GH0.tar.gz. => SHA256 Checksum OK for processone-p1_oauth2-0.6.6_GH0.tar.gz. => SHA256 Checksum OK for potatosalad-erlang-jose-1.9.0_GH0.tar.gz. => SHA256 Checksum OK for processone-eimp-1.0.14_GH0.tar.gz. => SHA256 Checksum OK for DeadZen-goldrush-0.1.9_GH0.tar.gz. => SHA256 Checksum OK for dvv-base64url-v1.0_GH0.tar.gz. => SHA256 Checksum OK for processone-ezlib-1.0.7_GH0.tar.gz. => SHA256 Checksum OK for processone-pkix-1.0.5_GH0.tar.gz. => SHA256 Checksum OK for processone-mqtree-1.0.7_GH0.tar.gz. => SHA256 Checksum OK for processone-yconf-1.0.4_GH0.tar.gz. => SHA256 Checksum OK for benoitc-erlang-idna-6.0.0_GH0.tar.gz. => SHA256 Checksum OK for benoitc-unicode_util_compat-0.4.1_GH0.tar.gz. => SHA256 Checksum OK for processone-p1_mysql-1.0.14_GH0.tar.gz. => SHA256 Checksum OK for processone-stun-1.0.31_GH0.tar.gz. => SHA256 Checksum OK for rvirding-luerl-v0.3_GH0.tar.gz. ===> Patching for ejabberd-20.03 ===> Applying FreeBSD patches for ejabberd-20.03 ===> ejabberd-20.03 depends on executable: erlc - found ===> ejabberd-20.03 depends on executable: gmake - found ===> ejabberd-20.03 depends on package: pkgconf>=1.3.0_1 - found ===> ejabberd-20.03 depends on file: /usr/local/lib/libcrypto.so.11 - found ===> ejabberd-20.03 depends on package: autoconf>=2.69 - found ===> ejabberd-20.03 depends on package: automake>=1.16.1 - found ===> ejabberd-20.03 depends on shared library: libexpat.so - found (/usr/local/lib/libexpat.so) ===> ejabberd-20.03 depends on shared library: libyaml.so - found (/usr/local/lib/libyaml.so) ===> ejabberd-20.03 depends on shared library: libgd.so - found (/usr/local/lib/libgd.so) ===> ejabberd-20.03 depends on shared library: libpng.so - found (/usr/local/lib/libpng.so) ===> ejabberd-20.03 depends on shared library: libwebp.so - found (/usr/local/lib/libwebp.so) ===> ejabberd-20.03 depends on shared library: libjpeg.so - found (/usr/local/lib/libjpeg.so) ===> Configuring for ejabberd-20.03 cd /var/ports/basejail/usr/ports/net-im/ejabberd/work/ejabberd-20.03 && /bin/sh autogen.sh configure: loading site script /basejail/usr/ports/Templates/config.site checking whether gmake sets $(MAKE)... yes checking for a BSD-compatible install... /usr/bin/install -c checking for a sed that does not truncate output... (cached) /usr/bin/sed checking for erl... /usr/local/bin/erl checking for erlc... /usr/local/bin/erlc checking for epmd... /usr/local/bin/epmd checking for erl... /usr/local/bin/erl checking for erlc... /usr/local/bin/erlc checking Erlang/OTP version... ok checking for Erlang/OTP root directory... /usr/local/lib/erlang checking for escript... /usr/local/lib/erlang/bin/escript checking for make... gmake configure: creating ./config.status config.status: creating Makefile config.status: creating vars.config config.status: creating src/ejabberd.app.src ===> Building for ejabberd-20.03 gmake[2]: Entering directory '/var/ports/basejail/usr/ports/net-im/ejabberd/work/ejabberd-20.03' rm -rf deps/.got rm -rf deps/.built mkdir -p deps /usr/local/lib/erlang/bin/escript rebar get-deps && :> deps/.got ==> goldrush (get-deps) ==> lager (get-deps) ==> p1_utils (get-deps) ==> cache_tab (get-deps) ==> fast_tls (get-deps) ==> stringprep (get-deps) ==> fast_xml (get-deps) ==> unicode_util_compat (get-deps) ==> idna (get-deps) ==> ezlib (get-deps) ==> xmpp (get-deps) ==> fast_yaml (get-deps) ==> yconf (get-deps) ==> jiffy (get-deps) WARN: Missing plugins: [rebar3_hex] ==> p1_oauth2 (get-deps) WARN: /var/ports/basejail/usr/ports/net-im/ejabberd/work/ejabberd-20.03/deps/base64url/src/base64url.app.src has version "1.0"; requested regex was 0.0.1 ==> jose (get-deps) ==> eimp (get-deps) ==> mqtree (get-deps) ==> base64url (get-deps) ==> p1_acme (get-deps) ==> stun (get-deps) ==> p1_mysql (get-deps) ==> rel (get-deps) ==> ejabberd-20.03 (get-deps) /usr/local/lib/erlang/bin/escript rebar configure-deps ==> lager (configure-deps) ==> p1_utils (configure-deps) ==> cache_tab (configure-deps) ==> fast_tls (configure-deps) checking for gcc... cc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether cc accepts -g... yes checking for cc option to accept ISO C89... none needed checking whether make sets $(MAKE)... yes checking for an ANSI C-conforming const... yes checking how to run the C preprocessor... cpp checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for stdlib.h... (cached) yes checking for GNU libc compatible malloc... yes checking for ANSI C header files... (cached) yes checking for erl... /usr/local/lib/erlang/erts-10.3.5.9/bin/erl checking for erlc... /usr/local/lib/erlang/erts-10.3.5.9/bin/erlc checking for SHA1_Init in -lcrypto... yes checking openssl/ssl.h usability... yes checking openssl/ssl.h presence... yes checking for openssl/ssl.h... yes checking openssl/err.h usability... yes checking openssl/err.h presence... yes checking for openssl/err.h... yes checking openssl/sha.h usability... yes checking openssl/sha.h presence... yes checking for openssl/sha.h... yes checking openssl/opensslv.h usability... yes checking openssl/opensslv.h presence... yes checking for openssl/opensslv.h... yes configure: creating ./config.status config.status: creating vars.config ==> stringprep (configure-deps) checking for gcc... cc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether cc accepts -g... yes checking for cc option to accept ISO C89... none needed checking whether make sets $(MAKE)... yes checking for an ANSI C-conforming const... yes checking how to run the C preprocessor... cpp checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for ANSI C header files... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for stdlib.h... (cached) yes checking for GNU libc compatible malloc... yes checking for ANSI C header files... (cached) yes checking for erl... /usr/local/lib/erlang/erts-10.3.5.9/bin/erl checking for erlc... /usr/local/lib/erlang/erts-10.3.5.9/bin/erlc configure: creating ./config.status config.status: creating vars.config ==> fast_xml (configure-deps) checking for gcc... cc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether cc accepts -g... yes checking for cc option to accept ISO C89... none needed checking whether make sets $(MAKE)... yes checking for an ANSI C-conforming const... yes checking how to run the C preprocessor... cpp checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for stdlib.h... (cached) yes checking for GNU libc compatible malloc... yes checking for ANSI C header files... (cached) yes checking for erl... /usr/local/lib/erlang/erts-10.3.5.9/bin/erl checking for erlc... /usr/local/lib/erlang/erts-10.3.5.9/bin/erlc checking expat.h usability... yes checking expat.h presence... yes checking for expat.h... yes checking for library containing XML_ParserCreate... -lexpat configure: creating ./config.status config.status: creating vars.config ==> idna (configure-deps) ==> xmpp (configure-deps) ==> fast_yaml (configure-deps) checking for gcc... cc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether cc accepts -g... yes checking for cc option to accept ISO C89... none needed checking whether make sets $(MAKE)... yes checking for an ANSI C-conforming const... yes checking how to run the C preprocessor... cpp checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for stdlib.h... (cached) yes checking for GNU libc compatible malloc... yes checking for erl... /usr/local/lib/erlang/erts-10.3.5.9/bin/erl checking for erlc... /usr/local/lib/erlang/erts-10.3.5.9/bin/erlc checking yaml.h usability... yes checking yaml.h presence... yes checking for yaml.h... yes checking for library containing yaml_parser_initialize... -lyaml configure: creating ./config.status config.status: creating vars.config ==> yconf (configure-deps) ==> jiffy (configure-deps) WARN: Missing plugins: [rebar3_hex] ==> p1_oauth2 (configure-deps) ==> pkix (configure-deps) WARN: /var/ports/basejail/usr/ports/net-im/ejabberd/work/ejabberd-20.03/deps/base64url/src/base64url.app.src has version "1.0"; requested regex was 0.0.1 ==> jose (configure-deps) ==> eimp (configure-deps) checking for gcc... cc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether cc accepts -g... yes checking for cc option to accept ISO C89... none needed checking whether make sets $(MAKE)... yes checking for an ANSI C-conforming const... yes checking how to run the C preprocessor... cpp checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for stdlib.h... (cached) yes checking for GNU libc compatible malloc... yes checking for erl... /usr/local/lib/erlang/erts-10.3.5.9/bin/erl checking for erlc... /usr/local/lib/erlang/erts-10.3.5.9/bin/erlc checking gd.h usability... yes checking gd.h presence... yes checking for gd.h... yes checking for library containing gdImageScale... -lgd checking jpeglib.h usability... yes checking jpeglib.h presence... yes checking for jpeglib.h... yes checking for library containing gdImageCreateFromJpegPtr, gdImageJpegPtr... none required checking for library containing jpeg_read_header... -ljpeg checking png.h usability... yes checking png.h presence... yes checking for png.h... yes checking for library containing gdImageCreateFromPngPtr, gdImagePngPtr... none required checking for library containing png_sig_cmp... -lpng checking webp/decode.h usability... yes checking webp/decode.h presence... yes checking for webp/decode.h... yes checking for library containing gdImageCreateFromWebpPtr, gdImageWebpPtr... none required checking for library containing WebPGetInfo... -lwebp configure: creating ./config.status config.status: creating vars.config ==> mqtree (configure-deps) ==> p1_acme (configure-deps) ==> stun (configure-deps) ==> p1_mysql (configure-deps) ==> luerl (configure-deps) ==> rel (configure-deps) ==> ejabberd-20.03 (configure-deps) /usr/local/lib/erlang/bin/escript rebar compile && :> deps/.built ==> goldrush (compile) Compiled src/gr_param_sup.erl Compiled src/glc_run.erl Compiled src/gr_counter.erl Compiled src/gr_sup.erl Compiled src/glc.erl Compiled src/glc_lib.erl Compiled src/gr_context.erl Compiled src/gr_manager.erl Compiled src/gr_counter_sup.erl Compiled src/gr_manager_sup.erl Compiled src/gr_param.erl Compiled src/glc_ops.erl Compiled src/gr_app.erl Compiled src/gre.erl Compiled src/glc_code.erl ==> lager (compile) Compiled src/lager_util.erl Compiled src/lager_rotator_behaviour.erl Compiled src/lager_transform.erl Compiled src/lager_msg.erl Compiled src/lager_manager_killer.erl Compiled src/lager_backend_throttle.erl Compiled src/lager_rotator_default.erl Compiled src/lager_console_backend.erl Compiled src/lager_app.erl Compiled src/lager.erl Compiled src/lager_trunc_io.erl Compiled src/lager_handler_watcher_sup.erl Compiled src/lager_default_formatter.erl Compiled src/lager_handler_watcher.erl Compiled src/error_logger_lager_h.erl Compiled src/lager_file_backend.erl Compiled src/lager_crash_log.erl Compiled src/lager_common_test_backend.erl Compiled src/lager_sup.erl Compiled src/lager_config.erl Compiled src/lager_format.erl Compiled src/lager_stdlib.erl ==> p1_utils (compile) Compiled src/p1_server.erl Compiled src/p1_time_compat.erl Compiled src/p1_http.erl Compiled src/p1_options.erl Compiled src/p1_queue.erl Compiled src/p1_file_queue.erl Compiled src/p1_utils.erl Compiled src/p1_fsm.erl Compiled src/p1_utils_sup.erl Compiled src/p1_nif_utils.erl Compiled src/treap.erl Compiled src/p1_rand.erl Compiled src/p1_shaper.erl Compiled src/p1_prof.erl Compiled src/p1_edoc_layout.erl ==> cache_tab (compile) Compiled src/ets_cache_options.erl Compiled src/cache_tab_app.erl Compiled src/cache_tab_sup.erl Compiled src/cache_tab.erl Compiled src/ets_cache.erl Compiling c_src/ets_cache.c ==> fast_tls (compile) Compiled src/fast_tls_app.erl Compiled src/fast_tls_sup.erl Compiled src/p1_sha.erl Compiled src/fast_tls.erl Compiling c_src/fast_tls.c Compiling c_src/ioqueue.c Compiling c_src/p1_sha.c ==> stringprep (compile) Compiled src/stringprep_app.erl Compiled src/stringprep_sup.erl Compiled src/stringprep.erl Compiling c_src/stringprep.cpp ==> fast_xml (compile) Compiled src/fxml_gen_pt.erl Compiled src/fxml_stream.erl Compiled src/fxml.erl Compiled src/fxmlrpc_codec_external.erl Compiled src/fxmlrpc.erl Compiled src/fast_xml.erl Compiled src/fxmlrpc_codec.erl Compiled src/fxml_gen.erl Compiling c_src/fxml.c Compiling c_src/fxml_stream.c ==> unicode_util_compat (compile) Compiled src/unicode_util_compat.erl ==> idna (compile) Compiled src/idna_ucs.erl Compiled src/idna_table.erl Compiled src/idna_bidi.erl Compiled src/punycode.erl Compiled src/idna_context.erl Compiled src/idna.erl Compiled src/idna_mapping.erl Compiled src/idna_data.erl ==> ezlib (compile) checking for gcc... cc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether cc accepts -g... yes checking for cc option to accept ISO C89... none needed checking whether make sets $(MAKE)... yes checking for an ANSI C-conforming const... yes checking how to run the C preprocessor... cpp checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for stdlib.h... (cached) yes checking for GNU libc compatible malloc... yes checking for ANSI C header files... (cached) yes checking for erl... /usr/local/lib/erlang/erts-10.3.5.9/bin/erl checking for erlc... /usr/local/lib/erlang/erts-10.3.5.9/bin/erlc checking zlib.h usability... yes checking zlib.h presence... yes checking for zlib.h... yes configure: creating ./config.status config.status: creating vars.config Compiled src/ezlib_sup.erl Compiled src/ezlib_app.erl Compiled src/ezlib.erl Compiling c_src/ezlib_drv.c ==> xmpp (compile) Compiled asn1/XmppAddr.asn1 Compiled src/xmpp_socket.erl Compiled src/xmpp_sasl.erl Compiled src/xep0280.erl Compiled src/xep0065.erl Compiled src/xmpp_sasl_oauth.erl Compiled src/xep0199.erl Compiled src/flex_offline.erl Compiled src/xep0300.erl Compiled src/xep0022.erl Compiled src/muc_request.erl Compiled src/pubsub_get_pending.erl Compiled src/xmpp_sasl_anonymous.erl Compiled src/xep0264.erl Compiled src/xep0059.erl Compiled src/xep0356.erl Compiled src/xmpp_tr.erl Compiled src/xep0050.erl Compiled src/xep0048.erl Compiled src/xmpp_util.erl Compiled src/xep0033.erl Compiled src/muc_roominfo.erl Compiled src/xep0249.erl Compiled src/xmpp_stream_out.erl Compiled src/xmpp_sasl_digest.erl Compiled src/push_summary.erl Compiled src/xmpp.erl Compiled src/xep0172.erl Compiled src/XmppAddr.erl Compiled src/xep0363.erl Compiled src/xep0023.erl Compiled src/xep0334.erl Compiled src/xdata_codec.erl Compiled src/p1_mucsub.erl Compiled src/xep0016.erl Compiled src/xep0405.erl Compiled src/http_upload.erl Compiled src/xep0191.erl Compiled src/xmpp_uri.erl Compiled src/xep0297.erl Compiled src/xmpp_sasl_scram.erl Compiled src/xep0319.erl Compiled src/xep0198.erl Compiled src/xep0158.erl Compiled src/jid.erl Compiled src/xep0359.erl Compiled src/xep0049.erl Compiled src/xep0234.erl Compiled src/xep0047.erl Compiled src/pubsub_subscribe_options.erl Compiled src/xep0357.erl Compiled src/xep0184.erl Compiled src/xep0417.erl Compiled src/xep0078.erl Compiled src/xmpp_stream_in.erl Compiled src/pubsub_subscribe_authorization.erl Compiled src/xep0004.erl Compiled src/xep0279.erl Compiled src/xep0313.erl Compiled src/xep0115.erl Compiled src/xep0202.erl Compiled src/xep0328.erl Compiled src/xep0092.erl Compiled src/xep0084.erl Compiled src/rfc3921.erl Compiled src/xep0055.erl Compiled src/xep0261.erl Compiled src/xmpp_codec_external.erl Compiled src/xmpp_codec.erl Compiled src/mam_query.erl Compiled src/xep0012.erl Compiled src/xep0221.erl Compiled src/xep0131.erl Compiled src/captcha_form.erl Compiled src/xmpp_sup.erl Compiled src/rfc6121.erl Compiled src/xep0138.erl Compiled src/xep0377.erl Compiled src/xep0039.erl Compiled src/muc_roomconfig.erl Compiled src/xep0352.erl Compiled src/xep0355.erl Compiled src/xep0166.erl Compiled src/xep0203.erl Compiled src/xep0114.erl Compiled src/xep0045.erl Compiled src/xmpp_config.erl Compiled src/xep0030.erl Compiled src/xep0369.erl Compiled src/xep0231.erl Compiled src/scram.erl Compiled src/xep0060.erl Compiled src/xep0153.erl Compiled src/pubsub_meta_data.erl Compiled src/xmpp_stream.erl Compiled src/xep0066.erl Compiled src/xep0077.erl Compiled src/xmpp_stream_pkix.erl Compiled src/xmpp_sasl_plain.erl Compiled src/xep0013.erl Compiled src/xep0260.erl Compiled src/xep0085.erl Compiled src/xep0054.erl Compiling c_src/jid.c Compiling c_src/xmpp_uri.c Compiling c_src/xmpp_lang.c ==> fast_yaml (compile) Compiled src/fast_yaml_app.erl Compiled src/fast_yaml_sup.erl Compiled src/fast_yaml.erl Compiling c_src/fast_yaml.c ==> yconf (compile) Compiled src/yconf.erl ==> jiffy (compile) Compiling c_src/decoder.c Compiling c_src/encoder.c Compiling c_src/jiffy.c Compiling c_src/termstack.c Compiling c_src/utf8.c Compiling c_src/util.c Compiling c_src/doubles.cc Compiling c_src/objects.cc Compiling c_src/double-conversion/bignum-dtoa.cc Compiling c_src/double-conversion/bignum.cc Compiling c_src/double-conversion/cached-powers.cc Compiling c_src/double-conversion/diy-fp.cc Compiling c_src/double-conversion/double-conversion.cc Compiling c_src/double-conversion/fast-dtoa.cc Compiling c_src/double-conversion/fixed-dtoa.cc Compiling c_src/double-conversion/strtod.cc /usr/bin/ld: unrecognized option '-plugin' /usr/bin/ld: use the --help option for usage information c++: error: linker command failed with exit code 1 (use -v to see invocation) sh(c++ c_src/decoder.o c_src/encoder.o c_src/jiffy.o c_src/termstack.o c_src/utf8.o c_src/util.o c_src/doubles.o c_src/objects.o c_src/double-conversion/bignum-dtoa.o c_src/doub le-conversion/bignum.o c_src/double-conversion/cached-powers.o c_src/double-conversion/diy-fp.o c_src/double-conversion/double-conversion.o c_src/double-conversion/fast-dtoa.o c _src/double-conversion/fixed-dtoa.o c_src/double-conversion/strtod.o -L/usr/local/lib -Wl,-rpath,/usr/local/lib -fstack-protector-strong -flto -lstdc++ -flto -lstdc++ -shared -L"/usr/local/lib/erlang/lib/erl_interface-3.11.3/lib" -lerl_interface -lei -o priv/jiffy.so) failed with return code 1 and the following output: /usr/bin/ld: unrecognized option '-plugin' /usr/bin/ld: use the --help option for usage information c++: error: linker command failed with exit code 1 (use -v to see invocation) ERROR: Command [compile] failed! gmake[2]: *** [Makefile:112: deps/.built] Error 1 gmake[2]: Leaving directory '/var/ports/basejail/usr/ports/net-im/ejabberd/work/ejabberd-20.03' ===> Compilation failed unexpectedly. Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to the maintainer. *** Error code 1 Stop. make[1]: stopped in /basejail/usr/ports/net-im/ejabberd *** Error code 1 Stop. make: stopped in /basejail/usr/ports/net-im/ejabberd ===>>> make build failed for net-im/ejabberd ===>>> Aborting update ===>>> You can restart from the point of failure with this command line: portmaster <flags> net-im/ejabberd This command has been saved to ~/portmasterfail.txt
Can you remove the link-time optimisation? (-flto) FYI: I successfully built ejabberd on both i386 and amd64 on 27th March.
(In reply to dewayne from comment #1) Indeed the problem seems to be their custom compiler/linker flags. Thanks for noticing it. (In reply to Bernhard from comment #0) Could you please share the output of: make -C /basejail/usr/ports/net-im/ejabberd -V CFLAGS -V CXXFLAGS -V LDFLAGS Thanks!
Thanks for responding so quickly! root@jabber-1:~ # make -C /basejail/usr/ports/net-im/ejabberd -V CFLAGS -V CXXFLAGS -V LDFLAGS -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -I/usr/local/include -fstack-protector-strong -fno-strict-aliasing -L/usr/local/lib -Wl,-rpath,/usr/local/lib -fstack-protector-strong
(In reply to Bernhard from comment #3) Thanks, I'm also able to reproduce it on a friend's 11.x host.
Created attachment 213191 [details] Probable fix Could you give this attached diff a try, and see if it works for you ? Thanks!
I can confirm, that your patch worked me!
A commit references this bug: Author: ashish Date: Wed Apr 8 13:14:04 UTC 2020 New revision: 531114 URL: https://svnweb.freebsd.org/changeset/ports/531114 Log: - Fix brokenness on 11.x due to lack of LTO support, required by one of the dependency Thanks to dewayne@heuristicsystems.com.au for pointing out the issue PR: 245428 Reported by: Bernhard <bernhard.kneip@postadigitale.de>, pkg-fallout@ Changes: head/net-im/ejabberd/Makefile
Committed, Thanks!
(In reply to Ashish SHUKLA from comment #8) Ashish, I'm not quite sure why you restricted the fix to pre 12 systems. I'd just updated my port build and ejabberd failed to build on my 12.1Stable amd64 system. Commenting out the test which enables lto to be removed, and my build succeed :)
(In reply to dewayne from comment #9) This is weird. The ld shipped with 12.1-RELEASE (lld 8.0.1) supports -plugin option, and I believe lld 9.0.1 which is shipped with 12.1-STABLE supports it too. Could you provide the output of: % cat >hello.c <<EOF #include <stdio.h> int main() { puts("Hello"); } EOF % cc -v -flto -o hello hello.c I tested on a 12.1-STABLE host and seems to work fine for me. 12.1-STABLE FreeBSD 12.1-STABLE #0 r356856: Sat Jan 18 03:52:01 UTC 2020 Thanks!
(In reply to Ashish SHUKLA from comment #10) Thank-you. Yes I get a good result in my base system but not in the jail. Please disregard my suggestion. I think I have a damaged jail. (which is going to take some time to sort out). I appreciate your example. :) # cc -v -flto -o hello hello.c FreeBSD clang version 9.0.1 (git@github.com:llvm/llvm-project.git c1a0a213378a458fbea1a5c77b3 15c7dce08fd05) (based on LLVM 9.0.1) Target: x86_64-unknown-freebsd12.1 Thread model: posix InstalledDir: /usr/bin "/usr/bin/cc" -cc1 -triple x86_64-unknown-freebsd12.1 -emit-llvm-bc -flto -flto-unit -disabl e-free -disable-llvm-verifier -discard-value-names -main-file-name hello.c -mrelocation-model static -mthread-model posix -mdisable-fp-elim -masm-verbose -mconstructor-aliases -munwind-t ables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -v -resourc e-dir /usr/lib/clang/9.0.1 -fdebug-compilation-dir /tmp -ferror-limit 19 -fmessage-length 93 -fobjc-runtime=gnustep -fdiagnostics-show-option -fcolor-diagnostics -faddrsig -o /tmp/hello- 5d5a14.o -x c hello.c clang -cc1 version 9.0.1 based upon LLVM 9.0.1 default target x86_64-unknown-freebsd12.1 #include "..." search starts here: #include <...> search starts here: /usr/lib/clang/9.0.1/include /usr/include End of search list. "/usr/bin/ld" --eh-frame-hdr -dynamic-linker /libexec/ld-elf.so.1 --hash-style=both --enable -new-dtags -o hello /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbegin.o -L/usr/lib -plugin /u sr/bin/../lib/LLVMgold.so -plugin-opt=mcpu=x86-64 /tmp/hello-5d5a14.o -lgcc --as-needed -lgcc _s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/crtend.o /usr/lib/crt n.o ./hello Hello