On Thu, 7 Apr 2022 at 19:42, Michael Hennebry <hennebry@web.cs.ndsu.nodak.edu> wrote:
/usr/bin/ld: cannot find -lmpfr

As mentioned in another thread, I am trying to compile gappa 1.4 .
./configure LDFLAGS=-L/usr/lib64  complains


From config.log
configure:4678: checking for mpfr_snprintf in -lmpfr
configure:4703: g++ -o conftest -g -O2  -L/usr/lib64/ conftest.cpp -lmpfr  -lgmp
>&5
/usr/bin/ld: cannot find -lmpfr
collect2: error: ld returned 1 exit status

[hennebry@fedora ~]$ ls /usr/lib64/libmpfr*
/usr/lib64/libmpfr.so.6  /usr/lib64/libmpfr.so.6.1.0
[hennebry@fedora ~]$

What is going on?
How do I deal?

When trying to install a newer version of some program than dnf provides, it is often
helpful to "borrow" from the source RPM.   As already mentioned, you certainly need
the mpfr-devel package.

I use mpfr, gmp, and boost in Fedora 35 (so already have the -devel libraries).
Running configure with no options as suggested in the documentation "works for me":

 % ./configure
checking for g++... g++
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 we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for flex... flex
checking lex output file root... lex.yy
checking lex library... none needed
checking whether yytext is a pointer... no
checking for bison... bison -y
checking how to run the C preprocessor... gcc -E
checking for gcc... gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... (cached) none needed
checking how to run the C preprocessor... gcc -E
checking how to run the C++ preprocessor... g++ -E
checking for g++... g++
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether g++ accepts -g... yes
checking how to run the C++ preprocessor... g++ -E
checking for __gmpz_init in -lgmp... yes
checking for mpfr_snprintf in -lmpfr... yes
checking for Boost (>=1.32)... yes
checking for tr1/unordered_map... yes
configure: building remake...
/usr/bin/ld: /tmp/cc8F3rMK.o: in function `main':
remake.cpp:(.text.startup+0xb2d): warning: the use of `tempnam' is dangerous, better use `mkstemp'
configure: creating ./config.status
config.status: creating stamp-config_h
config.status: creating Remakefile
config.status: creating config.h
 
Then "./remake" and "./remake check" alss "works for me". I just upgraded my Fedora 34 box to 
35, so can't test on F34, but I would be surprised if F34 doesn't work. 
 

configure is written in the obfuscated shell generated by autotools.
Editing that seems unlikely to be successful.

Edit configure.in.

--
George N. White III