Downloading Dynare on Fedora 29

Hi there,

I have just downloaded Dynare (along with Octave) on Fedora 29. Once to the ./configure stage,
the system doesn’t seem to find the Boost package, although already installed, as far as I can tell.

Any ideas what might be missing here?

Tor Einarsson

@sebastien Could you please have a look?

@tein Which version of Dynare are you trying to compile? Against which version of MATLAB and/or Octave? Can you also send me your configure command line and the contents of the config.log file?

I downloaded Dynare 4.5.7 and Octave 4.2.2, on Fedora 29. Octave seems to work fine by itself, but there is a missing link somewhere in communicating w/Dynare.

I also downloaded the boost library (1.66), but it seems nowhere to be found during the

compilation process.

Attached is the configure command line, along with the configure.log file.
I hope this is legible!


Configure_command:

checking for a BSD-compatible install… /usr/bin/install -c
checking whether build environment is sane… yes
checking for a thread-safe mkdir -p… /usr/bin/mkdir -p
checking for gawk… gawk
checking whether make sets $(MAKE)… yes
checking whether make supports nested variables… yes
checking how to create a pax tar archive… gnutar
checking for gcc… gcc
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 gcc accepts -g… yes
checking for gcc option to accept ISO C89… none needed
checking whether gcc understands -c and -o together… yes
checking for style of include used by make… GNU
checking dependency style of gcc… gcc3
checking for g++… no
checking for c++… no
checking for gpp… no
checking for aCC… no
checking for CC… no
checking for cxx… no
checking for cc++… no
checking for cl.exe… no
checking for FCC… no
checking for KCC… no
checking for RCC… no
checking for xlC_r… no
checking for xlC… no

checking whether we are using the GNU C++ compiler… no
checking whether g++ accepts -g… no
checking dependency style of g++… none
checking build system type… x86_64-pc-linux-gnu
checking host system type… x86_64-pc-linux-gnu
checking for ar… ar
checking for ranlib… ranlib
checking the archiver (ar) interface… ar
checking whether ln -s works… yes
checking for flex… no
checking for lex… no
checking for ${SHELL}… no
checking for bison… no
checking for boostlib >= 1.36… configure: We could not detect the boost libraries (version 1.36 or higher). If you have a staged boost library (still not installed) please specify $BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation.
configure: error: Can’t find Boost >= 1.36

Config.log:

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by dynare configure 4.5.7, which was
generated by GNU Autoconf 2.69. Invocation command line was

$ ./configure

---------

Platform.

---------

hostname = odpc204
uname -m = x86_64
uname -r = 4.18.16-300.fc29.x86_64
uname -s = Linux
uname -v = #1 SMP Sat Oct 20 23:24:08 UTC 2018

/usr/bin/uname -p = x86_64
/bin/uname -X = unknown

/bin/arch = x86_64
/usr/bin/arch -k = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo = unknown
/bin/machine = unknown
/usr/bin/oslevel = unknown
/bin/universe = unknown

PATH: /home/tor/.local/bin
PATH: /home/tor/.local/bin
PATH: /home/tor/bin
PATH: /home/tor/.local/bin
PATH: /home/tor/bin
PATH: /usr/share/Modules/bin
PATH: /usr/local/bin
PATH: /usr/local/sbin
PATH: /usr/bin
PATH: /usr/sbin
PATH: /var/lib/snapd/snap/bin

-----------

Core tests.

----------- configure:2456: checking for a BSD-compatible install

configure:2524: result: /usr/bin/install -c
configure:2535: checking whether build environment is sane
configure:2590: result: yes
configure:2741: checking for a thread-safe mkdir -p
configure:2780: result: /usr/bin/mkdir -p
configure:2787: checking for gawk
configure:2803: found /usr/bin/gawk
configure:2814: result: gawk
configure:2825: checking whether make sets $(MAKE)
configure:2847: result: yes
configure:2876: checking whether make supports nested variables
configure:2893: result: yes
configure:2972: checking how to create a pax tar archive
configure:2983: tar --version
tar (GNU tar) 1.30
Copyright © 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later https://gnu.org/licenses/gpl.html.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.
configure:2986: $? = 0
configure:3026: tardir=conftest.dir && eval tar --format=posix -chf - "tardir" >conftest.tar configure:3029: ? configure:3029: ? = 0 configure:3033: tar -xf - <conftest.tar configure:3036: ? = 0
configure:3038: cat conftest.dir/file
GrepMe
configure:3041: $? = 0
configure:3054: result: gnutar
configure:3153: checking for gcc
configure:3169: found /usr/bin/gcc
configure:3180: result: gcc
configure:3409: checking for C compiler version
configure:3418: gcc --version >&5
gcc (GCC) 8.2.1 20180801 (Red Hat 8.2.1-2)
Copyright © 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

configure:3429: ? = 0 configure:3418: gcc -v >&5 Using built-in specs.= 0## COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/8/lto-wrapper OFFLOAD_TARGET_NAMES=nvptx-none OFFLOAD_TARGET_DEFAULT=1 Target: x86_64-redhat-linux Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,objc,obj-c++,ada,go,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl --enable-libmpx --enable-offload-targets=nvptx-none --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux Thread model: posix gcc version 8.2.1 20180801 (Red Hat 8.2.1-2) (GCC) configure:3429: ? = 0
configure:3418: gcc -V >&5
gcc: error: unrecognized command line option ‘-V’
gcc: fatal error: no input files
compilation terminated.
configure:3429: ? = 1 configure:3418: gcc -qversion >&5 gcc: error: unrecognized command line option '-qversion'; did you mean '--version'? gcc: fatal error: no input files compilation terminated. configure:3429: ? = 1
configure:3449: checking whether the C compiler works
configure:3471: gcc conftest.c >&5
configure:3475: ? = 0 configure:3523: result: yes configure:3526: checking for C compiler default output file name configure:3528: result: a.out configure:3534: checking for suffix of executables configure:3541: gcc -o conftest conftest.c >&5 configure:3545: ? = 0
configure:3567: result:
configure:3589: checking whether we are cross compiling
configure:3597: gcc -o conftest conftest.c >&5
configure:3601: ? = 0 configure:3608: ./conftest configure:3612: ? = 0
configure:3627: result: no
configure:3632: checking for suffix of object files
configure:3654: gcc -c conftest.c >&5
configure:3658: ? = 0configure:3679: result: o configure:3683: checking whether we are using the GNU C compiler configure:3702: gcc -c conftest.c >&5 configure:3702: ? = 0
configure:3711: result: yes
configure:3720: checking whether gcc accepts -g
configure:3740: gcc -c -g conftest.c >&5
configure:3740: ? = 0 configure:3781: result: yes configure:3798: checking for gcc option to accept ISO C89 configure:3861: gcc -c -g -O2 conftest.c >&5 configure:3861: ? = 0
configure:3874: result: none needed
configure:3899: checking whether gcc understands -c and -o together
configure:3921: gcc -c conftest.c -o conftest2.o
configure:3924: ? = 0 configure:3921: gcc -c conftest.c -o conftest2.o configure:3924: ? = 0
configure:3936: result: yes
configure:3964: checking for style of include used by make
configure:3992: result: GNU
configure:4018: checking dependency style of gcc
configure:4129: result: gcc3
configure:4202: checking for g++
configure:4232: result: no
configure:4202: checking for c++
configure:4232: result: nconfigure:4232: result: no
configure:4202: checking for cl.exe
configure:4232: result: no
configure:4202: checking for FCC
configure:4232: result: no
configure:4202: checking for KCC
configure:4232: result: no
configure:4202: checking for RCC
configure:4232: result: no
configure:4202: checking for xlC_r
configure:4232: result: no
configure:4202: checking for xlC
configure:4232: result: no
configure:4256: checking for C++ compiler version
configure:4265: g++ --version >&5
./configure: line 4267: g++: command not found
configure:4276: ? = 127 configure:4265: g++ -v >&5 ./configure: line 4267: g++: command not found configure:4276: ? = 127
configure:4265: g++ -V >&5
./configure: line 4267: g++: command not found
configure:4276: ? = 127 configure:4265: g++ -qversion >&5 ./configure: line 4267: g++: command not foundo configure:4276: ? = 127
configure:4265: g++ -v >&5
./configure: line 4267: g++: command not found
configure:4276: ? = 127 configure:4265: g++ -V >&5 ./configure: line 4267: g++: command not found configure:4276: ? = 127
configure:4265: g++ -qversion >&5
./configure: line 4267: g++: command not found
configure:4276: ? = 127 configure:4280: checking whether we are using the GNU C++ compiler configure:4299: g++ -c conftest.cpp >&5 ./configure: line 1633: g++: command not found configure:4299: ? = 127
configure: failed program was:
| /* confdefs.h /
| #define PACKAGE_NAME “dynare”
| #define PACKAGE_TARNAME “dynare”
| #define PACKAGE_VERSION “4.5.7”
| #define PACKAGE_STRING “dynare 4.5.7”
| #define PACKAGE_BUGREPORT “”
| #define PACKAGE_URL “”
| #define PACKAGE “dynare”
| #define VERSION “4.5.7”
| /
end confdefs.h. */
|
| int
| main ()
{
| #ifndef GNUC
| choke me
| #endif
|
| ;
| return 0;
| }
configure:4308: result: no
configure:4317: checking whether g++ accepts -g
configure:4337: g++ -c -g conftest.cpp >&5
./configure: line 1633: g++: command not found
configure:4337: ? = 127 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "dynare" | #define PACKAGE_TARNAME "dynare" | #define PACKAGE_VERSION "4.5.7" | #define PACKAGE_STRING "dynare 4.5.7" | #define PACKAGE_BUGREPORT "" | #define PACKAGE_URL "" | #define PACKAGE "dynare" | #define VERSION "4 /* end confdefs.h. */ | | int | main () | { | | ; | return 0; | } configure:4352: g++ -c conftest.cpp >&5 ./configure: line 1633: g++: command not found configure:4352: ? = 127
configure: failed program was:

Hi,

So basically the configuration step can’t locate your copy of Boost.

Are you sure that you installed the boost-devel package, which (if I understand correctly) is the one which contains development files for boost under Fedora?

If your installation is correct, you should have the file /usr/include/boost/version.hpp.

Best,

Hi again,

The file /usr/include/boost/version.hpp. is there, yet the configuration process still stalls at the same point: — can’t find the boost library ----.

Best
Tor

Oh, I see it now in the config.log. It looks like you did not install g++, the C++ compiler.

Hi again,

I haven’t been able to look into the installation of Dynare for a while, but I think I’m nearing the completion.
The remaining problem is finding the UNFPACK. The message from the conf. is:

“configure: error: Can’t find UMFPACK
configure: error: ./configure failed for mex/build/octave”

So the question is how to go about the final stages.

Thanks,
Tor

Hi Tor,

This probably means that you need to install the suitesparse package, which provides UMFPACK.

Best,

Hi once again.

Do you mean the package: suitesparse-4.4.6-16.fc29.x86_64?
That one is already installed.

Thanks,
Tor

This is indeed the package that contains UMFPACK, so the problem must lie somewhere else.

Can you post the contents of mex/build/octave/config.log?

Yes, so it seems. Attached is the requested file.

Best,
Torconfig.log (52.0 KB)

There is not much additional information in the log, the compiler just says that it can’t find the UMFPACK library.

Can you run the following command as root, to verify that the library is indeed installed:

find /usr -name libumfpack.*

The system comes up with:

/usr/lib64/libumfpack.so.5
/usr/lib64/libumfpack.so.5.7.1

Best,
Tor

So your GCC does not look by default in /usr/lib64. I don’t understand why Fedora does such strange things.

You can try adding LDFLAGS=-L/usr/lib64 on the configure command.

Unfortunately, the UMFPACK is still reported unfound.

Best
Tor

Then I’m afraid I can’t help you more.

Something may be broken on your system: your compiler is not able to locate a library in a standard location. This is a highly abnormal situation.

More precisely, the config.log shows:

configure:7421: gcc -o conftest  -Wall -Wno-parentheses   conftest.c -lumfpack
/usr/bin/ld: cannot find -lumfpack
collect2: error: ld returned 1 exit status

(where conftest.c is a small generated source file)

You probably should look for help on some Fedora forum.

Best,