You are not logged in.

#1 2023-01-24 21:33:39

jwrichards82
Member
Registered: 2023-01-24
Posts: 12

error while loading shared libraries: libcurl-nss.so.4: cannot[solved]

I am attempting to run a program that is built for Linux, but the developer doesn't have a list of dependencies.
Program in question is Crescent Loom (https://wick.itch.io/crescent-loom)
When I open a terminal and 'cd' into the directory for it (~/Games/crescentloom/),
then run

"./Crescent Loom"

I get back

./Crescent Loom: error while loading shared libraries: libcurl-nss.so.4: cannot open shared object file: No such file or directory

I have installed from the repository curl, curlftpfs, lib32-curl, lib32-libcurl-compat, lib32-libcurl-gnutls, libcurl-compat and libcurl-gnutls
I have nss and lib32-nss
I have openssl and lib32-openssl (some articles read had that as a possible fix)
I have not found anything I believe to be useful on the AUR, so nothing installed from there.

I did the pacman -Syyu update and reboot my computer and still get the same error.

When googling for it, I get various hits and results for Ubuntu and Debian 'answers' but nothing that points to a particular package or suite to install.

ldconfig -p | grep curl

returns:

libcurl.so.4 (libc6,x86-64) => /usr/lib/libcurl.so.4
libcurl.so.4 (libc6) => /usr/lib32/libcurl.so.4
libcurl.so (libc6,x86-64) => /usr/lib/libcurl.so
libcurl.so (libc6) => /usr/lib32/libcurl.so
libcurl-gnutls.so.4 (libc6,x86-64) => /usr/lib/libcurl-gnutls.so.4
libcurl-gnutls.so (libc6,x86-64) => /usr/lib/libcurl-gnutls.so 

So, it looks like the short answer is that libcurl-nss.so.4 is really not on my system, but I have no clue what I need to install or compile to have it on my system.

In some of my searches, openssl is linked to it? but both openssl and lib32-openssl are installed and nada.

Any pointer to an article or link and I will do my own reading wink I am not afraid to read. Just after looking for about 4 hours now, I recognize I am either not looking properly or just not knowledgeable enough yet.

Last edited by jwrichards82 (2023-01-25 13:50:44)

Offline

#2 2023-01-24 21:40:55

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 29,441
Website

Re: error while loading shared libraries: libcurl-nss.so.4: cannot[solved]

jwrichards82 wrote:

I did the pacman -Syyu update

A bit off-topic, but that is not the proper way to update.  Get rid of the extra 'y' and stop reading whichever "tutorials" told you to use that.

jwrichards82 wrote:

... a program that is built for Linux

There's no such thing.  Programs can be written for linux, but they are built against a specific set of libraries, e.g., it could be built for Ubuntu RustyTrombone (or whatever their current version is) but not "for Linux".  If it is open source, rebuild it on your system.  Otherwise you'll have to find a way to install older libs along side the current ones - but this is tricky under the best of conditions.  It may just be easier to fire up a vm of a point release distro that this binary is built against.

I think that library (from the error message) would be in curl version 7.40.  But even if you get that installed, you're likely going to hit a laundry list of other dependency issues.  Please post the full output of `ldd "./Crescent Loom"`.

Side note: did you purchase this without knowing whether it would even run on your system?

Last edited by Trilby (2023-01-24 21:46:50)


"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Offline

#3 2023-01-24 21:56:43

jwrichards82
Member
Registered: 2023-01-24
Posts: 12

Re: error while loading shared libraries: libcurl-nss.so.4: cannot[solved]

"Side note: did you purchase this without knowing whether it would even run on your system?"

Nope. It was part of a larger purchase, a bundle off games and TTRPG books. The developer's page lists builds for Windows, macOS, embedded HTML and Linux. I downloaded the Linux package. Hence my terminology "built for Linux".
Sometimes, I will run into a missing dependency on a Linux game, but I can usually resolve it very quickly. I have even become familiar enough with WINE to get some old Windows 95 games to run quite well.

ldd "./Crescent Loom"

returned

 linux-vdso.so.1 (0x00007fff3cd7d000)
        libGL.so.1 => /usr/lib/libGL.so.1 (0x00007fbca7e6a000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0x00007fbca7d27000)
        libopenal.so.1 => /usr/lib/libopenal.so.1 (0x00007fbca7bac000)
        libcurl-nss.so.4 => not found
        libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007fbca7ba7000)
        libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fbca7ba0000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fbca7800000)
        libm.so.6 => /usr/lib/libm.so.6 (0x00007fbca7ab8000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007fbca7a98000)
        libc.so.6 => /usr/lib/libc.so.6 (0x00007fbca7619000)
        libGLdispatch.so.0 => /usr/lib/libGLdispatch.so.0 (0x00007fbca7561000)
        libGLX.so.0 => /usr/lib/libGLX.so.0 (0x00007fbca7a64000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007fbca7a39000)
        /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fbca7f22000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0x00007fbca755c000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007fbca7554000)

The -Syyu thing, apologies. I meant -Syu. Some of my keys double hit; old mechanical switch keyboard. Needs cleaning, maybe new springs and caps.

Last edited by jwrichards82 (2023-01-24 21:58:06)

Offline

#4 2023-01-24 22:05:50

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 29,441
Website

Re: error while loading shared libraries: libcurl-nss.so.4: cannot[solved]

Ah, the good news is that libcurl is indeed the only one that would be a problem.  And it may not even be so much of an version mismatch issue, but rather than the repo curl doesn't provide libcurl-nss (I forget the details of that, but I've seen it discussed before).  I'd not be surprised if the AUR package libcurl-openssl-1.0 did provide that and then you'd be set.

EDIT: yup, confirmed, libcurl-openssl-1.0 from the AUR is all you should need, though openssl-1.0 has to be built first (which can take a few minutes to build depending on your hardware).

As for the double-y, no worries.  It is, unfortunately commong for people to use -Syyu deliberately, and doing so is a pet peeve of mine.

Last edited by Trilby (2023-01-24 22:14:09)


"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Offline

#5 2023-01-24 22:28:09

jwrichards82
Member
Registered: 2023-01-24
Posts: 12

Re: error while loading shared libraries: libcurl-nss.so.4: cannot[solved]

Unhappy to report; libcurl-openssl-1.0 did not help. I let it compile and install, then reboot and still no libcurl-nss.so file anywhere.

Maybe I should route around the AUR for a bit? I still have no clue for what I am looking for. Maybe this just won't work for me if it belongs to some "all purpose" library that gets installed on systems like Ubuntu. The closest I see to as resolution is a package for Ubuntu "libcurl4-nss-dev" Again, unless I am completely missing a package name translation that is available on main or AUR.
I doubt the dev will let me at the source to recompile against libraries I do have.

You must have been editing while I was typing. I am going to dive into the source package that yay downloaded. I let it compile and rebooted and it didn't "go", But I got no errors during compile so... eh?
[edit] yeah. Looking around the source folder I am even more lost at the moment. XD I know enough to be dangerous and I borked my install more than once int he last few months.

[edit2] I looked through the built package and there is nothing with curl in the folders and file names... I have no idea where to look in the original source if it even attempts to build a libcurl-nss.so file. I wonder if looking at more of the Ubuntu results on Google will shed any kind of light. Like rebuilding one of their packages for my system. But... I admit a bit intimidating at this point.

Last edited by jwrichards82 (2023-01-24 22:40:00)

Offline

#6 2023-01-24 23:29:25

loqs
Member
Registered: 2014-03-06
Posts: 17,192

Re: error while loading shared libraries: libcurl-nss.so.4: cannot[solved]

Try this PKGBUILD

# Maintainer: Dave Reisner <dreisner@archlinux.org>
# Contributor: Angel Velasquez <angvp@archlinux.org>
# Contributor: Eric Belanger <eric@archlinux.org>
# Contributor: Lucien Immink <l.immink@student.fnt.hvu.nl>
# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>

pkgname=libcurl-nss
_pkgname=curl
pkgver=7.87.0
pkgrel=3
pkgdesc='An URL retrieval utility and library'
arch=('x86_64')
url='https://curl.haxx.se'
license=('MIT')
depends=('ca-certificates' 'brotli' 'libbrotlidec.so' 'krb5' 'libgssapi_krb5.so'
         'libidn2' 'libidn2.so' 'libnghttp2' 'libpsl' 'libpsl.so' 'libssh2' 'libssh2.so'
         'nss' 'zlib' 'zstd' 'libzstd.so')
makedepends=('patchelf')
provides=('libcurl.so')
source=("https://curl.haxx.se/download/${_pkgname}-${pkgver}.tar.gz"{,.asc}
        '0001-typecheck_accept_expressions_for_option_info_parameters.patch'
        '0002-cfilters_Curl_conn_get_select_socks_use_the_first_non_connected_filter.patch')
sha512sums=('939be5a7d82f7ed4e96173639aa50f5e6748b387d3f458f3845c584ad24d15d77b8cd64f4f2dc11bcc207b097d125d1dc713a9769964e3d4766182a217e9898d'
            'SKIP'
            '813201a302cf7d70d30e12cf8461bbc5783913d865872dd08aa2f19a6de132d76cf1a698714eaf028ba8e065eef892197f814015bdc3cc06c1f351ca2220b328'
            '98ee049419ec0c531170ca8e07b8a235bd1588f7210018a6b7bca38adf9c3babcbd540ab9ab463a15292dedeb5120aef22d252abac8cee4f539a55b46653d994')
validpgpkeys=('27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2') # Daniel Stenberg

_configure_options=(
  --prefix='/usr'
  --mandir='/usr/share/man'
  --disable-ldap
  --disable-ldaps
  --disable-manual
  --enable-ipv6
  --enable-threaded-resolver
  --with-gssapi
  --with-libssh2
  --with-random='/dev/urandom'
  --with-ca-bundle='/etc/ssl/certs/ca-certificates.crt'
)

prepare() {
  cd "${srcdir}/${_pkgname}-${pkgver}"

  patch -Np1 < ../0001-typecheck_accept_expressions_for_option_info_parameters.patch
  patch -Np1 < ../0002-cfilters_Curl_conn_get_select_socks_use_the_first_non_connected_filter.patch
}

build() {
  mkdir build-curl-nss

  # build libcurl-nss
  cd "${srcdir}"/build-curl-nss

  "${srcdir}/${_pkgname}-${pkgver}"/configure \
    "${_configure_options[@]}" \
    --disable-versioned-symbols \
    --with-nss --with-nss-deprecated
  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
  make -C lib
  patchelf --set-soname 'libcurl-nss.so.4' ./lib/.libs/libcurl.so
}

package() {
  pkgdesc='An URL retrieval library (without versioned symbols and linked against nss)'
  depends=('curl' 'nss')

  cd "${srcdir}"/build-curl-nss

  make -C lib DESTDIR="${pkgdir}" install

  mv "${pkgdir}"/usr/lib/libcurl{,-nss}.so.4.8.0
  rm "${pkgdir}"/usr/lib/libcurl.{a,so}*
  ln -s libcurl-nss.so.4 "${pkgdir}"/usr/lib/libcurl-nss.so
  for version in 3 4 4.0.0 4.1.0 4.2.0 4.3.0 4.4.0 4.5.0 4.6.0 4.7.0; do
    ln -s libcurl-nss.so.4.8.0 "${pkgdir}"/usr/lib/libcurl-nss.so.${version}
  done

  install -dm 0755 "${pkgdir}"/usr/share/licenses
  ln -s curl "${pkgdir}"/usr/share/licenses/libcurl-nss
}

Offline

#7 2023-01-25 02:46:08

jwrichards82
Member
Registered: 2023-01-24
Posts: 12

Re: error while loading shared libraries: libcurl-nss.so.4: cannot[solved]

Alrighty.
So everyone is on the up and up, here is what I did.
From my 'home'
I made a directory 'libcurl-nss'
In that directory, I made a PKGBUILD text file.
from said directory, I ran makepkg

==> Making package: libcurl-nss 7.87.0-3 (Tue 24 Jan 2023 06:32:02 PM PST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Downloading curl-7.87.0.tar.gz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   313  100   313    0     0    961      0 --:--:-- --:--:-- --:--:--   963
100 4190k  100 4190k    0     0  5905k      0 --:--:-- --:--:-- --:--:-- 18.5M
  -> Downloading curl-7.87.0.tar.gz.asc...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   317  100   317    0     0   1079      0 --:--:-- --:--:-- --:--:--  1081
100   488  100   488    0     0    929      0 --:--:-- --:--:-- --:--:--   929
==> ERROR: 0001-typecheck_accept_expressions_for_option_info_parameters.patch was not found in the build directory and is not a URL.

A google search for '0001-typecheck_accept_expressions_for_option_info_parameters.patch' revealed nothing.
Both the referenced patch files in the PKGBUILD are not in the source tarball.

In the event I get told to comment out the lines for
0001-typecheck_accept_expressions_for_option_info_parameters.patch
and
0002-cfilters_Curl_conn_get_select_socks_use_the_first_non_connected_filter.patch
(along with  heir own checksums)
AND due to my curiosity, to see if I know what I am doing, it then gives an error

==> Making package: libcurl-nss 7.87.0-3 (Tue 24 Jan 2023 06:28:53 PM PST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found curl-7.87.0.tar.gz
  -> Found curl-7.87.0.tar.gz.asc
==> ERROR: Integrity checks (sha512) differ in size from the source array.

I delete everything in the building directory, it then downloads the source tarball again, but it still gives the same error. Weird. As Dolphin gives the same SHA512 that is in the PKGBUILD. So...

I saved the file in both UTF-8 and ISO-8859-15 in case it is a character issue somewhere, same results.

1) where are those patch files?
2) I can safely assume those patch files allow a libcurl build with nss?
3) Where does this PKGBUILD come from? so that I might be going in the same direction you are in trying to resolve this? My goal is to not only resolve this issue, but understand what is happening and why. 'tis the whole reason I have stuck with Arch and not given up at any point when faced with an issue and moved to Ubuntu, PopOS or Manjaro. I like Arch.

Last edited by jwrichards82 (2023-01-25 03:21:38)

Offline

#8 2023-01-25 03:32:53

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 29,441
Website

Re: error while loading shared libraries: libcurl-nss.so.4: cannot[solved]

jwrichards82 wrote:

Unhappy to report; libcurl-openssl-1.0 did not help. I let it compile and install, then reboot and still no libcurl-nss.so file anywhere.

Then you didn't actually install it as that package does provide /usr/lib/libcurl-nss.so.4.  I can't be 100% sure that would be sufficient for your downloaded program to run, the error would at least change - and the file would most certainly exist.

EDIT: Sorry ... I feel like an idiot.  I checked and rechecked to make sure when I built it before, and I swear it was there.  But I just did again and there is indeed no nss lib in the built package (without the PKGBUILD modifications suggested by loqs).

Last edited by Trilby (2023-01-25 04:47:44)


"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Offline

#9 2023-01-25 03:45:15

jwrichards82
Member
Registered: 2023-01-24
Posts: 12

Re: error while loading shared libraries: libcurl-nss.so.4: cannot[solved]

The built package doesn't have the sought after library libcurl-nss.so.4 is not in it. I will spend some time downloading the tar myself and manually run the install. Make sure there is nothing i missed.
Since the output on konsole eventually stops keeping everything, is there a switch I can use to output it to a text file while it builds?

[james@ArchComp10-2022 ~]$ git clone https://aur.archlinux.org/libcurl-openssl-1.0.git 
Cloning into 'libcurl-openssl-1.0'...
remote: Enumerating objects: 76, done.
remote: Counting objects: 100% (76/76), done.
remote: Compressing objects: 100% (59/59), done.
remote: Total 76 (delta 17), reused 76 (delta 17), pack-reused 0
Receiving objects: 100% (76/76), 26.37 KiB | 13.19 MiB/s, done.
Resolving deltas: 100% (17/17), done.
[james@ArchComp10-2022 ~]$ cd libcurl-openssl-1.0
[james@ArchComp10-2022 libcurl-openssl-1.0]$ ls
PKGBUILD
[james@ArchComp10-2022 libcurl-openssl-1.0]$ pkgbuild
bash: pkgbuild: command not found
[james@ArchComp10-2022 libcurl-openssl-1.0]$ makepkg
==> Making package: libcurl-openssl-1.0 7.79.1-1 (Tue 24 Jan 2023 07:50:58 PM PST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Downloading curl-7.79.1.tar.gz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   313  100   313    0     0    431      0 --:--:-- --:--:-- --:--:--   431
100 4047k  100 4047k    0     0  1282k      0  0:00:03  0:00:03 --:--:-- 3350k
  -> Downloading curl-7.79.1.tar.gz.asc...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   317  100   317    0     0    550      0 --:--:-- --:--:-- --:--:--   550
100   488  100   488    0     0    443      0  0:00:01  0:00:01 --:--:--     0
==> Validating source files with sha512sums...
    curl-7.79.1.tar.gz ... Passed
    curl-7.79.1.tar.gz.asc ... Skipped
==> Verifying source file signatures with gpg...
    curl-7.79.1.tar.gz ... Passed
==> Extracting sources...
  -> Extracting curl-7.79.1.tar.gz with bsdtar
==> Starting build()...
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether make supports nested variables... yes
checking whether to enable debug build options... no
checking whether to enable compiler optimizer... (assumed) yes
checking whether to enable strict compiler warnings... no
checking whether to enable compiler warnings as errors... no
checking whether to enable curl debug memory tracking... no
checking whether to enable hiding of library internal symbols... yes
checking whether to enable c-ares for DNS lookups... no
checking whether to disable dependency on -lrt... (assumed no)
checking whether to enable ECH support... no
checking for path separator... :
checking for sed... /usr/bin/sed
checking for grep... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ar... /usr/bin/ar
checking for a BSD-compatible install... /usr/bin/install -c
checking for gcc... gcc
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 the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking how to run the C preprocessor... gcc -E
checking for a sed that does not truncate output... (cached) /usr/bin/sed
checking for code coverage support... no
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of gcc... gcc3
checking curl version... 7.79.1
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for grep that handles long lines and -e... (cached) /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking if OS is AIX (to define _ALL_SOURCE)... no
checking if _THREAD_SAFE is already defined... no
checking if _THREAD_SAFE is actually needed... no
checking if _THREAD_SAFE is onwards defined... no
checking if _REENTRANT is already defined... no
checking if _REENTRANT is actually needed... no
checking if _REENTRANT is onwards defined... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking how to print strings... printf
checking for a sed that does not truncate output... (cached) /usr/bin/sed
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for mt... no
checking if : is a manifest tool... no
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking whether to build shared libraries with -version-info... yes
checking whether to build shared libraries with -no-undefined... no
checking whether to build shared libraries with -mimpure-text... no
checking whether to build shared libraries with PIC... yes
checking whether to build static libraries with PIC... yes
checking whether to build shared libraries only... no
checking whether to build static libraries only... no
checking for inline... inline
checking if cpp -P is needed... yes
checking if cpp -P works... yes
checking if compiler is DEC/Compaq/HP C... no
checking if compiler is HP-UX C... no
checking if compiler is IBM C... no
checking if compiler is Intel C... no
checking if compiler is clang... no
checking if compiler is GNU C... yes
checking if compiler is LCC... no
checking if compiler is SGI MIPSpro C... no
checking if compiler is SGI MIPS C... no
checking if compiler is SunPro C... no
checking if compiler is Tiny C... no
checking if compiler is Watcom C... no
checking if compiler accepts some basic options... yes
configure: compiler options added: -Werror-implicit-function-declaration 
checking if compiler optimizer assumed setting might be used... no
checking if compiler accepts strict warning options... yes
configure: compiler options added: -Wno-system-headers -Wenum-conversion 
checking if compiler halts on compilation errors... yes
checking if compiler halts on negative sized arrays... yes
checking if compiler halts on function prototype mismatch... yes
checking if compiler supports hiding library internal symbols... yes
checking for windows.h... no
checking whether build target is a native Windows one... no
checking whether build target supports WIN32 file API... no
checking whether build target supports WIN32 crypto API... no
checking for good-to-use Darwin CFLAGS... no
checking whether to link macOS CoreFoundation and SystemConfiguration framework... no
checking to see if the compiler supports __builtin_available()... no
checking whether to support http... yes
checking whether to support ftp... yes
checking whether to support file... yes
checking whether to support ldap... no
checking whether to support ldaps... no
checking whether to support rtsp... yes
checking whether to support proxies... yes
checking whether to support dict... yes
checking whether to support telnet... yes
checking whether to support tftp... yes
checking whether to support pop3... yes
checking whether to support imap... yes
checking whether to support smb... yes
checking whether to support smtp... yes
checking whether to support gopher... yes
checking whether to support mqtt... no
checking whether to provide built-in manual... no
checking whether to enable generation of C code... yes
checking whether to use libgcc... no
checking if X/Open network library is required... no
checking for gethostbyname... yes
checking for windows.h... (cached) no
checking for winsock.h... (cached) no
checking for winsock2.h... (cached) no
checking for proto/bsdsocket.h... no
checking for connect in libraries... yes
checking for sys/types.h... (cached) yes
checking for sys/time.h... yes
checking for monotonic clock_gettime... yes
checking for clock_gettime in libraries... no additional lib required
checking if monotonic clock_gettime works... yes
checking for pkg-config... /usr/bin/pkg-config
checking for zlib options with pkg-config... found
checking for zlib.h... yes
configure: found both libz and libz.h header
checking for BrotliDecoderDecompress in -lbrotlidec... yes
checking for brotli/decode.h... yes
checking for ZSTD_createDStream in -lzstd... yes
checking for zstd.h... yes
checking whether to enable IPv6... yes
checking if struct sockaddr_in6 has sin6_scope_id member... yes
checking if argv can be written to... yes
checking if GSS-API support is requested... yes
checking for gss.h... no
checking for gssapi/gssapi.h... yes
checking for gssapi/gssapi_generic.h... yes
checking for gssapi/gssapi_krb5.h... yes
checking if GSS-API headers declare GSS_C_NT_HOSTBASED_SERVICE... yes
checking whether to enable Windows native SSL/TLS... no
checking whether to enable Secure Transport... no
checking whether to enable Amiga native SSL/TLS (AmiSSL)... no
checking for pkg-config... (cached) /usr/bin/pkg-config
checking for openssl options with pkg-config... found
configure: pkg-config: SSL_LIBS: "-lssl -lcrypto "
configure: pkg-config: SSL_LDFLAGS: "-L/usr/lib/openssl-1.0 "
configure: pkg-config: SSL_CPPFLAGS: "-I/usr/include/openssl-1.0 "
checking for HMAC_Update in -lcrypto... yes
checking for SSL_connect in -lssl... yes
checking for openssl/x509.h... yes
checking for openssl/rsa.h... yes
checking for openssl/crypto.h... yes
checking for openssl/pem.h... yes
checking for openssl/ssl.h... yes
checking for openssl/err.h... yes
checking for RAND_egd... yes
checking for SSLv2_client_method... yes
checking for OpenSSL_version... no
checking for BoringSSL... no
checking for libressl... no
checking for OpenSSL >= v3... no
configure: Added /usr/lib/openssl-1.0 to CURL_LIBRARY_PATH
checking for OpenSSL headers version... 1.0.2 - 0x102
checking for OpenSSL library version... 1.0.2
checking for OpenSSL headers and library versions matching... yes
checking for SRP_Calc_client_key in -lcrypto... yes
configure: built with one SSL backend
checking default CA cert bundle/path... /etc/ssl/certs/ca-certificates.crt
checking whether to use builtin CA store of SSL library... no
checking for library containing psl_builtin... -lpsl
checking for library containing gsasl_init... no
configure: WARNING: libgsasl was not found
checking for pkg-config... (cached) /usr/bin/pkg-config
checking for libssh2 options with pkg-config... found
checking for libssh2_session_block_directions in -lssh2... yes
checking for libssh2.h... yes
checking for RTMP_Init in -lrtmp... yes
checking for librtmp/rtmp.h... yes
checking whether versioned symbols are wanted... no
checking whether to enable Windows native IDN (Windows native builds only)... no
checking whether to build with libidn2... (assumed) yes
checking for pkg-config... (cached) /usr/bin/pkg-config
checking for libidn2 options with pkg-config... found
configure: pkg-config: IDN_LIBS: "-lidn2 "
configure: pkg-config: IDN_LDFLAGS: ""
configure: pkg-config: IDN_CPPFLAGS: ""
configure: pkg-config: IDN_DIR: ""
checking if idn2_lookup_ul can be linked... yes
checking for idn2.h... yes
checking for pkg-config... (cached) /usr/bin/pkg-config
checking for libnghttp2 options with pkg-config... found
configure: -l is -lnghttp2 
configure: -I is 
configure: -L is 
checking for nghttp2_session_set_local_window_size in -lnghttp2... yes
checking for nghttp2/nghttp2.h... yes
checking for pkg-config... (cached) /usr/bin/pkg-config
checking for libngtcp2 options with pkg-config... no
checking for pkg-config... (cached) /usr/bin/pkg-config
checking for fish options with pkg-config... found
checking for malloc.h... yes
checking for memory.h... no
checking for sys/types.h... (cached) yes
checking for sys/time.h... (cached) yes
checking for sys/select.h... yes
checking for sys/socket.h... yes
checking for sys/ioctl.h... yes
checking for sys/uio.h... yes
checking for assert.h... yes
checking for unistd.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for arpa/inet.h... yes
checking for net/if.h... yes
checking for netinet/in.h... yes
checking for netinet/in6.h... no
checking for sys/un.h... yes
checking for linux/tcp.h... yes
checking for netinet/tcp.h... yes
checking for netdb.h... yes
checking for sys/sockio.h... no
checking for sys/stat.h... (cached) yes
checking for sys/param.h... yes
checking for termios.h... yes
checking for termio.h... yes
checking for fcntl.h... yes
checking for alloca.h... yes
checking for io.h... no
checking for pwd.h... yes
checking for utime.h... yes
checking for sys/utime.h... no
checking for sys/poll.h... yes
checking for poll.h... yes
checking for socket.h... no
checking for sys/resource.h... yes
checking for libgen.h... yes
checking for locale.h... yes
checking for errno.h... yes
checking for stdbool.h... yes
checking for arpa/tftp.h... yes
checking for sys/filio.h... no
checking for sys/wait.h... yes
checking for setjmp.h... yes
checking for an ANSI C-conforming const... yes
checking for compiler support of C99 variadic macro style... yes
checking for compiler support of old gcc variadic macro style... yes
checking for size_t... yes
checking for sys/types.h... (cached) yes
checking for sys/time.h... (cached) yes
checking for sys/socket.h... (cached) yes
checking for struct timeval... yes
checking run-time libs availability... fine
checking size of size_t... 8
checking size of long... 8
checking size of int... 4
checking size of short... 2
checking size of time_t... 8
checking size of off_t... 8
checking size of curl_off_t... 8
checking for long long... yes
checking if numberLL works... yes
checking for ssize_t... yes
checking for bool... yes
checking for sa_family_t... yes
checking for suseconds_t... yes
checking if time_t is unsigned... no
checking for sys/types.h... (cached) yes
checking for poll.h... (cached) yes
checking for sys/poll.h... (cached) yes
checking for in_addr_t... yes
checking for struct sockaddr_storage... yes
checking for sys/select.h... (cached) yes
checking for sys/socket.h... (cached) yes
checking for select... yes
checking types of args and return type for select... int,fd_set *,struct timeval *,int
checking for sys/types.h... (cached) yes
checking for sys/socket.h... (cached) yes
checking for recv... yes
checking types of args and return type for recv... int,void *,size_t,int,ssize_t
checking for sys/types.h... (cached) yes
checking for sys/socket.h... (cached) yes
checking for send... yes
checking types of args and return type for send... int,const void *,size_t,int,ssize_t
checking for sys/types.h... (cached) yes
checking for sys/socket.h... (cached) yes
checking for MSG_NOSIGNAL... yes
checking for sys/types.h... (cached) yes
checking for unistd.h... (cached) yes
checking if alarm can be linked... yes
checking if alarm is prototyped... yes
checking if alarm is compilable... yes
checking if alarm usage allowed... yes
checking if alarm might be used... yes
checking for sys/types.h... (cached) yes
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking for sys/types.h... (cached) yes
checking for libgen.h... (cached) yes
checking if basename can be linked... yes
checking if basename is prototyped... yes
checking if basename is compilable... yes
checking if basename usage allowed... yes
checking if basename might be used... yes
checking for sys/types.h... (cached) yes
checking for socket.h... (cached) no
checking if closesocket can be linked... no
checking if closesocket might be used... no
checking for sys/types.h... (cached) yes
checking for sys/socket.h... (cached) yes
checking if CloseSocket can be linked... no
checking if CloseSocket might be used... no
checking if connect can be linked... yes
checking if connect is prototyped... yes
checking if connect is compilable... yes
checking if connect usage allowed... yes
checking if connect might be used... yes
checking for sys/types.h... (cached) yes
checking for unistd.h... (cached) yes
checking for fcntl.h... (cached) yes
checking if fcntl can be linked... yes
checking if fcntl is prototyped... yes
checking if fcntl is compilable... yes
checking if fcntl usage allowed... yes
checking if fcntl might be used... yes
checking if fcntl O_NONBLOCK is compilable... yes
checking if fcntl O_NONBLOCK usage allowed... yes
checking if fcntl O_NONBLOCK might be used... yes
checking for windows.h... (cached) no
checking for winsock2.h... (cached) no
checking for ws2tcpip.h... (cached) no
checking for sys/types.h... (cached) yes
checking for netdb.h... (cached) yes
checking if freeaddrinfo can be linked... yes
checking if freeaddrinfo is prototyped... yes
checking if freeaddrinfo is compilable... yes
checking if freeaddrinfo usage allowed... yes
checking if freeaddrinfo might be used... yes
checking for sys/types.h... (cached) yes
checking for sys/xattr.h... yes
checking if fsetxattr can be linked... yes
checking if fsetxattr is prototyped... yes
checking if fsetxattr takes 5 args.... yes
checking if fsetxattr is compilable... yes
checking if fsetxattr usage allowed... yes
checking if fsetxattr might be used... yes
checking if ftruncate can be linked... yes
checking if ftruncate is prototyped... yes
checking if ftruncate is compilable... yes
checking if ftruncate usage allowed... yes
checking if ftruncate might be used... yes
checking for sys/types.h... (cached) yes
checking for stdlib.h... (cached) yes
checking if getaddrinfo can be linked... yes
checking if getaddrinfo is prototyped... yes
checking if getaddrinfo is compilable... yes
checking if getaddrinfo seems to work... yes
checking if getaddrinfo usage allowed... yes
checking if getaddrinfo might be used... yes
checking if getaddrinfo is threadsafe... yes
checking if gethostbyname can be linked... yes
checking if gethostbyname is prototyped... yes
checking if gethostbyname is compilable... yes
checking if gethostbyname usage allowed... yes
checking if gethostbyname might be used... yes
checking if gethostbyname_r can be linked... yes
checking if gethostbyname_r is prototyped... yes
checking if gethostbyname_r takes 3 args.... no
checking if gethostbyname_r takes 5 args.... no
checking if gethostbyname_r takes 6 args.... yes
checking if gethostbyname_r is compilable... yes
checking if gethostbyname_r usage allowed... yes
checking if gethostbyname_r might be used... yes
checking if gethostname can be linked... yes
checking if gethostname is prototyped... yes
checking if gethostname is compilable... yes
checking for gethostname arg 2 data type... size_t
checking if gethostname usage allowed... yes
checking if gethostname might be used... yes
checking if getpeername can be linked... yes
checking if getpeername is prototyped... yes
checking if getpeername is compilable... yes
checking if getpeername usage allowed... yes
checking if getpeername might be used... yes
checking if getsockname can be linked... yes
checking if getsockname is prototyped... yes
checking if getsockname is compilable... yes
checking if getsockname usage allowed... yes
checking if getsockname might be used... yes
checking for net/if.h... (cached) yes
checking if if_nametoindex can be linked... yes
checking if if_nametoindex is prototyped... yes
checking if if_nametoindex is compilable... yes
checking if if_nametoindex usage allowed... yes
checking if if_nametoindex might be used... yes
checking for sys/types.h... (cached) yes
checking for sys/socket.h... (cached) yes
checking for netinet/in.h... (cached) yes
checking for ifaddrs.h... yes
checking if getifaddrs can be linked... yes
checking if getifaddrs is prototyped... yes
checking if getifaddrs is compilable... yes
checking if getifaddrs seems to work... yes
checking if getifaddrs usage allowed... yes
checking if getifaddrs might be used... yes
checking for sys/types.h... (cached) yes
checking for sys/time.h... (cached) yes
checking if gmtime_r can be linked... yes
checking if gmtime_r is prototyped... yes
checking if gmtime_r is compilable... yes
checking if gmtime_r seems to work... yes
checking if gmtime_r usage allowed... yes
checking if gmtime_r might be used... yes
checking for sys/types.h... (cached) yes
checking for sys/socket.h... (cached) yes
checking for netinet/in.h... (cached) yes
checking for arpa/inet.h... (cached) yes
checking if inet_ntop can be linked... yes
checking if inet_ntop is prototyped... yes
checking if inet_ntop is compilable... yes
checking if inet_ntop seems to work... yes
checking if inet_ntop usage allowed... yes
checking if inet_ntop might be used... yes
checking if inet_pton can be linked... yes
checking if inet_pton is prototyped... yes
checking if inet_pton is compilable... yes
checking if inet_pton seems to work... yes
checking if inet_pton usage allowed... yes
checking if inet_pton might be used... yes
checking for sys/types.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/socket.h... (cached) yes
checking for sys/ioctl.h... (cached) yes
checking for stropts.h... no
checking if ioctl can be linked... yes
checking if ioctl is prototyped... yes
checking if ioctl is compilable... yes
checking if ioctl usage allowed... yes
checking if ioctl might be used... yes
checking if ioctl FIONBIO is compilable... yes
checking if ioctl FIONBIO usage allowed... yes
checking if ioctl FIONBIO might be used... yes
checking if ioctl SIOCGIFADDR is compilable... yes
checking if ioctl SIOCGIFADDR usage allowed... yes
checking if ioctl SIOCGIFADDR might be used... yes
checking if ioctlsocket can be linked... no
checking if ioctlsocket might be used... no
checking if IoctlSocket can be linked... no
checking if IoctlSocket might be used... no
checking if localtime_r can be linked... yes
checking if localtime_r is prototyped... yes
checking if localtime_r is compilable... yes
checking if localtime_r seems to work... yes
checking if localtime_r usage allowed... yes
checking if localtime_r might be used... yes
checking if memrchr can be linked... yes
checking if memrchr is prototyped... no
checking if memrchr might be used... no
checking if poll can be linked... yes
checking if poll is prototyped... yes
checking if poll is compilable... yes
checking if poll seems to work... yes
checking if poll usage allowed... yes
checking if poll might be used... yes
checking if setsockopt can be linked... yes
checking if setsockopt is prototyped... yes
checking if setsockopt is compilable... yes
checking if setsockopt usage allowed... yes
checking if setsockopt might be used... yes
checking if setsockopt SO_NONBLOCK is compilable... no
checking if setsockopt SO_NONBLOCK might be used... no
checking for sys/types.h... (cached) yes
checking for signal.h... yes
checking if sigaction can be linked... yes
checking if sigaction is prototyped... yes
checking if sigaction is compilable... yes
checking if sigaction usage allowed... yes
checking if sigaction might be used... yes
checking if siginterrupt can be linked... yes
checking if siginterrupt is prototyped... yes
checking if siginterrupt is compilable... yes
checking if siginterrupt usage allowed... yes
checking if siginterrupt might be used... yes
checking if signal can be linked... yes
checking if signal is prototyped... yes
checking if signal is compilable... yes
checking if signal usage allowed... yes
checking if signal might be used... yes
checking for sys/types.h... (cached) yes
checking for setjmp.h... (cached) yes
checking if sigsetjmp can be linked... no
checking if sigsetjmp seems a macro... yes
checking if sigsetjmp is compilable... yes
checking if sigsetjmp usage allowed... yes
checking if sigsetjmp might be used... yes
checking if socket can be linked... yes
checking if socket is prototyped... yes
checking if socket is compilable... yes
checking if socket usage allowed... yes
checking if socket might be used... yes
checking if socketpair can be linked... yes
checking if socketpair is prototyped... yes
checking if socketpair is compilable... yes
checking if socketpair usage allowed... yes
checking if socketpair might be used... yes
checking if strcasecmp can be linked... yes
checking if strcasecmp is prototyped... yes
checking if strcasecmp is compilable... yes
checking if strcasecmp usage allowed... yes
checking if strcasecmp might be used... yes
checking if strcmpi can be linked... no
checking if strcmpi might be used... no
checking if strdup can be linked... yes
checking if strdup is prototyped... yes
checking if strdup is compilable... yes
checking if strdup usage allowed... yes
checking if strdup might be used... yes
checking if strerror_r can be linked... yes
checking if strerror_r is prototyped... yes
checking if strerror_r is compilable... yes
checking if strerror_r is glibc like... no
checking if strerror_r is POSIX like... yes
checking if strerror_r seems to work... yes
checking if strerror_r usage allowed... yes
checking if strerror_r might be used... yes
checking if stricmp can be linked... no
checking if stricmp might be used... no
checking if strncmpi can be linked... no
checking if strncmpi might be used... no
checking if strnicmp can be linked... no
checking if strnicmp might be used... no
checking if strstr can be linked... yes
checking if strstr is prototyped... yes
checking if strstr is compilable... yes
checking if strstr usage allowed... yes
checking if strstr might be used... yes
checking if strtok_r can be linked... yes
checking if strtok_r is prototyped... yes
checking if strtok_r is compilable... yes
checking if strtok_r usage allowed... yes
checking if strtok_r might be used... yes
checking if strtoll can be linked... yes
checking if strtoll is prototyped... yes
checking if strtoll is compilable... yes
checking if strtoll usage allowed... yes
checking if strtoll might be used... yes
checking for sys/types.h... (cached) yes
checking for sys/uio.h... (cached) yes
checking if writev can be linked... yes
checking if writev is prototyped... yes
checking if writev is compilable... yes
checking if writev usage allowed... yes
checking if writev might be used... yes
checking for gcc options needed to detect all undeclared functions... none needed
checking whether getpwuid_r is declared... yes
checking for fnmatch... yes
checking for geteuid... yes
checking for getpass_r... no
checking deeper for getpass_r... but still no
checking for getppid... yes
checking for getpwuid... yes
checking for getpwuid_r... yes
checking for getrlimit... yes
checking for gettimeofday... yes
checking for if_nametoindex... yes
checking for mach_absolute_time... no
checking deeper for mach_absolute_time... but still no
checking for pipe... yes
checking for setlocale... yes
checking for setmode... no
checking deeper for setmode... but still no
checking for setrlimit... yes
checking for usleep... yes
checking for utime... yes
checking for utimes... yes
checking how to set a socket into non-blocking mode... fcntl O_NONBLOCK
checking for perl... /usr/bin/perl
checking for gnroff... no
checking for nroff... /usr/bin/nroff
checking how to use *nroff to get plain text from man pages... -man
checking whether to enable the threaded resolver... yes
checking whether to use POSIX threads for threaded resolver... auto
checking for pthread.h... yes
checking for pthread_create... yes
checking convert -I options to -isystem... yes
checking whether to enable verbose strings... yes
checking whether to enable SSPI support (Windows native builds only)... no
checking whether to enable cryptographic authentication methods... yes
checking whether to support NTLM... yes
checking whether to enable NTLM delegation to winbind's helper... yes
checking whether to enable TLS-SRP authentication... yes
checking whether to enable Unix domain sockets... auto
checking for struct sockaddr_un.sun_path... yes
checking whether to support cookies... yes
checking whether to support socketpair... yes
checking whether to support HTTP authentication... yes
checking whether to support DoH... yes
checking whether to support the MIME API... yes
checking whether to support date parsing... yes
checking whether to support netrc parsing... yes
checking whether to support progress-meter... yes
checking whether to support DNS shuffling... yes
checking whether to support curl_easy_option*... yes
checking whether to support alt-svc... no
checking whether to support HSTS... yes
checking whether hiding of library internal symbols will actually happen... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating docs/Makefile
config.status: creating docs/examples/Makefile
config.status: creating docs/libcurl/Makefile
config.status: creating docs/libcurl/opts/Makefile
config.status: creating docs/cmdline-opts/Makefile
config.status: creating include/Makefile
config.status: creating include/curl/Makefile
config.status: creating src/Makefile
config.status: creating lib/Makefile
config.status: creating scripts/Makefile
config.status: creating lib/libcurl.vers
config.status: creating tests/Makefile
config.status: creating tests/certs/Makefile
config.status: creating tests/certs/scripts/Makefile
config.status: creating tests/data/Makefile
config.status: creating tests/server/Makefile
config.status: creating tests/libtest/Makefile
config.status: creating tests/unit/Makefile
config.status: creating packages/Makefile
config.status: creating packages/vms/Makefile
config.status: creating curl-config
config.status: creating libcurl.pc
config.status: creating lib/curl_config.h
config.status: executing depfiles commands
config.status: executing libtool commands
configure: amending lib/Makefile
configure: amending src/Makefile
configure: amending tests/unit/Makefile
configure: amending tests/server/Makefile
configure: amending tests/libtest/Makefile
configure: amending docs/examples/Makefile
configure: Configured to build curl/libcurl:

  Host setup:       x86_64-pc-linux-gnu
  Install prefix:   /usr
  Compiler:         gcc
   CFLAGS:          -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Werror-implicit-function-declaration -Wno-system-headers -Wenum-conversion
   CPPFLAGS:        -isystem /usr/include/openssl-1.0 -isystem /usr/include/openssl-1.0
   LDFLAGS:         -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -L/usr/lib/openssl-1.0
   LIBS:            -lnghttp2 -lidn2 -lrtmp -lssh2 -lssh2 -lpsl -lssl -lcrypto -lssl -lcrypto -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lzstd -lbrotlidec -lz

  curl version:     7.79.1
  SSL:              enabled (OpenSSL)
  SSH:              enabled (libSSH2)
  zlib:             enabled
  brotli:           enabled (libbrotlidec)
  zstd:             enabled (libzstd)
  GSS-API:          enabled (MIT Kerberos/Heimdal)
  GSASL:            no      (libgsasl not found)
  TLS-SRP:          enabled
  resolver:         POSIX threaded
  IPv6:             enabled
  Unix sockets:     enabled
  IDN:              enabled (libidn2)
  Build libcurl:    Shared=yes, Static=yes
  Built-in manual:  no      (--enable-manual)
  --libcurl option: enabled (--disable-libcurl-option)
  Verbose errors:   enabled (--disable-verbose)
  Code coverage:    disabled
  SSPI:             no      (--enable-sspi)
  ca cert bundle:   /etc/ssl/certs/ca-certificates.crt
  ca cert path:     no
  ca fallback:      no
  LDAP:             no      (--enable-ldap / --with-ldap-lib / --with-lber-lib)
  LDAPS:            no      (--enable-ldaps)
  RTSP:             enabled
  RTMP:             enabled (librtmp)
  PSL:              enabled
  Alt-svc:          enabled (--disable-alt-svc)
  HSTS:             enabled (--disable-hsts)
  HTTP1:            enabled (internal)
  HTTP2:            enabled (nghttp2)
  HTTP3:            no      (--with-ngtcp2, --with-quiche)
  ECH:              no      (--enable-ech)
  Protocols:        DICT FILE FTP FTPS GOPHER GOPHERS HTTP HTTPS IMAP IMAPS MQTT POP3 POP3S RTMP RTSP SCP SFTP SMB SMBS SMTP SMTPS TELNET TFTP
  Features:         AsynchDNS GSS-API HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile NTLM NTLM_WB PSL SPNEGO SSL TLS-SRP UnixSockets alt-svc brotli libz zstd

make: Entering directory '/home/james/libcurl-openssl-1.0/src/curl-7.79.1/lib'
make  all-am
make[1]: Entering directory '/home/james/libcurl-openssl-1.0/src/curl-7.79.1/lib'
  CC       libcurl_la-altsvc.lo
  CC       libcurl_la-amigaos.lo
  CC       libcurl_la-asyn-ares.lo
  CC       libcurl_la-asyn-thread.lo
  CC       libcurl_la-base64.lo
  CC       libcurl_la-bufref.lo
  CC       libcurl_la-c-hyper.lo
  CC       libcurl_la-conncache.lo
  CC       libcurl_la-connect.lo
  CC       libcurl_la-content_encoding.lo
  CC       libcurl_la-cookie.lo
  CC       libcurl_la-curl_addrinfo.lo
  CC       libcurl_la-curl_ctype.lo
  CC       libcurl_la-curl_des.lo
  CC       libcurl_la-curl_endian.lo
  CC       libcurl_la-curl_fnmatch.lo
  CC       libcurl_la-curl_get_line.lo
  CC       libcurl_la-curl_gethostname.lo
  CC       libcurl_la-curl_gssapi.lo
  CC       libcurl_la-curl_memrchr.lo
  CC       libcurl_la-curl_multibyte.lo
  CC       libcurl_la-curl_ntlm_core.lo
  CC       libcurl_la-curl_ntlm_wb.lo
  CC       libcurl_la-curl_path.lo
  CC       libcurl_la-curl_range.lo
  CC       libcurl_la-curl_rtmp.lo
  CC       libcurl_la-curl_sasl.lo
  CC       libcurl_la-curl_sspi.lo
  CC       libcurl_la-curl_threads.lo
  CC       libcurl_la-dict.lo
  CC       libcurl_la-doh.lo
  CC       libcurl_la-dotdot.lo
  CC       libcurl_la-dynbuf.lo
  CC       libcurl_la-easy.lo
  CC       libcurl_la-easygetopt.lo
  CC       libcurl_la-easyoptions.lo
  CC       libcurl_la-escape.lo
  CC       libcurl_la-file.lo
  CC       libcurl_la-fileinfo.lo
  CC       libcurl_la-formdata.lo
  CC       libcurl_la-ftp.lo
  CC       libcurl_la-ftplistparser.lo
  CC       libcurl_la-getenv.lo
  CC       libcurl_la-getinfo.lo
  CC       libcurl_la-gopher.lo
  CC       libcurl_la-hash.lo
  CC       libcurl_la-hmac.lo
  CC       libcurl_la-hostasyn.lo
  CC       libcurl_la-hostcheck.lo
  CC       libcurl_la-hostip.lo
  CC       libcurl_la-hostip4.lo
  CC       libcurl_la-hostip6.lo
  CC       libcurl_la-hostsyn.lo
  CC       libcurl_la-hsts.lo
  CC       libcurl_la-http.lo
  CC       libcurl_la-http2.lo
  CC       libcurl_la-http_chunks.lo
  CC       libcurl_la-http_digest.lo
  CC       libcurl_la-http_negotiate.lo
  CC       libcurl_la-http_ntlm.lo
  CC       libcurl_la-http_proxy.lo
  CC       libcurl_la-http_aws_sigv4.lo
  CC       libcurl_la-idn_win32.lo
  CC       libcurl_la-if2ip.lo
  CC       libcurl_la-imap.lo
  CC       libcurl_la-inet_ntop.lo
  CC       libcurl_la-inet_pton.lo
  CC       libcurl_la-krb5.lo
  CC       libcurl_la-ldap.lo
  CC       libcurl_la-llist.lo
  CC       libcurl_la-md4.lo
  CC       libcurl_la-md5.lo
  CC       libcurl_la-memdebug.lo
  CC       libcurl_la-mime.lo
  CC       libcurl_la-mprintf.lo
  CC       libcurl_la-mqtt.lo
  CC       libcurl_la-multi.lo
  CC       libcurl_la-netrc.lo
  CC       libcurl_la-non-ascii.lo
  CC       libcurl_la-nonblock.lo
  CC       libcurl_la-openldap.lo
  CC       libcurl_la-parsedate.lo
  CC       libcurl_la-pingpong.lo
  CC       libcurl_la-pop3.lo
  CC       libcurl_la-progress.lo
  CC       libcurl_la-psl.lo
  CC       libcurl_la-rand.lo
  CC       libcurl_la-rename.lo
  CC       libcurl_la-rtsp.lo
  CC       libcurl_la-select.lo
  CC       libcurl_la-sendf.lo
  CC       libcurl_la-setopt.lo
  CC       libcurl_la-sha256.lo
  CC       libcurl_la-share.lo
  CC       libcurl_la-slist.lo
  CC       libcurl_la-smb.lo
  CC       libcurl_la-smtp.lo
  CC       libcurl_la-socketpair.lo
  CC       libcurl_la-socks.lo
  CC       libcurl_la-socks_gssapi.lo
  CC       libcurl_la-socks_sspi.lo
  CC       libcurl_la-speedcheck.lo
  CC       libcurl_la-splay.lo
  CC       libcurl_la-strcase.lo
  CC       libcurl_la-strdup.lo
  CC       libcurl_la-strerror.lo
  CC       libcurl_la-strtok.lo
  CC       libcurl_la-strtoofft.lo
  CC       libcurl_la-system_win32.lo
  CC       libcurl_la-telnet.lo
  CC       libcurl_la-tftp.lo
  CC       libcurl_la-timeval.lo
  CC       libcurl_la-transfer.lo
  CC       libcurl_la-url.lo
  CC       libcurl_la-urlapi.lo
  CC       libcurl_la-version.lo
  CC       libcurl_la-version_win32.lo
  CC       libcurl_la-warnless.lo
  CC       libcurl_la-wildcard.lo
  CC       libcurl_la-x509asn1.lo
  CC       vauth/libcurl_la-cleartext.lo
  CC       vauth/libcurl_la-cram.lo
  CC       vauth/libcurl_la-digest.lo
  CC       vauth/libcurl_la-digest_sspi.lo
  CC       vauth/libcurl_la-gsasl.lo
  CC       vauth/libcurl_la-krb5_gssapi.lo
  CC       vauth/libcurl_la-krb5_sspi.lo
  CC       vauth/libcurl_la-ntlm.lo
  CC       vauth/libcurl_la-ntlm_sspi.lo
  CC       vauth/libcurl_la-oauth2.lo
  CC       vauth/libcurl_la-spnego_gssapi.lo
  CC       vauth/libcurl_la-spnego_sspi.lo
  CC       vauth/libcurl_la-vauth.lo
  CC       vtls/libcurl_la-bearssl.lo
  CC       vtls/libcurl_la-gskit.lo
  CC       vtls/libcurl_la-gtls.lo
  CC       vtls/libcurl_la-keylog.lo
  CC       vtls/libcurl_la-mbedtls.lo
  CC       vtls/libcurl_la-mbedtls_threadlock.lo
  CC       vtls/libcurl_la-mesalink.lo
  CC       vtls/libcurl_la-nss.lo
  CC       vtls/libcurl_la-openssl.lo
  CC       vtls/libcurl_la-rustls.lo
  CC       vtls/libcurl_la-schannel.lo
  CC       vtls/libcurl_la-schannel_verify.lo
  CC       vtls/libcurl_la-sectransp.lo
  CC       vtls/libcurl_la-vtls.lo
  CC       vtls/libcurl_la-wolfssl.lo
  CC       vquic/libcurl_la-ngtcp2.lo
  CC       vquic/libcurl_la-quiche.lo
  CC       vquic/libcurl_la-vquic.lo
  CC       vssh/libcurl_la-libssh.lo
  CC       vssh/libcurl_la-libssh2.lo
  CC       vssh/libcurl_la-wolfssh.lo
  CCLD     libcurl.la
make[1]: Leaving directory '/home/james/libcurl-openssl-1.0/src/curl-7.79.1/lib'
make: Leaving directory '/home/james/libcurl-openssl-1.0/src/curl-7.79.1/lib'
==> Entering fakeroot environment...
==> Starting package()...
make: Entering directory '/home/james/libcurl-openssl-1.0/src/curl-7.79.1/lib'
make[1]: Entering directory '/home/james/libcurl-openssl-1.0/src/curl-7.79.1/lib'
 /usr/bin/mkdir -p '/home/james/libcurl-openssl-1.0/pkg/libcurl-openssl-1.0/usr/lib'
 /bin/sh ../libtool   --mode=install /usr/bin/install -c   libcurl.la '/home/james/libcurl-openssl-1.0/pkg/libcurl-openssl-1.0/usr/lib'
libtool: install: /usr/bin/install -c .libs/libcurl.so.4.7.0 /home/james/libcurl-openssl-1.0/pkg/libcurl-openssl-1.0/usr/lib/libcurl.so.4.7.0
libtool: install: (cd /home/james/libcurl-openssl-1.0/pkg/libcurl-openssl-1.0/usr/lib && { ln -s -f libcurl.so.4.7.0 libcurl.so.4 || { rm -f libcurl.so.4 && ln -s libcurl.so.4.7.0 libcurl.so.4; }; })
libtool: install: (cd /home/james/libcurl-openssl-1.0/pkg/libcurl-openssl-1.0/usr/lib && { ln -s -f libcurl.so.4.7.0 libcurl.so || { rm -f libcurl.so && ln -s libcurl.so.4.7.0 libcurl.so; }; })
libtool: install: /usr/bin/install -c .libs/libcurl.lai /home/james/libcurl-openssl-1.0/pkg/libcurl-openssl-1.0/usr/lib/libcurl.la
libtool: install: /usr/bin/install -c .libs/libcurl.a /home/james/libcurl-openssl-1.0/pkg/libcurl-openssl-1.0/usr/lib/libcurl.a
libtool: install: chmod 644 /home/james/libcurl-openssl-1.0/pkg/libcurl-openssl-1.0/usr/lib/libcurl.a
libtool: install: ranlib /home/james/libcurl-openssl-1.0/pkg/libcurl-openssl-1.0/usr/lib/libcurl.a
libtool: warning: remember to run 'libtool --finish /usr/lib'
make[1]: Nothing to be done for 'install-data-am'.
make[1]: Leaving directory '/home/james/libcurl-openssl-1.0/src/curl-7.79.1/lib'
make: Leaving directory '/home/james/libcurl-openssl-1.0/src/curl-7.79.1/lib'
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Stripping unneeded symbols from binaries and libraries...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "libcurl-openssl-1.0"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: libcurl-openssl-1.0 7.79.1-1 (Tue 24 Jan 2023 07:52:13 PM PST)
[james@ArchComp10-2022 libcurl-openssl-1.0]$ 

I then open the tar that is built 'libcurl-openssl-1.0-7.79.1-1-x86_64.pkg.tar.zst'
Under usr/lib

[james@ArchComp10-2022 lib]$ ls
libcurl-openssl-1.0.so.3      libcurl-openssl-1.0.so.4.2.0  libcurl-openssl-1.0.so.4.6.0
libcurl-openssl-1.0.so.4      libcurl-openssl-1.0.so.4.3.0  libcurl-openssl-1.0.so.4.7.0
libcurl-openssl-1.0.so.4.0.0  libcurl-openssl-1.0.so.4.4.0
libcurl-openssl-1.0.so.4.1.0  libcurl-openssl-1.0.so.4.5.0
[james@ArchComp10-2022 lib]$ 

The pkgbuild doesn't list nss as depend.

I was wrong, and konsole did keep everything, but I see no errors or skips unlerss i missed it reviewing it. pkg built without issue as far as I understand how this works and it just doens't have the libcurl-nss library.

Last edited by jwrichards82 (2023-01-25 04:02:53)

Offline

#10 2023-01-25 08:47:15

seth
Member
Registered: 2012-09-03
Posts: 49,950

Re: error while loading shared libraries: libcurl-nss.so.4: cannot[solved]

The patches are here
https://github.com/archlinux/svntogit-p … curl/trunk

YOur first attempt on loqs' PKGBUILD failed because you didn't have them, the 2nd because you vandalized "invalidated" his PKGBUILD

Get the patches, and try loqs' PKGBUILD again.

Online

#11 2023-01-25 13:47:38

jwrichards82
Member
Registered: 2023-01-24
Posts: 12

Re: error while loading shared libraries: libcurl-nss.so.4: cannot[solved]

Isn't part of the learning process partly vandalizing "invalidating"  some of this in learning? I only started butchering tweaking when I first ran it and it complained about missing files.

Anyway. I downloaded the patch files, ran makepkg and I got the install package. Cracking it open, it has the needed libcurl-nss.so files.
So, installed the package.
Ran < ldd "./Crescent Loom" >
and this time, got a larger readout.

inux-vdso.so.1 (0x00007ffc2058a000)
        libGL.so.1 => /usr/lib/libGL.so.1 (0x00007fbf4529c000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0x00007fbf45159000)
        libopenal.so.1 => /usr/lib/libopenal.so.1 (0x00007fbf44fde000)
        libcurl-nss.so.4 => /usr/lib/libcurl-nss.so.4 (0x00007fbf44f32000)
        libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007fbf44f2d000)
        libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fbf44f28000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fbf44c00000)
        libm.so.6 => /usr/lib/libm.so.6 (0x00007fbf44e3e000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007fbf44be0000)
        libc.so.6 => /usr/lib/libc.so.6 (0x00007fbf449f9000)
        libGLdispatch.so.0 => /usr/lib/libGLdispatch.so.0 (0x00007fbf44941000)
        libGLX.so.0 => /usr/lib/libGLX.so.0 (0x00007fbf4490f000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007fbf448e4000)
        /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fbf45354000)
        libnghttp2.so.14 => /usr/lib/libnghttp2.so.14 (0x00007fbf448b8000)
        libidn2.so.0 => /usr/lib/libidn2.so.0 (0x00007fbf44896000)
        librtmp.so.1 => /usr/lib/librtmp.so.1 (0x00007fbf44877000)
        libssh2.so.1 => /usr/lib/libssh2.so.1 (0x00007fbf44835000)
        libpsl.so.5 => /usr/lib/libpsl.so.5 (0x00007fbf44821000)
        libssl3.so => /usr/lib/libssl3.so (0x00007fbf447b9000)
        libnss3.so => /usr/lib/libnss3.so (0x00007fbf44684000)
        libnspr4.so => /usr/lib/libnspr4.so (0x00007fbf44643000)
        libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x00007fbf445ef000)
        libzstd.so.1 => /usr/lib/libzstd.so.1 (0x00007fbf44546000)
        libbrotlidec.so.1 => /usr/lib/libbrotlidec.so.1 (0x00007fbf44538000)
        libz.so.1 => /usr/lib/libz.so.1 (0x00007fbf4451e000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0x00007fbf44519000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007fbf44511000)
        libunistring.so.5 => /usr/lib/libunistring.so.5 (0x00007fbf44357000)
        libgnutls.so.30 => /usr/lib/libgnutls.so.30 (0x00007fbf44000000)
        libhogweed.so.6 => /usr/lib/libhogweed.so.6 (0x00007fbf4430c000)
        libnettle.so.8 => /usr/lib/libnettle.so.8 (0x00007fbf442b8000)
        libgmp.so.10 => /usr/lib/libgmp.so.10 (0x00007fbf44215000)
        libssl.so.3 => /usr/lib/libssl.so.3 (0x00007fbf43f60000)
        libcrypto.so.3 => /usr/lib/libcrypto.so.3 (0x00007fbf43a00000)
        libnssutil3.so => /usr/lib/libnssutil3.so (0x00007fbf43f2e000)
        libplc4.so => /usr/lib/libplc4.so (0x00007fbf4420c000)
        libplds4.so => /usr/lib/libplds4.so (0x00007fbf44207000)
        libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x00007fbf43e56000)
        libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x00007fbf439d2000)
        libcom_err.so.2 => /usr/lib/libcom_err.so.2 (0x00007fbf43e50000)
        libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x00007fbf439c4000)
        libkeyutils.so.1 => /usr/lib/libkeyutils.so.1 (0x00007fbf439bd000)
        libresolv.so.2 => /usr/lib/libresolv.so.2 (0x00007fbf439ab000)
        libbrotlicommon.so.1 => /usr/lib/libbrotlicommon.so.1 (0x00007fbf43988000)
        libp11-kit.so.0 => /usr/lib/libp11-kit.so.0 (0x00007fbf43855000)
        libbrotlienc.so.1 => /usr/lib/libbrotlienc.so.1 (0x00007fbf437b1000)
        libtasn1.so.6 => /usr/lib/libtasn1.so.6 (0x00007fbf4379a000)
        libffi.so.8 => /usr/lib/libffi.so.8 (0x00007fbf4378f000)

It now sees the lobcurl-nss.so.4 library.

Running the game, "./Crescent Loom" now works. I get into the menu, play the tutorial and exit the game with

 | ~~~~~ ending with grace ~~~~~ 

I am content now. And I understand what has happened a bit more.

Question is... how did this come about? Why did this pkgbuild exist and there is nothing on the AUR or 5 hours of Google searches didn't find anything I would find useful?
Was this an issue before? Did someone else have this problem or is this 1) a new thing people are working on to be integrated later or 2) something being phased out or so niche?
I would like to get to a point where I can find these kind of resources rather easily instead of bothering the people here. Which, I am grateful!
This was my first 'stumped' moment that brought me here.

Offline

#12 2023-01-25 14:24:09

seth
Member
Registered: 2012-09-03
Posts: 49,950

Re: error while loading shared libraries: libcurl-nss.so.4: cannot[solved]

Isn't part of the learning process partly vandalizing "invalidating"  some of this in learning?

Yes, but you took the completely wrong lessons out of it.

Question is... how did this come about?

The author of that gamething wrote:

Hm, I don't recognize libcurl-nss.so and am not well-versed in linux packages, so to fix it I'd probably do the same thing that you've done and google it and wildly install any package I come across. I see libcurl4-nss-dev or maybe libcurl3 or maybe libcurl4 as other possible packages.

You got a binary release by someone who self-admittedly doesn't really know what they're doing and you're trying to run that in a context that the binary wasn't compiled for and that relies on an ever useless, non-default and since a year actively deprecated build option in curl, https://github.com/curl/curl/commit/373 … bd7ea4c397

Was this an issue before?

Hardly.
Anything that's source released won't run into this (you'd just build it and OF COURSE this rotten feature would not be touched/required) and if the binary had been build in a context w/ minimal dependencies this would also not occur. I've no idea why it was build on a system w/ nss-tls enabled in curl.

But: this is also the origin of docker/snap/flatpack sad
One doesn't need to have a shred of an idea about what one's doing when one just ships ones entire OS alone ones binary build…
Of course that generates a massive overhead, cruft and all sorts of security issues, but one won't care because one has no idea about that either…

Why did this pkgbuild exist

My 8-ball tells me that loqs picked up the PKGBUILD from the repo package and edited it a bit to include the deprecated feature and prevent it from colliding w/ the actual curl package.
loqs might have some experience on that tongue

Online

#13 2023-01-25 14:40:26

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 29,441
Website

Re: error while loading shared libraries: libcurl-nss.so.4: cannot[solved]

seth wrote:

But: this is also the origin of docker/snap/flatpack

You mean to allow ignorant people* to do foolish and harmful things all while avoiding that pesky hurdle of learning how to do those things properly? That sounds about right.

*referring here to the upstream author who produced an awkward "for linux" build.


"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Offline

#14 2023-01-25 14:54:55

seth
Member
Registered: 2012-09-03
Posts: 49,950

Re: error while loading shared libraries: libcurl-nss.so.4: cannot[solved]

To their credit: they at least tried and the platform versions are apparently auto-generated out of the html5 code…
It could also have been released as an electron-äpp roll

The only problem is that this is dumped w/o any chance of providing support and then their poor paying customer need some over-confident jerks on the most arrogant forum on the internet to pick up the shards cool

Online

#15 2023-01-26 02:17:05

jwrichards82
Member
Registered: 2023-01-24
Posts: 12

Re: error while loading shared libraries: libcurl-nss.so.4: cannot[solved]

seth wrote:

Yes, but you took the completely wrong lessons out of it.

Yeah. Probably. I took out the sums of the patch files and their reference thinking I just needed the base build...it still failed. So I just stopped and waited for more answers to my questions before moving forward.
The patches are also there for a reason that I don't understand just yet, but will be making an effort to partially understand.

docker/snap/flatpack;
I have been intentionally seeking things out that don't use these. I don't even think I have the needed support setup for them. I would rather have something installable that relies on my system being setup correctly. I can see the ease of use for it, but I would rather go the other route.

As for "deprecated feature"
I take it, this libcurl-nss thing is not really a thing, more of an obscure use and isn't normal practice? At least a developer, not the one of this game, more knowledgeable would not be using?
In my Googling I glanced over an article about moving away from Network Security Services and had it rolled up in the different SSL builds? I would like to find it again so I can come off as knowing an ounce of what I am talking about.

The dev over there left "Oh fantastic! I'm very glad to hear that. I'm having trouble following the discussion — is there an obvious way you see that I could re-build the game so it doesn't rely on that depreciated curl option? e.g. recompile a version of Cerberus X with different dependencies or while in an Arch environment?"
I told them to forward the info to the engine developer and see if said developer would make changes, unless this game developer feels comfortable enough doing any changes on their side if able.
I DID tell them to include a blurb in their readme if they wanted, but I think with Linux user already in the minority and Arch user even less I am probably the only Arch user using their game. XD

Anyway. Issue has been resolved. I again thank everyone, and I am not expecting more talk on the subject.

Last edited by jwrichards82 (2023-01-26 03:11:32)

Offline

#16 2023-01-26 08:50:18

seth
Member
Registered: 2012-09-03
Posts: 49,950

Re: error while loading shared libraries: libcurl-nss.so.4: cannot[solved]

Anyway. Issue has been resolved.

Please always remember to mark resolved threads by editing your initial posts subject - so others will know that there's no task left, but maybe a solution to find.
Thanks.

The way to get rid of the libcurl-nss dependency is to build and link the game against a version of curl that doesn't have it.
It is very unlikely that anything in the game or the engine or at all actually relies on this and as you could see in the linked commit: you'd have to actively enable the feature for curl (and in the last year even assure "yeah, I'm not an idiot, I really need that")
He probably built that in a really old or really LTS linux distro.

cerberus x itself seems to bundle curl dlls for windows and they don't use nss.

Online

Board footer

Powered by FluxBB