'comp' broke after fedora upgrade 29->30 | need help w/ Makefile targets

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
nmh
Reply | Threaded
Open this post in threaded view
|

'comp' broke after fedora upgrade 29->30 | need help w/ Makefile targets

nmh
Hello:

After upgrading from fedora 29 to fedora 30, I get

  $ command comp
  comp: error while loading shared libraries: libreadline.so.7: cannot open shared object file: No such file or directory

I built nmh using the tar file and make

  $ mhmail -version
  mhmail -- nmh-1.7.1 built 2018-05-19 10:39:15 +0000 on epjdn.zq3q.org

but the build was done in fedora 29 or earlier.

What is best way to fix?  I assume I should back up
/usr/local/nmh/etc
and then use make to remove the current install. How/which target?

--
thanks,
Tom

--
Then I can build and reinstall.

nmh
Reply | Threaded
Open this post in threaded view
|

Re: 'comp' broke after fedora upgrade 29->30 | need help w/ Makefile targets

nmh
On Sun 12/8/19 18:17 -0600 [hidden email] wrote:

>After upgrading from fedora 29 to fedora 30, I get
>
>  $ command comp
>  comp: error while loading shared libraries: libreadline.so.7: cannot open shared object file: No such file or directory
>
>I built nmh using the tar file and make
>
>  $ mhmail -version
>  mhmail -- nmh-1.7.1 built 2018-05-19 10:39:15 +0000 on epjdn.zq3q.org
>
>but the build was done in fedora 29 or earlier.
>
>What is best way to fix?  I assume I should back up
>/usr/local/nmh/etc
>and then use make to remove the current install. How/which target?

This appears to be a way:

    $ ./configure
    $ make
    $ make install

'comp' is working again.  Is there a better way?

--
thanks,
Tom

--
I did a

    $ make -B

thinking I might be better off forcing a build of everything,
but that failed early:

    $ make -B; echo retval: $?
    CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /usr/local/src/nmh/nmh-1.7.1/missing aclocal-1.15 -I m4
    /usr/local/src/nmh/nmh-1.7.1/missing: line 81: aclocal-1.15: command not found
    WARNING: 'aclocal-1.15' is missing on your system.
             You should only need it if you modified 'acinclude.m4' or
             'configure.ac' or m4 files included by 'configure.ac'.
             The 'aclocal' program is part of the GNU Automake package:
             <http://www.gnu.org/software/automake>
             It also requires GNU Autoconf, GNU m4 and Perl in order to run:
             <http://www.gnu.org/software/autoconf>
             <http://www.gnu.org/software/m4/>
             <http://www.perl.org/>
    make: *** [Makefile:1678: aclocal.m4] Error 127
    retval: 2
    $ rpm -q autoconf -q automake
    autoconf-2.69-31.fc30.noarch
    automake-1.16.1-13.fc30.noarch

so I re-ran

    $ make

which had almost nothing to do since, I had run it after configure earlier.
Then I did the 'make install'.

Reply | Threaded
Open this post in threaded view
|

Re: 'comp' broke after fedora upgrade 29->30 | need help w/ Makefile targets

David Levine-3
In reply to this post by nmh
Tom writes:

> After upgrading from fedora 29 to fedora 30, I get

Fedora 30 uses readline 8.0.  The easiest ways to deal with it would be to rebuild your local nmh (I recommend build_nmh in the top-level nmh source directory) or install the Fedora RPM (sudo dnf install nmh).

> I assume I should back up > /usr/local/nmh/etc
> and then use make to remove the current install. How/which target?

There is an uninstall target, but I've never used it.  I just remove the entire nmh tree (/usr/local/nmh/ in your case).

David

nmh
Reply | Threaded
Open this post in threaded view
|

Re: 'comp' broke after fedora upgrade 29->30 | build_nmh shell script

nmh
Hi David:

On Sun 12/8/19 19:54 -0500 David Levine wrote:
>Fedora 30 uses readline 8.0.  The easiest ways to deal with it would be to
>rebuild your local nmh (I recommend build_nmh in the top-level nmh source
>directory)

OK, I did not notice this

    $ sed -n 5,10p INSTALL
    Installing nmh, guided by script
    --------------------------------
    For routine installation on popular platforms, the build_nmh shell
    script can be used to guide you through configuration.  It will then
    build and optionally (with -i) install in the configured location.

thanks, good to know about the 'build_nmh' script.

>or install the Fedora RPM (sudo dnf install nmh).

I will probably start using dnf install nmh for the next release  or
for other new installs.  Nice that the package is up to date.

I assume the *.rpmnew feature is used by the rpm package, so config
files do not get clobbered in upgrades.

>> I assume I should back up > /usr/local/nmh/etc
>> and then use make to remove the current install. How/which target?
>
>There is an uninstall target, but I've never used it.  I just remove the
>entire nmh tree (/usr/local/nmh/ in your case).

OK

--
Tom

Reply | Threaded
Open this post in threaded view
|

Re: 'comp' broke after fedora upgrade 29->30 | need help w/ Makefile targets

Ken Hornstein-2
In reply to this post by nmh
>This appears to be a way:
>
>    $ ./configure
>    $ make
>    $ make install
>
>'comp' is working again.  Is there a better way?

I realize your questions has been answered, but to answer two larger
questions in this whole thread ...

There's no general solution to the problem of, "I upgraded my OS/libraries
and nmh was linked with an older version of this library", except to
recompile.  We try to make sure this process is easy and that varions
distributions come with a nmh package already available.

The "make uninstall" target is generated by Automake automatically; it
should remove everything installed by "make install".  This is actually
checked by "make distcheck" and I make sure that nmh passes "make
distcheck" before a release, so there should be no problems with
using it.

--Ken

Reply | Threaded
Open this post in threaded view
|

Re: 'comp' broke after fedora upgrade 29->30 | need help w/ Makefile targets

Robert Elz
    Date:        Tue, 10 Dec 2019 08:51:18 -0500
    From:        Ken Hornstein <[hidden email]>
    Message-ID:  <[hidden email]>

  | There's no general solution to the problem of, "I upgraded my OS/libraries
  | and nmh was linked with an older version of this library",

Actually there is, though it is nothing that can be done here.

OS upgrades should leave old .so.N versions of libraries in place,
rather than deleting them, so user applications (like nmh - whether
installed by compiling, or using a package manager) won't be broken
by the upgrade.

Users can delete old shared libraries when they notice that they haven't
been accessed for a year or two - even if something exists which would
use it, it is obviously not all that important.   A tool could help with
that task, for those users who don't even know shared libraries exist.

kre