problems compiling unblur

Hello,

I want to compile unblur on ubuntu 14.04 64bit. First of all configure throws warnings "rm: cannot remove 'core': Is a directory":


# ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
/usr/local/src/unblur_1.0.2/src/missing: line 1: syntax error near unexpected token `<<<'
/usr/local/src/unblur_1.0.2/src/missing: line 1: `<<<<<<< .mine'
configure: WARNING: `missing' script is too old or missing
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for g77... no
checking for xlf... no
checking for f77... no
checking for frt... no
checking for pgf77... no
checking for cf77... no
checking for fort77... no
checking for fl32... no
checking for af77... no
checking for xlf90... no
checking for f90... no
checking for pgf90... no
checking for pghpf... no
checking for epcf90... no
checking for gfortran... gfortran
checking whether the Fortran 77 compiler works... yes
checking for Fortran 77 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 Fortran 77 compiler... rm: cannot remove 'core': Is a directory
yes
checking whether gfortran accepts -g... rm: cannot remove 'core': Is a directory
yes
checking for gfortran... gfortran
checking whether we are using the GNU Fortran compiler... rm: cannot remove 'core': Is a directory
yes
checking whether gfortran accepts -g... rm: cannot remove 'core': Is a directory
yes
checking for gcc... gcc
checking whether we are using the GNU C compiler... rm: cannot remove 'core': Is a directory
yes
checking whether gcc accepts -g... rm: cannot remove 'core': Is a directory
yes
checking for gcc option to accept ISO C89... rm: cannot remove 'core': Is a directory
none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for Fortran flag to compile .f90 files... none
checking for Fortran flag to compile .f files... none
checking for Fortran flag needed to accept free-form source... rm: cannot remove 'core': Is a directory
-ffree-form
checking whether gcc and cc understand -c and -o together... rm: cannot remove 'core': Is a directory
yes
checking for library containing cblas_sswap... rm: cannot remove 'core': Is a directory
rm: cannot remove 'core': Is a directory
-lgslcblas
checking for library containing gsl_log1p... rm: cannot remove 'core': Is a directory
rm: cannot remove 'core': Is a directory
-lgsl
checking for library containing deflate... rm: cannot remove 'core': Is a directory
rm: cannot remove 'core': Is a directory
-lz
checking for library containing jbg_enc_init... rm: cannot remove 'core': Is a directory
rm: cannot remove 'core': Is a directory
-ljbig
checking for library containing jpeg_read_scanlines... rm: cannot remove 'core': Is a directory
rm: cannot remove 'core': Is a directory
-ljpeg
checking for library containing TIFFOpen... rm: cannot remove 'core': Is a directory
rm: cannot remove 'core': Is a directory
-ltiff
checking fortran 90 modules inclusion flag... rm: cannot remove 'core': Is a directory
-I
checking fortran 90 modules extension... mod
configure: OpenMP disabled
checking for fftwf_malloc in -lmkl_rt... rm: cannot remove 'core': Is a directory
no
checking for library containing fftwf_malloc... rm: cannot remove 'core': Is a directory
rm: cannot remove 'core': Is a directory
-lfftw3f
configure: Using FFTW rather than MKL for fast Fourier transforms
checking for ranlib... ranlib
configure: Debugging disabled
configure: Optimisations enabled
configure: Latest instruction sets disabled
configure: Profiling disabled
configure: OpenMP profiling disabled
checking --enable-runtime-checks argument... yes
configure: Coarrays disabled
configure: svn version = Unversioned directory
configure: FCFLAGS at the end: -ffree-form -O3
configure: creating ./config.status
config.status: creating Makefile
config.status: executing depfiles commands
rm: cannot remove 'core': Is a directory

And finally make breaks with following errors:


# make
gfortran -fopenmp -Wall -Wextra -Wtabs -ffree-line-length-none -cpp -ffree-form -O3 -c -o core/program_instances.o core/program_instances.f90
core/program_instances.f90:16.64:

character(len=:), public, allocatable :: program_name
1
Error: Deferred-length character component 'program_name' at (1) is not yet supported
core/program_instances.f90:16.64:

character(len=:), public, allocatable :: program_name
1
Error: Deferred-length character component 'program_name' at (1) is not yet supported
core/program_instances.f90:16.64:

character(len=:), public, allocatable :: program_name
1
Error: Deferred-length character component 'program_name' at (1) is not yet supported
core/program_instances.f90:311.112:

'command_line variable not long enough to hold the command line!')
1
Error: 'terminatewithfatalerror' at (1) should be a SUBROUTINE
core/program_instances.f90:314.85:

'command line could not be retrieved!')
1
Error: 'terminatewithfatalerror' at (1) should be a SUBROUTINE
core/program_instances.f90:317.93:

'fatal error in parse_command_line_arguments!')
1
Error: 'terminatewithfatalerror' at (1) should be a SUBROUTINE
core/program_instances.f90:339.101:

'fatal error in parse_command_line_arguments!')
1
Error: 'terminatewithfatalerror' at (1) should be a SUBROUTINE
core/program_instances.f90:342.109:

'unknown fatal error in parse_command_line_arguments!')
1
Error: 'terminatewithfatalerror' at (1) should be a SUBROUTINE
core/program_instances.f90:349.99:

'Malformed number of threads: '//trim(current_arg))
1
Error: 'terminatewithfatalerror' at (1) should be a SUBROUTINE
core/program_instances.f90:359.107:

'Malformed number of threads: '//trim(number_of_threads_c))
1
Error: 'terminatewithfatalerror' at (1) should be a SUBROUTINE
core/program_instances.f90:364.108:

'Malformed argument: '//trim(current_arg))
1
Error: 'terminatewithfatalerror' at (1) should be a SUBROUTINE
core/program_instances.f90:371.125:

'Did not find number of threads in command line arguments')
1
Error: 'terminatewithfatalerror' at (1) should be a SUBROUTINE
core/program_instances.f90:388.107:

'Malformed number of threads: '//trim(number_of_threads_c))
1
Error: 'terminatewithfatalerror' at (1) should be a SUBROUTINE
core/program_instances.f90:136.65:

call self%ParseCommandLineArguments(command_line_options)
1
Error: 'parsecommandlinearguments' at (1) should be a SUBROUTINE
core/program_instances.f90:62.117:

ror('ProgramInstance::GetAvailableUnit','Could not find an unused io unit')
1
Error: 'terminatewithfatalerror' at (1) should be a SUBROUTINE
make: *** [core/program_instances.o] Error 1

Can you help me please?

Hello,

The recommended way of building unblur is using the Intel compiler. To do this, use the following configure line:

./configure FC=ifort F77=ifort

In principle, it is also possible to build unblur with the GNU compiler, but this requires version >= 4.9.1. I believe Ubuntu 14.04 ships with version 4.8. Ubuntu 15.04 ships GCC 5.2.1.

You have several options:
- use the Intel compiler
- build unblur on a machine running a more recent version of Ubuntu
- install a recent version of the GNU compiler suite on your Ubuntu 14.04 system
- just use the compiled binary distributed on our website

Hope this helps
Alexis