- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Link Copied
- « Previous
-
- 1
- 2
- Next »
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Dean,
The current errors I see involve duplicate defined symbols that cause the link to fail.
The first involves three source files that each contain a PROGRAM statement and thus each defines the symbol _MAIN__. ~/V5.090/parcs/parcs.F, ~/V5.090/parcs/parcs_master.F, ~/V5.090/src/trac.f90
If you need parcs_master.F, then you must deal with the #ifdef appearing at the top of parcs.F to activate the subroutine entry point and not the PROGRAM statement. Defining TPMERGE has implications in other sections of parcs.F and a number of other source files so I cannot advise on whether you should enable that define or not. Given the code structure, that seems to be the intent of the programmer, however, there are other things going on here as discussed below.
Another duplicate symbol involves source files ~/V5.090/src/tdmr.f90 and ~/V5.090/parcs/TdmrM.F which both define the MODULE and symbol _tdmmrm._. According to the source code comments, TdmrM.F is intended for use when building the parcs.lib, so I presume this should not be compiled and linked as a part of the trace5 executable.
In looking at ~/V5.090/src/trac.f90, it seems perhaps this application contains source for two distinct components, a parcs.lib library and main trace executable. However, under your Xcode project the trace5 target is treating all the source under the parcs and src subdirectories as a single program, thus compiling all the source and linking all the objects into the single trace executable which leads to these duplicate symbol definitions.
It appears to me ~/V5.090/src contains source to the trace executable and ~/V5.090/parcs contains source to parcs.lib library that is linked to the trace executable. If so, then you need to create a new target to build the parcs.lib that is only associated with the source files residing in the parcs subdirectory. Then, make this library a dependant of the trace5 target. You do that by simply dragging the parcs.lib target to the trace5 target under the Link Binary with Library section. You must also then make certain the trace5 target is only associated with the source files residing in the src subdirectory.
I can try to help restructure the latest Xcode project you provided if I can get PVM on my system to enable me to compile this app. If you have PVM on your system in self-contained area, like /usr/local, that you can zip up and drop on our ftp server then I should be able to make use of that. Avoiding using an absolute path of /usr when creating the zip.
Hope that helps and Im sorry this just keep getting more complicated. Once you overcome the hurdle of structuring the Xcode project accordingly for the application you should be set.
Kevin
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
deleted
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
deleted
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
deleted
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It appears as if each library (liblibparcs.a & liblibtpr.a) has linked in a static instance of the Intel Fortran RTLs.
You could try rebuilding your static libraries and link them to the dynamic Intel Fortran RTLs.Im not sure if you under Xcode now or not. If so, set Intel Runtime Libraries to Dynamic Libraries under the Intel Fortran Compiler 10.1 (Preview) Runtime settings. If you are using the ifort command line now, then link with the option: -shared-intel
I do not have a mockup to test with so I do not know if the linker option, -multiple_defined suppress, might help with linking with the static Intel Fortran RTLs.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
deleted
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
deleted
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Dean,
I appreciate the update and your efforts. I will help you get the app built/running with ifort.
Can you please provide me with the scripts for both GFortran and ifort?
It appears the forum only allows one file attach per reply, so if you want to zip those up together you can attach to a Forum reply or you are welcome to drop the file on our ftp server.
It appears the earlier build issues of duplicate Fortran RTL symbols may involve the use of libtool under Xcode versus ar to create the static libraries linked with trace. I will continue looking into this too.
Kevin
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
deleted

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- « Previous
-
- 1
- 2
- Next »