From: Axel Kohlmeyer (akohlmey_at_gmail.com)
Date: Sat Jul 30 2022 - 16:04:14 CDT

Dan,

a few corrections.

- you are mixing up GCC and Glibc
- it is the Glibc developers that have decided to "retire" some of the
auxiliary libraries that are bundled with Glibc and move their
functionality into the main libc.so.X.Y.ZZ binary.
- this change has nothing to do with snaps. in fact, you would not be able
to even launch snaps without a working C library, i.e. Glibc, installed
already
- backward compatibility for development, can be easily achieved with a few
strategic dynamic links or by providing a dummy *static* library under the
name libdl.a (so that no entry for a dynamic library is registered with the
resulting executable). The libdl.so.2 file you have found is the
corresponding dummy library that provides backward compatibility at runtime
for old executables.

Your change to remove -ldl is a very valid step. It is not unusual that
changes to the makefiles are required when compiling. it is just unexpected
for Linux where things have been very stable for quite some time. During my
time using Linux I have already experienced two *major* transitions related
to the C library: first the transition from the a.out format to the ELF
format (and from libc.so.4 to libc.so.5) and a drastic change in how shared
libraries and objects are built; and second the transition from a
customized glibc1 implementation to using the standard glibc2 distribution
(and thus from libc.so.5 to libc.so.6). In comparison, this is a rather
minor thing.

Given the age of vmd 1.9.3 and the fact that many new features and updates
for recent developments are only available in newer versions, I am
wondering if you would not be better off compiling the most recent
alpha/beta release version.

Best regards,
    Axel.

On Sat, Jul 30, 2022 at 3:57 PM Strahs, Dr. Daniel Bernard <dstrahs_at_pace.edu>
wrote:

> Hello all:
>
> I just finished compiling VMD 1.9.3 under Ubuntu 22.04LTS. A couple of
> weeks ago I had downtime, and I thought this time would be appropriate for
> updating my laptop from Ubuntu 20.04LTS to 22.04LTS.
>
> Some colleagues had expressed dissatisfaction with 22.04LTS so I had
> waited until I was between teaching semesters. For those of you who don't
> know, Ubuntu has transitioned some software applications/suites to SNAP.
> Among the apps transitioned include the C library. I'm also not a fan of
> snaps - some of the snaps are problematic, such as firefox.
>
> VMD 1.93 from source didn't install correctly the 1st time. Many plugins
> were listed as missing. Investigation indicated that all of the missing
> plugins either were binaries compiled from source or such binaries as
> required packages.
>
> I tracked down the issue to libdl.so which is used for dynamic loading;
> this library is included in the TCL calls for the LINUXAMD64 target of the
> plugin Make-arch files. Although libdl.so.2 is present, the generic alias
> libdl.so is not.
>
> Since GCC 2.34, dynamic loading is accomplished in the C library. Ubuntu
> 22.04LTS uses GCC 2.35, and they're both downloaded snaps. My guess is that
> libdl is not being given enough consideration and may be on the way to
> obsolescence.
>
> Once I removed "-ldl" from the Make-arch TCL call, the plugins build
> correctly and VMD starts with correct plugin loading.
>
> Be well y'all!
>
> Dan Strahs
> Biology Department
> Pace University, NYC
>

-- 
Dr. Axel Kohlmeyer  akohlmey_at_gmail.com  https://urldefense.com/v3/__http://goo.gl/1wk0__;!!DZ3fjg!4s9BVNLMH-Nh77ubtbX1wO9wWtGvIpsY-622qcoL1xZUGVzX6yZLQynh2Sso86SxnsA_HVl2k-OD06cAdw$ 
College of Science & Technology, Temple University, Philadelphia PA, USA
International Centre for Theoretical Physics, Trieste. Italy.