I had to add -ffreestanding to get the proprocessor output to compile.
files... Its pretty rare AFAICT to link to archives from external projects.
usr/bin/mpif90 -O3 -o epsilon.real.x ../Common/global.o ../Common/typedefs.o ../Common/nrtype.o ../Common/push_pop.o ../Common/message.o ../Common/peinfo.o ../Common/timing.o ../Common/scalapack_aux.o ../Common/os.o ../Common/os_c.o ../Common/accel_fft.o ../Common/accel_linalg.o ../Common/accel_memory.o ../Common/algos_common.o ../Common/bessel.o ../Common/blas.o ../Common/check_inversion.o ../Common/checkbz.o ../Common/createpools.o ../Common/elpa_interface.o ../Common/epsread_hdf5.o ../Common/epswrite_hdf5.o ../Common/eqpcor.o ../Common/fft_parallel.o ../Common/fftw.o ../Common/find_kpt_match.o ../Common/fullbz.o ../Common/gmap.o ../Common/hdf5_io.o ../Common/hdf5_io_data.o ../Common/hdf5_io_safe.o ../Common/input_utils.o ../Common/inread_common.o ../Common/inversion.o ../Common/io_utils.o ../Common/irrbz.o ../Common/lapack.o ../Common/minibzaverage.o ../Common/misc.o ../Common/random.o ../Common/read_matrix.o ../Common/references.o ../Common/scalapack.o ../Common/scissors.o ../Common/sort.o ../Common/splines.o ../Common/subgrp.o ../Common/susymmetries.o ../Common/tile.o ../Common/trunc_cell_box.o ../Common/trunc_cell_box_d.o ../Common/trunc_cell_wire.o ../Common/trunc_scell_box_d.o ../Common/vcoul_generator.o ../Common/version.o ../Common/wfn_io_hdf5.o ../Common/wfn_rho_vxc_io.o ../Common/write_matrix.o ../Common/write_program_header.o algos_epsilon.o chi_convergence.o chi_summation.o epsilon_main.o epsinv.o genwf_eps.o genwf_mpi.o input.o input_q.o inread.o lin_denominator.o mtxel.o mtxelmultiply.o rqstar.o ../Common/qhull/libtile_qhull.a /usr/lib/libscalapack-1.a /usr/lib/blacs_MPI-LINUX-1.a /usr/lib/blacsF77init_MPI-LINUX-1.a /usr/lib/blacs_MPI-LINUX-1.a -L/usr/lib/ -llapack -L/usr/lib/ -lfftw
/usr/bin/ld: cannot find /usr/lib/libscalapack-1.a: No such file or directory
/usr/bin/ld: cannot find /usr/lib/blacs_MPI-LINUX-1.a: No such file or directory
/usr/bin/ld: cannot find /usr/lib/blacsF77init_MPI-LINUX-1.a: No such file or directory
/usr/bin/ld: cannot find /usr/lib/blacs_MPI-LINUX-1.a: No such file or directory
collect2: error: ld returned 1 exit status
make[2]: *** [../Common/
common-rules.mk:321: epsilon.real.x] Error 1
make[2]: Leaving directory '/home/ubuntu/dev/berkley-gw/BerkeleyGW-4.0/Epsilon'
make[1]: *** [Makefile:82: make-Epsilon] Error 2
make[1]: Leaving directory '/home/ubuntu/dev/berkley-gw/BerkeleyGW-4.0'
make: *** [Makefile:115: all] Error 2