Fortran errors - Complex argument bessel function

335 Views Asked by At

I have been having some trouble getting some fortran code I was given working. This code uses an external library, NUMERICAL_LIBRARIES, by Rogue Wave in order to implement a bessel function with complex argument. I have attempted to contact Rogue Wave but they have ignored my emails so far.

I downloaded a bessel function library from, https://jblevins.org/mirror/amiller/ (toms644.zip), in an attempt to get an open source version working. However, I have not been able to get this code integrated with the code given to me.

Compiling the code with this statement in cygwin:

gfortran "pulse9_sili_oneTube - Copy.f90" -o "CBESSEL.F90" -o pressureWaveModel

gives me this error statement:

/usr/lib/gcc/x86_64-pc-cygwin/9.3.0/../../../../x86_64-pc-cygwin/bin/ld: /tmp/cc0Rqf3a.o:pulse9_sili_oneTube - Copy.f90:(.text+0x29d80): undefined reference to `cbesj_'
/tmp/cc0Rqf3a.o:pulse9_sili_oneTube - Copy.f90:(.text+0x29d80): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `cbesj_'
collect2: error: ld returned 1 exit status

I have linked the CBESSEL.F90 file to my main file:

INCLUDE "CBESSEL.F90"

USE Complex_Bessel

However, I cant even get the testing code running so perhaps my compiler is set up wrong? Compiling the test code gives me error saying it cant open the module file, do I need to somehow create a module file? There were no useful instructions included with this code.

Any help you can provide would be super useful!! Cheers.

0

There are 0 best solutions below