CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   Siemens (https://www.cfd-online.com/Forums/siemens/)
-   -   Error with posdat.f - undefined symbol: for_open (https://www.cfd-online.com/Forums/siemens/56244-error-posdat-f-undefined-symbol-for_open.html)

Emmanuel Resch August 16, 2007 15:02

Error with posdat.f - undefined symbol: for_open
 
I encounter the following error when executing star. Just when posdat.f is called, the following message appears in the STAR window:

... "undefined symbol: for_open"

I get this error because in my code I'm trying to use inherent Fortran functions, such as OPEN, CLOSE, WRITE. Apparently, some inherent Fortran functions, including i/o functions, require linking additional Intel libraries to the STAR-CD user-supplied dynamic library libstarusr.so. I have found out what these libraries are and where they are located on my system, but I have no idea how to link them to libstarusr.so.

The following webpage describes my problem almost perfectly, but the solution they offer goes right over my head... http://www.adina.com/faq/qg008.shtml

Any help on how to fix libstarusr.so so that I can use these Fortran functions?

Thanks so much.

Richard August 16, 2007 15:42

Re: Error with posdat.f - undefined symbol: for_op
 
You could try the -ulib option of star to link in the library manually. The Fortran libraries which star links in by default are under $RUNTIME. It may be that CD-adapco can supply you with more recent $RUNTIME, compatible with your Fortran compiler, which will prevent you having to do anything manually.

Emmanuel Resch August 20, 2007 15:46

Re: Error with posdat.f - undefined symbol: for_op
 
Thank you Richard. Your suggestion for using the command: star -ulib worked. what i needed to do was find the intel fortran librairies on my computer that had the symbol "for_open". I did that by pathing to the /opt/intel/fc/"version"/lib directory and searching within the librairies for the symbol: "for_open"

This gave the following:

[user@redhat4 lib]$grep "for_open" *

Binary file libifcore.a matches

Binary file libifcoremt.a matches

Binary file libifcoremt_pic.a matches

Binary file libifcoremt.so.5 matches

Binary file libifcore_pic.a matches

Binary file libifcore.so.5 matches

I then copied "libifcoremt.so.5" and "libifcore.so.5" to the dynamic shared object folder in the star problem directory: .../ufile/linux_2.4-ifc_7.0-glibc_2.2.2-dso

Finally, I ran the following command, (where $LIB=ufile/linux_2.4-ifc_7.0-glibc_2.2.2-dso):

star -ulib="$LIB/libstarusr.so $LIB/libifcoremt.so.5 $LIB/libifcore.so.5"

This fixed the problem. Hope this helps anyone who has been running into this problem of "undefined symbol". It most likely has to do with using a newer version of the Fortran compiler and STAR is using librairies with different names that correspond to Intel FC 7.0...



All times are GMT -4. The time now is 23:27.