Re: Wrong header version in libgmp

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Am 10.06.2024 um 13:30 schrieb Colin Sare-Soar:
Hello All,
I'm a new user of GnuCobol - well, I hope to be if I can get it working.

Hi and welcome to GnuCOBOL :-)

The main problem is the library versions of libgmp.
I first downloaded and extracted GnuCOBOL-3.2 and ran ../configure from
the build directory. This failed due to missing libgmp.

The "common" way in nearly all environments is to install the matching
package.
From DEPENDENCIES:

-----------------------------------------------------------------------
These packages provide **compile-time** and **run-time** support. That
is, they include C header files that are used during GnuCOBOL's C
compilation phase, and dynamic libraries linked either to `libcob`, or
to the compiled binary (the compiled version of your COBOL program).
Packaging systems, particularly on Linux, sometimes include only the
run-time components in the main package, and split the compile-time
pieces off to a "development" package.

You need both. Header files are required for compilation, and libraries
for run-time support.

If your operating system includes a package management system, we
suggest you use it, rather than building the dependencies from source,
unless you have specific needs.
-----------------------------------------------------------------------

For a common way to do this, see
https://sourceforge.net/p/gnucobol/discussion/help/thread/7c6b048b95/

This also lists the way to install a bunch of optional dependencies.


But of course building dependencies from scratch is also fine and can
have additional benefits like newer versions and (in case of GMP)
tweaking to your local machine for best performance.

I d/l GMP and tried to compile that. I ran configure, successfully and
then built it successfully but when I tried to run the tests (make
check) that failed 6 out of 8 tests all for the same reason, the wrong
header version.

This seems to be more appropriate to send to the GMP mailing list
"gmp-discuss" (https://gmplib.org/#MAILINGLISTS) and likely has an
answer in its archive.

Here is an extract from test-suite.log:
========================================
    GNU MP 6.3.0: tests/test-suite.log
========================================
# TOTAL: 8
# PASS:  2
# SKIP:  0
# XFAIL: 0
# FAIL:  6
# XPASS: 0
# ERROR: 0
.. contents:: :depth: 2
FAIL: t-bswap
=============
tests are not linked to the newly compiled library
   local version is: 6.3.0
   linked version is: 6.2.1
FAIL t-bswap (exit status: 134)

... for example
https://gmplib.org/list-archives/gmp-discuss/2018-April/006227.html
found via
https://duckduckgo.com/?q=local+version+site%3Ahttps%3A%2F%2Fgmplib.org%2Flist-archives%2Fgmp-discuss%2F&ia=web

Note: this normally should NOT happen when running the tests, so you
possibly want to check with the mailing list why it does. But as you've
installed this the question still arises independently with GnuCOBOL.

Nevertheless, the library did compile without any error messages.
Then I tried to configure GnuCOBOL-3.2 again and got this message:
configure:16179: result: no (header: 6.3 / library: 6.2.1)
configure:16181: error: in `/home/colins2/GnuCOBOL-src/gnucobol-3.2/build':
configure:16183: error: unable to use GMP
See `config.log' for more details (This extract is from config.log)

The answer from the mailing list is one of the possible answers:

> What it most likely means is that you installed GMP in /usr/local,
but that GMP is also installed somewhere else by the system.
> The solution is typically to make sure that LD_LIBRARY_PATH includes
/usr/local/lib.  This will ensure that you get the version of GMP
that you are expecting.

But that was about the "runtime" part - you have this mismatch the other
way around. To fix this with a default install path of /usr/local/lib
(not sure where you've installed GMP to) is possibly to additionally
pass LDFLAGS="-Wl,-rpath,/usr/local/lib -L/usr/local/lib" to the
configure command line (the header is already 6.3 so you've likely set
-I /usr/local/include already).

I have used COBOL on the past and actually did a course on it in '85 or
so. I had MF COBOL on CP/M and RM COBOL on DOS and had many headaches
getting my working code accepted on the college's MS COBOL platform! I
did write some applications for myself but sadly no longer have the
source code to reference.
I hope someone can help with the above problem as I can't get anywhere
just now. Both GnuCOBOL and GMP were downloaded today so should be the
latest versions available. I'm on Linux Mint 21.3 on an HP Z420
workstation using GCC 11.4.0, so nothing very strange or exotic.

To help (for both the GnuCOBOL configure and the GMP test issue) it is
useful to provide config.log of the matching system.
So if you still have issues after using the rpath option please attach
that as well.
And if not: please drop a short feedback after your successful install :-)

Thanks
Colin

Welcome again,
Simon





[Index of Archives]     [Gcc Help]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Info]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux