Have used LAPACK roiutine in ifort 19.1 but unable to link them in in IFGX 2025.3 on Linux RH8.
ifx -o p783 -I Includes -I . -I /pw/test/linux/intel/oneapi/2024.2/include/mkl/intel64/lp64 linux/Release/currentpath.o linux/Release/arl.o linux/Release/beval.o linux/Release/bldint.o linux/Release/bldrd.o linux/Release/bleed.o linux/Release/bmfit.o linux/Release/calc30.o linux/Release/calc90.o linux/Release/calcad.o linux/Release/calcheadloss.o linux/Release/calcmp.o linux/Release/calcnr.o linux/Release/calcns.o linux/Release/calcor.o linux/Release/case.o linux/Release/cbankf.o linux/Release/cbankh.o linux/Release/cd_nasa.o linux/Release/cd_round.o linux/Release/cd_shaped.o linux/Release/cd_slot.o linux/Release/cfi.o linux/Release/cfibld.o linux/Release/change.o linux/Release/chktab.o linux/Release/chn.o linux/Release/choke.o linux/Release/circ.o linux/Release/condmp.o linux/Release/coolng.o linux/Release/diff.o linux/Release/ejbal.o linux/Release/energy.o linux/Release/ent.o linux/Release/enthlp.o linux/Release/equatn.o linux/Release/extmn.o linux/Release/falkh.o linux/Release/fhp.o linux/Release/fiopen.o linux/Release/hcalc.o linux/Release/head.o linux/Release/hex.o linux/Release/hlp.o linux/Release/hybrid.o linux/Release/init.o linux/Release/init_commons.o linux/Release/inlet.o linux/Release/input.o linux/Release/inter.o linux/Release/inter2.o linux/Release/irb.o linux/Release/kopd.o linux/Release/kped.o linux/Release/lec.o linux/Release/lei.o linux/Release/leibld.o linux/Release/matdat.o linux/Release/mltcas.o linux/Release/mombal.o linux/Release/moment.o linux/Release/nadolh.o linux/Release/netwrk.o linux/Release/opd.o linux/Release/orf.o linux/Release/outcds.o linux/Release/output.o linux/Release/parsit.o linux/Release/path.o linux/Release/ped.o linux/Release/pedangl.o linux/Release/pedc.o linux/Release/peddhyd.o linux/Release/pedpin.o linux/Release/pedpindev.o linux/Release/pedwall.o linux/Release/pedwalldev.o linux/Release/pedwalldk.o linux/Release/pedwalli.o linux/Release/plotfile.o linux/Release/plstor.o linux/Release/propty.o linux/Release/psbal.o linux/Release/psbal2.o linux/Release/psink.o linux/Release/psource.o linux/Release/ptbal.o linux/Release/punch.o linux/Release/rcarl.o linux/Release/rcbld.o linux/Release/rcchn.o linux/Release/rcent.o linux/Release/rcfhp.o linux/Release/rchex.o linux/Release/rcirb.o linux/Release/rclec.o linux/Release/rclei.o linux/Release/rclib.o linux/Release/rcopd.o linux/Release/rcori.o linux/Release/rcped.o linux/Release/rctdr.o linux/Release/rctrn.o linux/Release/rctrp.o linux/Release/rdbin.o linux/Release/rdchk.o linux/Release/reinit.o linux/Release/remodl.o linux/Release/revers.o linux/Release/road.o linux/Release/roadso.o linux/Release/rpgate.o linux/Release/scn.o linux/Release/setup.o linux/Release/sex.o linux/Release/sink.o linux/Release/skipcom.o linux/Release/solsys.o linux/Release/solve.o linux/Release/source.o linux/Release/sweep.o linux/Release/tdr.o linux/Release/thrttl.o linux/Release/trn.o linux/Release/trp.o linux/Release/trpf.o linux/Release/trpfact.o linux/Release/trph.o linux/Release/trprot.o linux/Release/trprotj.o linux/Release/ttos.o linux/Release/update.o linux/Release/wrtbin.o linux/Release/main000.o linux/Release/conduc.o linux/Release/smike.o -lpwa -L/pw/devl/share/pwlibs/linuxi64/lib -Wl,–start-group /pw/test/linux/intel/oneapi/2024.2/lib/libmkl_lapack95_lp64.a /pw/test/linux/intel/oneapi/2024.2/lib/libmkl_intel_lp64.a /pw/test/linux/intel/oneapi/2024.2/lib/libmkl_sequential.a /pw/test/linux/intel/oneapi/2024.2/lib/libmkl_core.a -Wl,–end-group -lpthread -lm -ldl
linux/Release/smike.o:
In function smike': ifxSa1eSG.i90:(.text+0x2ce): undefined reference to dgetrf_f95’
ifxSa1eSG.i90:(.text+0x47d): undefined reference to `dgetrs1_f95’
make[1]: *** [Makefile:156: p783] Error 1
make[1]: Leaving directory ‘/pw/data/DDS/m313133/p783_vs2022/src’
make: *** [Makefile:138: all] Error 2
fortran code:
!*******************************************************************************
! routine smike
!*******************************************************************************
subroutine smike
!#if defined(IFORT)
use lapack95
implicit none
!#endif
! LAPACK equivalents of LINPACK routines for real matrices
!*---------------------------------------------------------------
! local data
integer :: info , job
integer, dimension(MNP) :: ipvt
real(kind=8), dimension(:,:), allocatable, save :: aaa
integer, save :: naaa=0
integer :: i
asing = .false.
if ( naaa == 0 ) then ! put anewt in array dimension to problem size
naaa = nnewt
allocate(aaa(naaa,naaa))
else if ( nnewt == naaa ) then
continue
else
if ( allocated(aaa) ) deallocate(aaa)
naaa = nnewt
allocate(aaa(naaa,naaa))
end if
do i=1,naaa
aaa(:,i) = anewt(1:naaa,i)
end do
! use lapack from intel library PURE SUBROUTINE DGETRF_F95(A,IPIV,INFO)
call getrf(aaa, ipvt, info)
if ( info.ne.0 ) then
print *,rout,’ info=‘,info,’ singular? ’
asing = .true.
end if
job = 0
! PURE SUBROUTINE DGETRS1_F95(A,IPIV,B,TRANS,INFO)
call getrs(aaa,ipvt,bnewt,‘N’,job)
if ( local_debug ) print *,rout,‘Exit routine singular=’,asing
return
end subroutine
Makefile:
VER=2024.2
MKLPATH=/pw/test/linux/intel/oneapi/$(VER)
#/compilers_and_libraries_2020.0.166/linux/mkl
MODPATH=$(MKLPATH)/include/mkl/intel64/lp64
include/intel64/lp64
MKLLIB=$(MKLPATH)/lib
LAPACK95=-Wl,–start-group
$(MKLLIB)/libmkl_lapack95_lp64.a
$(MKLLIB)/libmkl_intel_lp64.a
$(MKLLIB)/libmkl_sequential.a
$(MKLLIB)/libmkl_core.a
-Wl,–end-group
library files and module files seem to be there and I thought I had the paths updated from 19.1 to 2025.3 intel distribution. Downloaded docs but all I found was data parallel MKlib which is not needed for this application.
Any help would be appreciated. thanks