Fujitsu - minor build issues

Open forum for general discussions relating to PLASMA.

Fujitsu - minor build issues

Postby chrisa » Wed Jun 15, 2011 11:16 am

I just thought I’d tell you about a few very minor issues we had when building with the Fujitsu compiler (3.3):

In the following examples the EXTERNAL declarations need updating (Fujitsu adds EXTERNAL symbols to the object files, and so they are reported as undefined at link time):
diff -r plasma_2.4.0/examples/example_cgesv_f.f plasma_2.4.0_opl/examples/example_cgesv_f.f
44c44
< EXTERNAL PLASMA_INIT, PLASMA_ALLOC_WORKSPACE_CGESV
---
> EXTERNAL PLASMA_INIT, PLASMA_ALLOC_WORKSPACE_CGESV_INCPIV
diff -r plasma_2.4.0/examples/example_dgesv_f.f plasma_2.4.0_opl/examples/example_dgesv_f.f
44c44
< EXTERNAL PLASMA_INIT, PLASMA_ALLOC_WORKSPACE_DGESV
---
> EXTERNAL PLASMA_INIT, PLASMA_ALLOC_WORKSPACE_DGESV_INCPIV
diff -r plasma_2.4.0/examples/example_sgesv_f.f plasma_2.4.0_opl/examples/example_sgesv_f.f
44c44
< EXTERNAL PLASMA_INIT, PLASMA_ALLOC_WORKSPACE_SGESV
---
> EXTERNAL PLASMA_INIT, PLASMA_ALLOC_WORKSPACE_SGESV_INCPIV
diff -r plasma_2.4.0/examples/example_zgesv_f.f plasma_2.4.0_opl/examples/example_zgesv_f.f
44c44
< EXTERNAL PLASMA_INIT, PLASMA_ALLOC_WORKSPACE_ZGESV
---
> EXTERNAL PLASMA_INIT, PLASMA_ALLOC_WORKSPACE_ZGESV_INCPIV



Similarly *QRT12 are declared as external in the below, but no function is linked in, so “undefined symbols” at link time again:
diff -r plasma_2.4.0/testing/lin/cdrvls.f plasma_2.4.0_opl/testing/lin/cdrvls.f
151,152c151,152
< REAL CQRT12, CQRT14, CQRT17, SASUM, SLAMCH
< EXTERNAL CQRT12, CQRT14, CQRT17, SASUM, SLAMCH
---
> REAL CQRT14, CQRT17, SASUM, SLAMCH
> EXTERNAL CQRT14, CQRT17, SASUM, SLAMCH
diff -r plasma_2.4.0/testing/lin/ddrvls.f plasma_2.4.0_opl/testing/lin/ddrvls.f
144,145c144,145
< DOUBLE PRECISION DASUM, DLAMCH, DQRT12, DQRT14, DQRT17
< EXTERNAL DASUM, DLAMCH, DQRT12, DQRT14, DQRT17
---
> DOUBLE PRECISION DASUM, DLAMCH, DQRT14, DQRT17
> EXTERNAL DASUM, DLAMCH, DQRT14, DQRT17
diff -r plasma_2.4.0/testing/lin/Makefile plasma_2.4.0_opl/testing/lin/Makefile
160a161,162
> %.o: %.f90
> $(FC) $(FFLAGS) $(FIXED_SRC) $(INC) -c $< -o $@
diff -r plasma_2.4.0/testing/lin/sdrvls.f plasma_2.4.0_opl/testing/lin/sdrvls.f
144,145c144,145
< REAL SASUM, SLAMCH, SQRT12, SQRT14, SQRT17
< EXTERNAL SASUM, SLAMCH, SQRT12, SQRT14, SQRT17
---
> REAL SASUM, SLAMCH, SQRT14, SQRT17
> EXTERNAL SASUM, SLAMCH, SQRT14, SQRT17
Only in plasma_2.4.0/testing/lin: xerbla.f
Only in plasma_2.4.0_opl/testing/lin: xerbla.f90
diff -r plasma_2.4.0/testing/lin/zdrvls.f plasma_2.4.0_opl/testing/lin/zdrvls.f
148,149c148,149
< DOUBLE PRECISION DASUM, DLAMCH, ZQRT12, ZQRT14, ZQRT17
< EXTERNAL DASUM, DLAMCH, ZQRT12, ZQRT14, ZQRT17
---
> DOUBLE PRECISION DASUM, DLAMCH, ZQRT14, ZQRT17
> EXTERNAL DASUM, DLAMCH, ZQRT14, ZQRT17



Fujitsu didn’t like the lack of a comma after args in the #defines below:
diff -r plasma_2.4.0/quark/quark.h plasma_2.4.0_opl/quark/quark.h
40c40
< #define DBGPRINTF(args...) { fprintf(stderr, args); }
---
> #define DBGPRINTF(args,...) { fprintf(stderr, args); }
42c42
< #define DBGPRINTF(args...) if (0) {};
---
> #define DBGPRINTF(args,...) if (0) {};



Finally, in testing/lin we had to change the suffixes on the following files alaerh.f alahd.f xerbla.f to .f90 and recompile with –Fixed since Fujitsu complained that a Fortran 95 construct is being used: INTRINSIC LEN_TRIM


These changes allow Fujitsu and Intel to compile.

Thanks,
Chris.
chrisa
 
Posts: 5
Joined: Wed Apr 06, 2011 4:10 am

Re: Fujitsu - minor build issues

Postby mateo70 » Wed Jun 15, 2011 12:49 pm

Thanks for the report. I integrate everything for the next release.
Mathieu
mateo70
 
Posts: 94
Joined: Fri May 07, 2010 3:48 pm


Return to User discussion

Who is online

Users browsing this forum: No registered users and 0 guests

cron