Gaussian 98a11 compilation with ifc

Gaussian 98a11 compilation with ifc

Hi,

I'm a grad student trying to compile Gaussian 98a11 under Redhat Linux 7.3 on an Intel P3 with ifc V7.0.

After a while of compilation, the job fails with the following error. Has anyone seen this or can anyone suggest what's going on (I'm not an expert in this field).

Thanks in advance,

Louis

make[1]: Leaving directory `/usr/local/g98'
ifc -O2 -tp p6 -unroll -xK -cm -w -axK -ipo_obj -ipo -WB -align -fpp3 -o g98 ml0.o util.so -Vaxlib -lCEPCF90
IPO: using IR for ml0.o
IPO: performing single-file optimizations
ipo_ifcj0R0RW.o: In function `main':
ipo_ifcj0R0RW.o(.text+0x1cf): undefined reference to `gauabt_'
ipo_ifcj0R0RW.o(.text+0x2ce): undefined reference to `fixinout_'
ipo_ifcj0R0RW.o(.text+0x6b3): undefined reference to `ggeten_'
ipo_ifcj0R0RW.o(.text+0x704): undefined reference to `getexen_'
ipo_ifcj0R0RW.o(.text+0x921): undefined reference to `gsyst_'
ipo_ifcj0R0RW.o(.text+0xb70): undefined reference to `gauabt_'
ipo_ifcj0R0RW.o(.text+0xbd4): undefined reference to `gauabt_'
ipo_ifcj0R0RW.o(.text+0xc5c): undefined reference to `gauabt_'
ipo_ifcj0R0RW.o(.text+0xcc0): undefined reference to `gauabt_'
util.so: undefined reference to `writwa_'
util.so: undefined reference to `closwa_'
util.so: undefined reference to `asynwa_'
util.so: undefined reference to `erfcx_'
util.so: undefined reference to `bkimov_'
util.so: undefined reference to `fixstdin_'
util.so: undefined reference to `gaufls_'
util.so: undefined reference to `fixenv_'
util.so: undefined reference to `ifalph_'
util.so: undefined reference to `ntrsiz_'
util.so: undefined reference to `guname_'
util.so: undefined reference to `openwa_'
util.so: undefined reference to `envfil_'
util.so: undefined reference to `ibkmov_'
util.so: undefined reference to `imove_'
util.so: undefined reference to `amove_'
util.so: undefined reference to `gfree_'
util.so: undefined reference to `gauexec_'
util.so: undefined reference to `readwa_'
util.so: undefined reference to `machin_'
util.so: undefined reference to `galloc_'
util.so: undefined reference to `ntrbks_'
util.so: undefined reference to `bkmove_'
util.so: undefined reference to `appfpd_'
util.so: undefined reference to `gfree1_'
util.so: undefined reference to `wait_'
util.so: undefined reference to `waitwa_'
util.so: undefined reference to `ntrext1_'
util.so: undefined reference to `intchr_'
util.so: undefined reference to `gferr_'
util.so: undefined reference to `getscm_'
util.so: undefined reference to `gsr48_'
util.so: undefined reference to `fork_'
util.so: undefined reference to `galloc1_'
util.so: undefined reference to `drand48_'
util.so: undefined reference to `appfp_'
make: *** [g98] Error 1
endif

8 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

You have a very long list of compiler options! Start by keeping it simple.
First, you should not specify both -xK and -axK. Choose only -xK if you will always run on a Pentium III or higher. Then start without either -ipo or -ipo_obj, and see if you can compile without unresolved references. (If you have a separate link line in your makefile, you need to but -xK on the ifc link line also).
Next, you can turn on -ip or -ipo. Here again, be sure to specify -ipo and any other compiler options on any link line, as well as on the compile line.
-ipo_obj is not an optimization in itself. It is an "expert's" flag to help with library creation in certain circumstances, described in the User's Guide. You should not use it here.

Martyn

Thanks for you reply, Martyn.

I've learned quite a bit about ifc since my initial post.

The cause of the problem was modification to a c source file that gets compiled as a library that ifc links in. I added some code in the wrong place.

After I corrected this problem (and cleaned up the compile flags) Gaussian would compile fine, but I then received a run-time error (address error) about 15 seconds into a job when it tried to do geometry optimization. It took me a while to figure this one out, but it seems that Gaussian didn't like the -xK compile option. Nor did it like the -axK option. When I removed all optimization flags, the job would run just fine. It wasn't until after I added -axMK that the job ran fine with the optimization flags.

So far I see about a 10-15% decrease in computation time in comparison to other fortran compilers. I expect to see better numbers when I start running larger jobs.

Thanks Again,

Louis

> The cause of the problem was modification to a c source
> file that gets compiled as a library that ifc links in. I
> added some code in the wrong place.

Did you find the correct place for the code?

I'm assuming it was in mdutil.c - I've been getting the same errors as your original post.

I've been struggling to get G98.A11 compiled with ifc for a week....

Thanks.

chemweb-at-chem-dot-udel-dot-edu

> > The cause of the problem was modification to a c
> source
> > file that gets compiled as a library that ifc links
> in. I
> > added some code in the wrong place.
>
> Did you find the correct place for the code?
>
> I'm assuming it was in mdutil.c - I've been getting
> the same errors as your original post.
>
> I've been struggling to get G98.A11 compiled with ifc
> for a week....
>
> Thanks.
>
> chemweb-at-chem-dot-udel-dot-edu
>
I am just trying compilling g98.A11 with the latest 7.1 version
(Build 20030424Z). I am patching the original distribution from Gaussian Inc. to include the Intel compiler. Unfortunately Gaussian is known to be rather picky about people distributing this patches. We can continue privately and I can send you detailed instructions. I must confess that some test jobs fails. I have no complete list because they are still running.

Best regards,

Dr. Rafael R. Pappalardo
Dept. Physical Chemistry, Univ. de Sevilla (Spain)
e-mail: rafapa@simulux.us.es

(Hope I'm not being patronising here.).

It may be worthwhile compiling with -C (range and other error checking) and doing a couple of test runs to give that extra measure of confidence. I've been surprised a couple of times what turns up, including errors which cause performance hits (but not necessarily wrong/different answers).

This is not to impugn the fine Guassian code (which I havent seen or used, but know of), nor its venerable authors (who I dont know).

It may be worth trying just the default flags and optimisation level as a baseline. So far I've found that to give the fastest results on a Pentium 4 for two molecular dynamics codes I'm using. I get around 5-10% slowdown when using -tpp7 and/or -xW. In particular, vectorization (-xW), which I reworked one of the codes to take particular advantage of, doesnt help my application - presumably because of the short vectors (I do a lot of r = r0(:,i) - r0(:,j) type operations, where r0 is 3xN). I logged it as a bug report at one point, but that's what the upshot appears to be.

Has anybody looked at G03+ifc 7.1 combination. I am specially looking for linda parallel compilation.

Thanks
Yogesh

Hi,

Can anyone show me, which files should be modified and how, in orderto compile G98 with ifc 8.0? I'm not very keen on these things but really interested to try.
I have some problems with pgf77 ver.5.1

Thanks in advance
Regards,

Tomasz

Leave a Comment

Please sign in to add a comment. Not a member? Join today