[Bug 257658] lang/crystal: 1.1.1 fails to detect openssl version
Date: Fri, 06 Aug 2021 14:08:15 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=257658 Bug ID: 257658 Summary: lang/crystal: 1.1.1 fails to detect openssl version Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: Individual Port(s) Assignee: ports-bugs@FreeBSD.org Reporter: mandree@FreeBSD.org CC: dch@freebsd.org, greg@unrelenting.technology Flags: maintainer-feedback?(greg@unrelenting.technology) CC: greg@unrelenting.technology lang/crystal's openssl integration is unable to work with OpenSSL providers that do not provide a pkg-config. Trigger: compile avalanchemq from https://reviews.freebsd.org/D31410 and see linker errors that look like the OpenSSL module is expecting an ancient OpenSSL API, not 1.1.1's. Debugging this with dch on IRC, I find this on FreeBSD 13.0: 1. Crystal's openssl modules, through /usr/local/lib/crystal/openssl/lib_ssl.cr, tries to derive the OpenSSL version like so: {% ssl_version = `hash pkg-config 2> /dev/null && pkg-config --silence-errors --modversion libssl || printf %s 0.0.0`.split.last.gsub(/[^0-9.]/, "") %} Now, FreeBSD's base OpenSSL does not provide the typical libssl.pc, libcrypto.pc or openssl.pc files, so this line comes up with version 0.0.0 as a fallback. This however causes the Crystal OpenSSL code to use an old OpenSSL API version which expects all sorts of outdated symbols from the libraries, which 1.1.1 no longer provides. I am unaware of the Crystal language, so I cannot provide a fix. Please patch Crystal in a way that it properly detects the OpenSSL version (1.1.1k as of 13.0-RELEASE) and uses the right API. -- You are receiving this mail because: You are the assignee for the bug.