Hi Dave --

It looks like that SqueakSSL uses "glob.h" and glob()/globfree() in "platforms/unix/plugins/SqueakSSL/openssl_overlay.h". That needs glibc 2.27.

...
        glob_t g = {0};
        if (0 == glob(possible_files, GLOB_NOSORT, NULL, &g)) {
            if (g.gl_pathc > 0) {
                for (size_t i = 0; i < g.gl_pathc; i++) {
                    char* fullfile = basename(g.gl_pathv[i]);
                    if (strnlen(fullfile, PATH_MAX) > name_len) {
                        libnames[libname_count] = strndup(fullfile, PATH_MAX);
                        libname_count++;
                    }
                }
            }
            globfree(&g);
...


What's "ldd --version" on your Ubuntu 16.04 LTS?


Best,
Marcel

***

nm SqueakSSL.so | grep GLIBC
                 U __asprintf_chk@@GLIBC_2.8
                 U calloc@@GLIBC_2.2.5
                 w __cxa_finalize@@GLIBC_2.2.5
                 U dirname@@GLIBC_2.2.5
                 U dl_iterate_phdr@@GLIBC_2.2.5
                 U free@@GLIBC_2.2.5
                 U getenv@@GLIBC_2.2.5
                 U globfree@@GLIBC_2.2.5
                 U glob@@GLIBC_2.27
                 U inet_pton@@GLIBC_2.2.5
                 U memchr@@GLIBC_2.2.5
                 U memcmp@@GLIBC_2.2.5
                 U __memcpy_chk@@GLIBC_2.3.4
                 U __printf_chk@@GLIBC_2.3.4
                 U puts@@GLIBC_2.2.5
                 U qsort@@GLIBC_2.2.5
                 U realloc@@GLIBC_2.2.5
                 U __stack_chk_fail@@GLIBC_2.4
                 U stderr@@GLIBC_2.2.5
                 U stdout@@GLIBC_2.2.5
                 U strchr@@GLIBC_2.2.5
                 U strdup@@GLIBC_2.2.5
                 U strlen@@GLIBC_2.2.5
                 U strncasecmp@@GLIBC_2.2.5
                 U strncmp@@GLIBC_2.2.5
                 U strndup@@GLIBC_2.2.5
                 U strnlen@@GLIBC_2.2.5
                 U strsep@@GLIBC_2.2.5
                 U strtok_r@@GLIBC_2.2.5
                 U strverscmp@@GLIBC_2.2.5
                 U __xpg_basename@@GLIBC_2.2.5

nm FileAttributesPlugin.so | grep GLIBC
                 U access@@GLIBC_2.2.5
                 U calloc@@GLIBC_2.2.5
                 U chmod@@GLIBC_2.2.5
                 U chown@@GLIBC_2.2.5
                 U closedir@@GLIBC_2.2.5
                 w __cxa_finalize@@GLIBC_2.2.5
                 U __errno_location@@GLIBC_2.2.5
                 U free@@GLIBC_2.2.5
                 U lchown@@GLIBC_2.2.5
                 U localtime@@GLIBC_2.2.5
                 U __lxstat@@GLIBC_2.2.5
                 U __memcpy_chk@@GLIBC_2.3.4
                 U memcpy@@GLIBC_2.14
                 U opendir@@GLIBC_2.2.5
                 U readdir@@GLIBC_2.2.5
                 U readlink@@GLIBC_2.2.5
                 U rewinddir@@GLIBC_2.2.5
                 U __stack_chk_fail@@GLIBC_2.4
                 U strlen@@GLIBC_2.2.5
                 U __xstat@@GLIBC_2.2.5

nm UnixOSProcessPlugin.so | grep GLIBC
                 U calloc@@GLIBC_2.2.5
                 U chdir@@GLIBC_2.2.5
                 U close@@GLIBC_2.2.5
                 U confstr@@GLIBC_2.2.5
                 U __cxa_atexit@@GLIBC_2.2.5
                 w __cxa_finalize@@GLIBC_2.2.5
                 U dup2@@GLIBC_2.2.5
                 U dup@@GLIBC_2.2.5
                 U __errno_location@@GLIBC_2.2.5
                 U execve@@GLIBC_2.2.5
                 U _exit@@GLIBC_2.2.5
                 U fcntl@@GLIBC_2.2.5
                 U fdopen@@GLIBC_2.2.5
                 U feof@@GLIBC_2.2.5
                 U fflush@@GLIBC_2.2.5
                 U fileno@@GLIBC_2.2.5
                 U fork@@GLIBC_2.2.5
                 U fpathconf@@GLIBC_2.2.5
                 U __fprintf_chk@@GLIBC_2.3.4
                 U free@@GLIBC_2.2.5
                 U fwrite@@GLIBC_2.2.5
                 U getcwd@@GLIBC_2.2.5
                 U getdtablesize@@GLIBC_2.2.5
                 U getegid@@GLIBC_2.2.5
                 U getenv@@GLIBC_2.2.5
                 U geteuid@@GLIBC_2.2.5
                 U getgid@@GLIBC_2.2.5
                 U getpgid@@GLIBC_2.2.5
                 U getpgrp@@GLIBC_2.2.5
                 U getpid@@GLIBC_2.2.5
                 U getppid@@GLIBC_2.2.5
                 U getuid@@GLIBC_2.2.5
                 U kill@@GLIBC_2.2.5
                 U malloc@@GLIBC_2.2.5
                 U nice@@GLIBC_2.2.5
                 U pathconf@@GLIBC_2.2.5
                 U perror@@GLIBC_2.2.5
                 U pipe@@GLIBC_2.2.5
                 U pthread_kill@@GLIBC_2.2.5
                 U pthread_self@@GLIBC_2.2.5
                 U pthread_sigmask@@GLIBC_2.2.5
                 U putenv@@GLIBC_2.2.5
                 U realpath@@GLIBC_2.3
                 U rewind@@GLIBC_2.2.5
                 U setbuf@@GLIBC_2.2.5
                 U setitimer@@GLIBC_2.2.5
                 U setpgid@@GLIBC_2.2.5
                 U setsid@@GLIBC_2.2.5
                 U sigaction@@GLIBC_2.2.5
                 U sigaddset@@GLIBC_2.2.5
                 U sigaltstack@@GLIBC_2.2.5
                 U sigemptyset@@GLIBC_2.2.5
                 U signal@@GLIBC_2.2.5
                 U __stack_chk_fail@@GLIBC_2.4
                 U statvfs@@GLIBC_2.2.5
                 U stderr@@GLIBC_2.2.5
                 U stdin@@GLIBC_2.2.5
                 U stdout@@GLIBC_2.2.5
                 U strerror@@GLIBC_2.2.5
                 U strlen@@GLIBC_2.2.5
                 U strncpy@@GLIBC_2.2.5
                 U sysconf@@GLIBC_2.2.5
                 U unsetenv@@GLIBC_2.2.5
                 U vfork@@GLIBC_2.2.5
                 U waitpid@@GLIBC_2.2.5
                 U __xstat@@GLIBC_2.2.5

nm SqueakFFIPrims.so | grep GLIBC
                 w __cxa_finalize@@GLIBC_2.2.5
                 U fclose@@GLIBC_2.2.5
                 U fflush@@GLIBC_2.2.5
                 U fopen@@GLIBC_2.2.5
                 U __fprintf_chk@@GLIBC_2.3.4
                 U free@@GLIBC_2.2.5
                 U fwrite@@GLIBC_2.2.5
                 U malloc@@GLIBC_2.2.5
                 U memcpy@@GLIBC_2.14
                 U __printf_chk@@GLIBC_2.3.4
                 U puts@@GLIBC_2.2.5
                 U __stack_chk_fail@@GLIBC_2.4
                 U strlen@@GLIBC_2.2.5
                 U strncpy@@GLIBC_2.2.5

Am 20.12.2021 16:47:51 schrieb David T. Lewis <lewis@mail.msen.com>:

On Mon, Dec 20, 2021 at 03:31:00PM +0100, Marcel Taeumel wrote:
>
> Hi all --
>
> Here is the next release candidate:
> https://github.com/OpenSmalltalk/opensmalltalk-vm/releases/tag/202112201228 [https://github.com/OpenSmalltalk/opensmalltalk-vm/releases/tag/202112201228]
>

I see no issues with the VM, except that I have a library version issue
that prevents connection to source.squeak.org. This is on Ubuntu 16.04 LTS,
which is an older version which is at end of life and no longer supported.
IMO this should *not* be considered a show stopper for release, although
it will probably cause problems for some people who are not keeping their
Linux systems up to date.

The library version problem is:

SqueakSSL tryLoading /usr/local/bin/../lib/squeak/5.0-202112022203-64bit/SqueakSSL.so: dlopen: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.27' not found (required by /usr/local/bin/../lib/squeak/5.0-202112022203-64bit/SqueakSSL.so)

And my system is:

$ cat /proc/version
Linux version 4.15.0-142-generic (buildd@lgw01-amd64-039) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12)) #146~16.04.1-Ubuntu SMP Tue Apr 13 09:27:15 UTC 2021

Dave