We’re putting the final touches on our new badges platform. Badge issuance remains temporarily paused, but all completions are being recorded and will be fulfilled once the platform is live. Thank you for your patience.
LS Dyna

LS Dyna

Topics related to LS-DYNA, Autodyn, Explicit STR and more.

Issues Using ifort24/ifx Compiler with UserMat Package Built on ifort19

    • Amrith Mariappan
      Subscriber

      Hi all,

      I’ve been trying to use the ifort24/ifx compiler for a static linking UDF approach in ANSYS LS-DYNA. When I compile with ifort24, I get linker errors that seem related to a version mismatch, likely because the UserMat package libraries were built with ifort19.

      My university IT department is having trouble locating ifort19, and I haven’t been able to find a UserMat package library built with ifort24 or ifx. I’m wondering if anyone can help me resolve this error or suggest if it’s possible to use ifort24 or ifx with libraries built on ifort19.

      I’ve attached the linker error I’m getting during the make process for reference.

      Thanks,
      Amrith

      ifort: remark #10448: Intel(R) Fortran Compiler Classic (ifort) is now deprecated and will be discontinued late 2024. Intel recommends that customers transition now to using the LLVM-based Intel(R) Fortran Compiler (ifx) for continued Windows* and Linux* support, new language support, new language features, and optimizations. Use '/Qdiag-disable:10448' to disable this message.
      ipo: warning #11082: libansys.lib(zutil.obj): locally defined symbol __imp_free imported
      ipo: warning #11082: libansys.lib(zutil.obj): locally defined symbol __imp_malloc imported
      Microsoft (R) Incremental Linker Version 14.44.35211.0
      Copyright (C) Microsoft Corporation.  All rights reserved.
       
      -out:mppdyna.exe
      -subsystem:console
      -stack:1610612736
      -force
      /nodefaultlib:msvcrt.lib
      -ignore:4217
      -ignore:4049
      /nodefaultlib:libifcoremd.lib
      libdyna.lib
      libansys.lib
      libcmt.lib
      gdi32.lib
      comdlg32.lib
      User32.lib
      comctl32.lib
      ws2_32.lib
      advapi32.lib
      netapi32.lib
      shell32.lib
      iphlpapi.lib
      mkl_intel_ilp64.lib
      mkl_sequential.lib
      mkl_core.lib
      "/libpath:c:\Program Files (x86)\IntelSWTools\MPI\2019.6.166\intel64\lib"
      impi.lib
      couple2other_user.obj
      dyn21cnt.obj
      dyn21ueos.obj
      dyn21umats.obj
      dyn21ushl.obj
      dyn21utan.obj
      dyn21.obj
      dyn21tumat.obj
      dyn21umatc.obj
      dyn21umatv.obj
      userinterface.obj
      dyn21usld.obj
      dynrfn_user.obj
      dyn21umat.obj
      init_dyn21.obj
      dyn21em.obj
      dyn21icfd.obj
      dyn21.obj : warning LNK4006: UMAT41 already defined in dyn21umats.obj; second definition ignored
         Creating library mppdyna.lib and object mppdyna.exp
      dyn21.obj : error LNK2019: unresolved external symbol VALOCR referenced in function UTHMAT01
      mppdyna.exe : warning LNK4088: image being generated due to /FORCE option; image may not run
      dyn21.obj : fatal error LNK1223: invalid or corrupt file: file contains invalid .pdata contributions
      NMAKE : fatal error U1077: 'ifort' : return code '0x4c7'
      Stop.
       
      Makefile Content:
      # 
      # Makefile for building mppdyna Windows 64 bits
      # for 'Intel MPI'
      # Flags for single and double precision 
       
      FC = ifort
      MPPS = 
      MPPD = -DEXTENDED -DUSES_CXX -DAUTODOUBLE -4R8 -4I8 
      TARGET = mppdyna.exe
      FLAGS = /c /traceback /assume:byterecl  /QxSSE2 -fp:precise /Quppercase \
      /fpp /DIA64 /DMSTI /DAMD64 /DWINX64 /DNET_SECURITY /DMPP /DMPPWIN \
      /w /WB /DINTEL /DNET_SECURITY /D__VC__ 
       
       
      MPICH_LIB =/libpath:"c:\Program Files (x86)\IntelSWTools\MPI\2019.6.166\intel64\lib" \
      impi.lib
       
      MPICH_INC_PATH = "c:\Program Files (x86)\IntelSWTools\MPI\2019.6.166\intel64\include"
      FFLAGS = $(FLAGS)  -I. -I$(MPICH_INC_PATH) $(MPPD)
      LINKLIBS = libdyna.lib libansys.lib libcmt.lib gdi32.lib comdlg32.lib User32.lib \
      comctl32.lib ws2_32.lib advapi32.lib netapi32.lib shell32.lib iphlpapi.lib \
      mkl_intel_ilp64.lib mkl_sequential.lib mkl_core.lib $(MPICH_LIB)
       
      OBJS= couple2other_user.obj dyn21cnt.obj dyn21ueos.obj dyn21umats.obj  dyn21ushl.obj \
            dyn21utan.obj dyn21.obj dyn21tumat.obj  dyn21umatc.obj  dyn21umatv.obj userinterface.obj \
            dyn21usld.obj  dynrfn_user.obj dyn21umat.obj init_dyn21.obj dyn21em.obj dyn21icfd.obj
       
      $(TARGET): $(OBJS)
      $(FC) -w -q -o $(TARGET) $(OBJS) -F:1610612736 -link -force /nodefaultlib:msvcrt.lib \
      -ignore:4217 -ignore:4049 /nodefaultlib:libifcoremd.lib $(LINKLIBS)
       
      $(OBJS) :nhisparm.inc
       
      .F.obj:  
        $(FC) $(FFLAGS) $*.F
      .F90.obj:  
        $(FC) $(FFLAGS) $*.F90
       
      clean:
      -if exist *.obj erase *.obj
      # -if exist del $(OBJS)
      -if exist $(TARGET) erase $(TARGET)
       
       
       
Viewing 0 reply threads
  • You must be logged in to reply to this topic.