Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Empty constructor compilation error with PGI 14.4 #15

Open
guziy opened this issue Oct 1, 2014 · 43 comments
Open

Empty constructor compilation error with PGI 14.4 #15

guziy opened this issue Oct 1, 2014 · 43 comments

Comments

@guziy
Copy link
Contributor

guziy commented Oct 1, 2014

I know this is might not be an issue for fort or gfortran ( for sure not an issue - tested) but with 14.4 compiling tests fails:

$ make
s.f90 datetime_tests.f90 -g -O0  -o tests datetime.o
USING: /sb/software/areas/armnssm/ssm-domains-base/tools/dev-tools/code-tools_1.0_all/include/Linux_x86-64/pgi2014/Pre_Compiler_rules
USING: /sb/software/areas/armnssm/ssm-domains-base/tools/dev-tools/code-tools_1.0_all/include/Linux_x86-64/pgi2014/Common_Compiler_rules
Compiler Rules applied for Linux PGI version 14
datetime_tests.f90:
PGF90-F-0155-Empty structure constructor() - type datetime (datetime_tests.f90: 158)
PGF90/x86-64 Linux 14.4-0: compilation aborted
make: *** [tests] Error 2

They say they fixed it in 14.7 (Have no idea if it is true).

@guziy
Copy link
Contributor Author

guziy commented Oct 1, 2014

Even when commented default constructor test I get this error:

$ make tests
pgf95 datetime_tests.f90 -g -O0  -o tests datetime.o
datetime_tests.f90:
pgf95-Fatal-/sb/software/CentOS-6/compilers/pgi144/linux86-64/14.4/bin/pgf901 TERMINATED by signal 11
Arguments to /sb/software/CentOS-6/compilers/pgi144/linux86-64/14.4/bin/pgf901
/sb/software/CentOS-6/compilers/pgi144/linux86-64/14.4/bin/pgf901 datetime_tests.f90 -debug -x 120 0x200 -opt 0 -terse 1 -inform warn -nohpf -nostatic -x 19 0x400000 -quad -x 59 4 -x 15 2 -x 49 0x400004 -x 51 0x20 -x 57 0x4c -x 58 0x10000 -x 124 0x1000 -tp sandybridge -x 57 0xfb0000 -x 58 0x78031040 -x 48 4608 -x 49 0x100 -x 120 0x200 -stdinc /sb/software/CentOS-6/compilers/pgi144/linux86-64/14.4/include-gcc44:/sb/software/CentOS-6/compilers/pgi144/linux86-64/14.4/include:/usr/local/include:/usr/lib/gcc/x86_64-redhat-linux/4.4.4/include:/usr/include -def unix -def __unix -def __unix__ -def linux -def __linux -def __linux__ -def __NO_MATH_INLINES -def __x86_64 -def __x86_64__ -def __LONG_MAX__=9223372036854775807L -def '__SIZE_TYPE__=unsigned long int' -def '__PTRDIFF_TYPE__=long int' -def __THROW= -def __extension__= -def __amd_64__amd64__ -def __k8 -def __k8__ -def __SSE__ -def __MMX__ -def __SSE2__ -def __SSE3__ -def __SSSE3__ -freeform -vect 48 -y 54 1 -x 70 0x40000000 -x 49 0x1000 -modexport /tmp/huziy/25235/pgf95ovfhQk0jW0Gh.cmod -modindex /tmp/huziy/25235/pgf95_vfh6FvxM08e.cmdx -output /tmp/huziy/25235/pgf95EvfhApIoyfAI.ilm
make: *** [tests] Error 127

@milancurcic
Copy link
Member

Hi guziy,

Yes, this was fixed by Portland Group in version 14.7 a few months ago as per my request (Tim Hilton of UC Merced pointed this problem out to me). I haven't had chance to try this version though.

With 13.10-0 on my system, datetime.f90 compiles but the tests don't, with the same error that you get:

pgf90-Fatal-/share/opt/pgi/13.10/linux86-64/13.10/bin/pgf901 TERMINATED by signal 11

This is a signal for segmentation fault, and is likely to be compiler problem.

I will leave this issue open for future reference if somebody comes up with a newer PGF version.

@milancurcic
Copy link
Member

Note that at that time (a few months ago), I modified all empty constructors (datetime(), timedelta()) within datetime.f90 to something like datetime(1) and timedelta(0), so that people with earlier versions of pgf90 (say 13.x, like me) can still compile it. Whether it will break at runtime or not (given strange behavior when compiling tests), I don't know, but I will try to find out.

@zbeekman
Copy link
Collaborator

@guziy Do you know if this problem still persists with the latest version of datetime_fortran?

@guziy
Copy link
Contributor Author

guziy commented Feb 1, 2016

Hi Milan:

I am trying to compile the module from github to answer your question, but
there is no makefile there...

autoconf is complaining, automake as well, do you have a description of how
to generate the make file, because I do not have much experience with these
scripts?

Cheers

2016-01-29 17:26 GMT-05:00 Izaak Beekman notifications@github.com:

@guziy https://github.com/guziy Do you know if this problem still
persists with the latest version of datetime_fortran?


Reply to this email directly or view it on GitHub
#15 (comment)
.

Sasha

@zbeekman
Copy link
Collaborator

zbeekman commented Feb 1, 2016

You should be able to do the following after cloning a fresh copy, or pulling in the latest changes:

$ export FC=<PGI-compiler>
$ export FCFLAGS=<PGI-compiler-flags>
$ autoreconf -ivf
$ ./configure
$ make check

I'm not 100% certain that this will ensure that the correct compiler is used. Also, it looks like #37 needs to be merged before using FCFLAGS will work as expected. I may get to this today and try to test drive the PR and make some amendments, and then merge it, so you can pull the latest master to include these changes.... For now let me know if you have any luck with what I posted.

@guziy
Copy link
Contributor Author

guziy commented Feb 1, 2016

Thanks @zbeekman:

Here is what I get after autoreconf

$ autoreconf -ivf
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force 
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: running: /software/CentOS-6/tools/autoconf-2.69/bin/autoconf --force
configure.ac:13: error: possibly undefined macro: PKG_INSTALLDIR
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
autoreconf: /software/CentOS-6/tools/autoconf-2.69/bin/autoconf failed with exit status: 1

Cheers

@zbeekman
Copy link
Collaborator

zbeekman commented Feb 1, 2016

EDIT: @guziy also, what OS/Distro are you on?

@guziy Do you have automake, autoconf and pkg-config installed? If so, which versions?

@blippy Any thoughts on @guziy's issues?

@guziy
Copy link
Contributor Author

guziy commented Feb 1, 2016

@zbeekman:

When using a newer automake (module add autoconf/2.69 automake/1.12.6 ), the error message is following:

$ autoreconf -ivf
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force 
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: running: /software/CentOS-6/tools/autoconf-2.69/bin/autoconf --force
autoreconf: configure.ac: not using Autoheader
autoreconf: running: automake --add-missing --copy --force-missing
configure.ac:7: installing './install-sh'
configure.ac:7: installing './missing'
Makefile.am:3: error: 'pkgconfig_DATA' is used but 'pkgconfigdir' is undefined
autoreconf: automake failed with exit status: 1

pkg-config version is

$ pkg-config --version
0.23

Cheers

@zbeekman
Copy link
Collaborator

zbeekman commented Feb 1, 2016

@guziy I'm guessing this is due to outdated pkg-config. I think you need >= 0.27. Another tact you could take is downloading the latest release from the releases page which is packaged with a ./configure script. It may not correctly pick up FCFLAGS and try to pass some bad ones to pgf90 but it should get you further along. I think you can set export FC=pgf90 or whatever it is before running configure to use the PGI compiler. Might be worth a shot.

@blippy if this is true, is there a way to say that a certain version of pkg-config is required?

ref: sardemff7/j4status#2

@guziy
Copy link
Contributor Author

guziy commented Feb 1, 2016

@zbeekman:

You've forgotten the "datetime-fortran" part in your link to the latest release...
I've tried it, but pgf90 does not like some flags

$ cd src/tests/ ; make
pgf90 -c -Wall -O0 -C -fbacktrace -I../lib datetime_tests.f90
pgf90-Error-Unknown switch: -Wall
pgf90-Error-Unknown switch: -fbacktrace
make: *** [datetime_tests.o] Error 1

Cheers

@blippy
Copy link

blippy commented Feb 1, 2016

@guziy , @zbeekman I have the same problem on my cubietruck, which is running Ubuntu LTS. A new LTS is due in less than 3 months time. Do you intend to upgrade?

We can go down two routes: either make pkg-config a requirement, or make it an optional extra. You won't get the benefits of pkg-config if it can't be included, of course, but at least it shouldn't fail. I think I'll opt for the latter, when I work out how it can be done.

If @milancurcic were to release a new version containing my recent patch (#37), you will be able to set both FC and FCFLAGS as required.

@blippy
Copy link

blippy commented Feb 1, 2016

@guziy What OS + version are you using? My pkg-config is at version 0.26, and I'm using an LTS.

@milancurcic
Copy link
Member

@guziy Until we merge @blippy's PR #37 (probably later today), try with his master branch which should be able to handle FCFLAGS.

@guziy
Copy link
Contributor Author

guziy commented Feb 1, 2016

@blippy:

I am on CentOS, where I cannot really install stuff... Thought to just test pgi, since I do not have it locally..

Distributor ID: CentOS
Description:    CentOS release 6.6 (Final)
Release:    6.6
Codename:   Final

Cheers

@blippy
Copy link

blippy commented Feb 1, 2016

@guzly If you don't have admin privileges, there are (legitimate) ways around it. The standard location for per-user files is ~/.local. So binaries would typically be installed in ~/.local/bin, etc. You add those to your path, and hey presto.

I see that 6.6 was released in Oct 2014, which is actually not all that long ago. I guess it must take a long time for software to make it into the distro.

@blippy
Copy link

blippy commented Feb 1, 2016

Hmmm, I suspect the problem is with automake.

On my Ubuntu LTS,

$ automake --version
automake (GNU automake) 1.14.1
$ automake
Makefile.am:3: error: 'pkgconfig_DATA' is used but 'pkgconfigdir' is undefined

whereas on my Arch box

$ automake --version
automake (GNU automake) 1.15

and it works fine.

I'll need to go away and think about that.

@blippy
Copy link

blippy commented Feb 1, 2016

In fact, I'm not sure what the problem is wrt to the older versions of automake.

@blippy
Copy link

blippy commented Feb 1, 2016

Hold on, I might have a solution.

@blippy
Copy link

blippy commented Feb 1, 2016

Ah. Got it, I think. Standby.

@blippy
Copy link

blippy commented Feb 1, 2016

@guziy et al : OK. I think I got it. the latest patch I submitted should fix everyone (!).

autoreconf -i
now works on my Ubuntu LTS, so it should work for @guziy, fingers crossed.

You'll need to wait for @milancurcic to merge the patches. Then it should work.

Let me know how you get on.

@guziy
Copy link
Contributor Author

guziy commented Feb 1, 2016

@blippy:

I've generated the Makefile using your master.

$ make
Making all in src/lib
make[1]: Entering directory `/gs.../FortranDemos/datetime-fortran/src/lib'
pgf90 -c -g mod_timedelta.f90
PGF90-S-0034-Syntax error at or near :: (mod_timedelta.f90: 73)
  0 inform,   0 warnings,   1 severes, 0 fatal for mod_timedelta
PGF90-S-0038-Symbol, le, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, lt, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, ge, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, gt, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, neq, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, eq, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, unary_minus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, timedelta_minus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, timedelta_plus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, total_seconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getmilliseconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getseconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getminutes, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, gethours, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getdays, has not been explicitly declared (mod_timedelta.f90)
  0 inform,   0 warnings,  15 severes, 0 fatal for timedelta_constructor
PGF90-S-0038-Symbol, le, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, lt, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, ge, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, gt, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, neq, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, eq, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, unary_minus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, timedelta_minus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, timedelta_plus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, total_seconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getmilliseconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getseconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getminutes, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, gethours, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getdays, has not been explicitly declared (mod_timedelta.f90)
  0 inform,   0 warnings,  15 severes, 0 fatal for getdays
PGF90-S-0038-Symbol, le, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, lt, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, ge, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, gt, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, neq, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, eq, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, unary_minus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, timedelta_minus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, timedelta_plus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, total_seconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getmilliseconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getseconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getminutes, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, gethours, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getdays, has not been explicitly declared (mod_timedelta.f90)
  0 inform,   0 warnings,  15 severes, 0 fatal for gethours
PGF90-S-0038-Symbol, le, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, lt, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, ge, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, gt, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, neq, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, eq, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, unary_minus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, timedelta_minus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, timedelta_plus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, total_seconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getmilliseconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getseconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getminutes, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, gethours, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getdays, has not been explicitly declared (mod_timedelta.f90)
  0 inform,   0 warnings,  15 severes, 0 fatal for getminutes
PGF90-S-0038-Symbol, le, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, lt, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, ge, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, gt, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, neq, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, eq, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, unary_minus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, timedelta_minus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, timedelta_plus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, total_seconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getmilliseconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getseconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getminutes, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, gethours, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getdays, has not been explicitly declared (mod_timedelta.f90)
  0 inform,   0 warnings,  15 severes, 0 fatal for getseconds
PGF90-S-0038-Symbol, le, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, lt, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, ge, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, gt, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, neq, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, eq, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, unary_minus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, timedelta_minus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, timedelta_plus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, total_seconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getmilliseconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getseconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getminutes, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, gethours, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getdays, has not been explicitly declared (mod_timedelta.f90)
  0 inform,   0 warnings,  15 severes, 0 fatal for getmilliseconds
PGF90-S-0038-Symbol, le, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, lt, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, ge, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, gt, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, neq, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, eq, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, unary_minus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, timedelta_minus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, timedelta_plus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, total_seconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getmilliseconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getseconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getminutes, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, gethours, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getdays, has not been explicitly declared (mod_timedelta.f90)
  0 inform,   0 warnings,  15 severes, 0 fatal for total_seconds
PGF90-S-0038-Symbol, le, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, lt, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, ge, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, gt, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, neq, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, eq, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, unary_minus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, timedelta_minus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, timedelta_plus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, total_seconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getmilliseconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getseconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getminutes, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, gethours, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getdays, has not been explicitly declared (mod_timedelta.f90)
  0 inform,   0 warnings,  15 severes, 0 fatal for timedelta_plus_timedelta
PGF90-S-0038-Symbol, le, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, lt, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, ge, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, gt, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, neq, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, eq, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, unary_minus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, timedelta_minus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, timedelta_plus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, total_seconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getmilliseconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getseconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getminutes, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, gethours, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getdays, has not been explicitly declared (mod_timedelta.f90)
  0 inform,   0 warnings,  15 severes, 0 fatal for timedelta_minus_timedelta
PGF90-S-0038-Symbol, le, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, lt, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, ge, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, gt, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, neq, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, eq, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, unary_minus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, timedelta_minus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, timedelta_plus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, total_seconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getmilliseconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getseconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getminutes, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, gethours, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getdays, has not been explicitly declared (mod_timedelta.f90)
  0 inform,   0 warnings,  15 severes, 0 fatal for unary_minus_timedelta
PGF90-S-0038-Symbol, le, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, lt, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, ge, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, gt, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, neq, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, eq, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, unary_minus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, timedelta_minus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, timedelta_plus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, total_seconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getmilliseconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getseconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getminutes, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, gethours, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getdays, has not been explicitly declared (mod_timedelta.f90)
  0 inform,   0 warnings,  15 severes, 0 fatal for eq
PGF90-S-0038-Symbol, le, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, lt, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, ge, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, gt, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, neq, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, eq, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, unary_minus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, timedelta_minus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, timedelta_plus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, total_seconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getmilliseconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getseconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getminutes, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, gethours, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getdays, has not been explicitly declared (mod_timedelta.f90)
  0 inform,   0 warnings,  15 severes, 0 fatal for neq
PGF90-S-0038-Symbol, le, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, lt, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, ge, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, gt, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, neq, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, eq, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, unary_minus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, timedelta_minus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, timedelta_plus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, total_seconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getmilliseconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getseconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getminutes, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, gethours, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getdays, has not been explicitly declared (mod_timedelta.f90)
  0 inform,   0 warnings,  15 severes, 0 fatal for gt
PGF90-S-0038-Symbol, le, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, lt, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, ge, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, gt, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, neq, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, eq, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, unary_minus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, timedelta_minus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, timedelta_plus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, total_seconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getmilliseconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getseconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getminutes, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, gethours, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getdays, has not been explicitly declared (mod_timedelta.f90)
  0 inform,   0 warnings,  15 severes, 0 fatal for ge
PGF90-S-0038-Symbol, le, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, lt, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, ge, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, gt, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, neq, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, eq, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, unary_minus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, timedelta_minus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, timedelta_plus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, total_seconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getmilliseconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getseconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getminutes, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, gethours, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getdays, has not been explicitly declared (mod_timedelta.f90)
  0 inform,   0 warnings,  15 severes, 0 fatal for lt
PGF90-S-0038-Symbol, le, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, lt, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, ge, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, gt, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, neq, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, eq, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, unary_minus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, timedelta_minus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, timedelta_plus_timedelta, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, total_seconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getmilliseconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getseconds, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getminutes, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, gethours, has not been explicitly declared (mod_timedelta.f90)
PGF90-S-0038-Symbol, getdays, has not been explicitly declared (mod_timedelta.f90)
  0 inform,   0 warnings,  15 severes, 0 fatal for le
make[1]: *** [mod_timedelta.o] Error 2

Cheers

@milancurcic
Copy link
Member

@guziy Thanks. What is your pgf90 version again? It's sad that it breaks as something as trivial as :: (or at least that's what the error message makes me believe), which is perfectly legal Fortran code:

R1206 procedure-stmt is [ MODULE ] PROCEDURE [ :: ] procedure-name-list

Note that blippy's PR has been merged into my master so you can use that one as well.

@milancurcic
Copy link
Member

Is it still v14.4? May be worth reporting.

@guziy
Copy link
Contributor Author

guziy commented Feb 1, 2016

Yes, it is still 14.4:

$ pgf90 --version

pgf90 14.4-0 64-bit target on x86-64 Linux -tp sandybridge
The Portland Group - PGI Compilers and Tools
Copyright (c) 2014, NVIDIA CORPORATION.  All rights reserved.

Cheers

@guziy
Copy link
Contributor Author

guziy commented Feb 1, 2016

Deleting '::' at 3 places helps to compile the library but the compilation of the tests still fails:

$ make
Making all in src/lib
make[1]: Entering directory `/gs/.../FortranDemos/datetime-fortran/src/lib'
pgf90 -c -g mod_datetime.f90
pgf90 -c -g mod_clock.f90
pgf90 -c -g datetime.f90
ar ruv libdatetime.a datetime.o mod_clock.o  mod_datetime.o mod_timedelta.o mod_strftime.o  mod_constants.o
ar: creating libdatetime.a
a - datetime.o
a - mod_clock.o
a - mod_datetime.o
a - mod_timedelta.o
a - mod_strftime.o
a - mod_constants.o
make[1]: Leaving directory `/gs/....FortranDemos/datetime-fortran/src/lib'
Making all in src/tests
make[1]: Entering directory `/gs/..../FortranDemos/datetime-fortran/src/tests'
pgf90 -c -g -I../lib datetime_tests.f90
PGF90-S-0000-Internal compiler error. sym_of_ast: unexpected ast     214 (datetime_tests.f90: 155)
PGF90-S-0155-Type bound procedure must be a module procedure or an external procedure with an explicit interface -   (datetime_tests.f90: 155)
PGF90-S-0000-Internal compiler error. sym_of_ast: unexpected ast     214 (datetime_tests.f90: 155)
PGF90-S-0099-Illegal use of operator == on a derived type (datetime_tests.f90: 160)
PGF90-S-0099-Illegal use of derived type (datetime_tests.f90: 160)
PGF90-S-0099-Illegal use of derived type (datetime_tests.f90: 160)
PGF90-S-0000-Internal compiler error. sym_of_ast: unexpected ast     237 (datetime_tests.f90: 165)
PGF90-S-0155-Type bound procedure must be a module procedure or an external procedure with an explicit interface -   (datetime_tests.f90: 165)
PGF90-S-0000-Internal compiler error. sym_of_ast: unexpected ast     237 (datetime_tests.f90: 165)
PGF90-S-0099-Illegal use of operator == on a derived type (datetime_tests.f90: 165)
PGF90-S-0099-Illegal use of derived type (datetime_tests.f90: 165)
PGF90-S-0099-Illegal use of derived type (datetime_tests.f90: 165)
PGF90-S-0099-Illegal use of operator + on a derived type (datetime_tests.f90: 171)
PGF90-S-0099-Illegal use of derived type (datetime_tests.f90: 171)
PGF90-S-0099-Illegal use of derived type (datetime_tests.f90: 171)
PGF90-S-0099-Illegal use of operator == on a derived type (datetime_tests.f90: 171)
PGF90-S-0099-Illegal use of derived type (datetime_tests.f90: 171)
PGF90-S-0099-Illegal use of operator + on a derived type (datetime_tests.f90: 177)
PGF90-S-0099-Illegal use of derived type (datetime_tests.f90: 177)
PGF90-S-0099-Illegal use of derived type (datetime_tests.f90: 177)
PGF90-S-0099-Illegal use of operator == on a derived type (datetime_tests.f90: 177)
PGF90-S-0099-Illegal use of derived type (datetime_tests.f90: 177)
PGF90-S-0099-Illegal use of operator + on a derived type (datetime_tests.f90: 183)
PGF90-S-0099-Illegal use of derived type (datetime_tests.f90: 183)
PGF90-S-0099-Illegal use of derived type (datetime_tests.f90: 183)
PGF90-F-0008-Error limit exceeded (datetime_tests.f90: 183)
PGF90/x86-64 Linux 14.4-0: compilation aborted
make[1]: *** [datetime_tests.o] Error 2

Cheers

@zbeekman
Copy link
Collaborator

zbeekman commented Feb 1, 2016

sure, but the PGI compiler still ICE-s.

@issamsaid
Copy link

Are you still having this problem?

@guziy
Copy link
Contributor Author

guziy commented Jun 5, 2017

Hi @issamsaid:

Yes, I have the same error with PGI14.4 and PGI14.9 fails with segfault (11)...

$ make
Making all in src/lib
make[1]: Entering directory `/gs/project/ugh-612-aa/huziy/FortranDemos/datetime-fortran/src/lib'
pgf90 -c -g mod_constants.f90
pgf90 -c -g mod_strftime.f90
pgf90 -c -g mod_timedelta.f90
pgf90-Fatal-/gs/software/CentOS-6/compilers/pgi149/linux86-64/14.9/bin/pgf901 TERMINATED by signal 11
Arguments to /gs/software/CentOS-6/compilers/pgi149/linux86-64/14.9/bin/pgf901
/gs/software/CentOS-6/compilers/pgi149/linux86-64/14.9/bin/pgf901 mod_timedelta.f90 -debug -x 120 0x200 -opt 0 -terse 1 -inform warn -nohpf -nostatic -x 19 0x400000 -quad -x 59 4 -x 15 2 -x 49 0x400004 -x 51 0x20 -x 57 0x4c -x 58 0x10000 -x 124 0x1000 -tp nehalem -x 57 0xfb0000 -x 58 0x78031040 -x 48 4608 -x 49 0x100 -x 120 0x200 -stdinc /gs/software/CentOS-6/compilers/pgi149/linux86-64/14.9/include-gcc44:/gs/software/CentOS-6/compilers/pgi149/linux86-64/14.9/include:/usr/local/include:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/include:/usr/include -def unix -def __unix -def __unix__ -def linux -def __linux -def __linux__ -def __NO_MATH_INLINES -def __x86_64 -def __x86_64__ -def __LONG_MAX__=9223372036854775807L -def '__SIZE_TYPE__=unsigned long int' -def '__PTRDIFF_TYPE__=long int' -def __THROW= -def __extension__= -def __amd_64__amd64__ -def __k8 -def __k8__ -def __SSE__ -def __MMX__ -def __SSE2__ -def __SSE3__ -def __SSSE3__ -freeform -vect 48 -y 54 1 -x 70 0x40000000 -y 163 0xc0000000 -x 163 0x800000 -x 49 0x1000 -modexport /tmp/huziy/23613/pgf90FXfDclNu3dD.cmod -modindex /tmp/huziy/23613/pgf90xXffwdmbYOe.cmdx -output /tmp/huziy/23613/pgf90NXf1J2W1Bbo.ilm
make[1]: *** [mod_timedelta.o] Error 127
make[1]: Leaving directory `/gs/project/ugh-612-aa/huziy/FortranDemos/datetime-fortran/src/lib'
make: *** [all-recursive] Error 1

PS: I've tried after 'git pull' from the master.

Cheers

@zbeekman
Copy link
Collaborator

zbeekman commented Jun 5, 2017

PGI: "Why support new language features when you can half-ass support for old ones...."

@milancurcic
Copy link
Member

I'm so unmotivated about PGI that I haven't even tried their free compiler. :)

@szaghi
Copy link
Contributor

szaghi commented Jun 5, 2017

I'm so unmotivated about PGI that I haven't even tried their free compiler. :)

I did and it looks that it is not much more changed from the closed version I stopped to use in the 2008...

@milancurcic
Copy link
Member

@issamsaid Do you have an easy way to pass this issue to the development team?

@issamsaid
Copy link

@milancurcic I already did, I personally ran in a similar issue. I will get back to you if I have some fixes.

@fullerrd
Copy link

I am getting the same errors with:

pgf90 15.10-0 64-bit target on x86-64 Linux -tp haswell
The Portland Group - PGI Compilers and Tools
Copyright (c) 2015, NVIDIA CORPORATION. All rights reserved.

If I remove '::' at mod_timedelta.f90 line 73, I get the same segfault (11).

Any chance you found a solution @issamsaid or @guziy? Thanks in advance!

@issamsaid
Copy link

issamsaid commented Aug 30, 2017 via email

@fullerrd
Copy link

fullerrd commented Sep 6, 2017

Hi, @issamsaid. I upgraded pgf90 to v17.7 and got a fresh copy of the 1.6.0 release (from here: https://github.com/wavebitscientific/datetime-fortran/releases/tag/v1.6.0 ).

I'm running ./configure FC=pgf90 to create a new makefile, but when I run make it throws the same error at line 73 in mod_timedelta.f90.

Making all in src/lib
make[1]: Entering directory /home/d.fuller-rowell/Desktop/GloTEC/datetime-fortran-1.6.0/src/lib' pgf90 -c -g mod_constants.f90 pgf90 -c -g mod_strftime.f90 pgf90 -c -g mod_timedelta.f90 PGF90-S-0034-Syntax error at or near :: (mod_timedelta.f90: 73) 0 inform, 0 warnings, 1 severes, 0 fatal for mod_timedelta make[1]: *** [mod_timedelta.o] Error 2 make[1]: Leaving directory /home/d.fuller-rowell/Desktop/GloTEC/datetime-fortran-1.6.0/src/lib'
make: *** [all-recursive] Error 1

Was anybody able to compile this with pgf90? Any suggestions? Thanks!

@milancurcic
Copy link
Member

@fullerrd What happens if you remove :: from the module procedure line?

@fullerrd
Copy link

fullerrd commented Sep 6, 2017

@milancurcic After removing :: and running make clean, I get signal 11 fault when compiling mod_timedelta.f90:

pgf90 -c -g mod_constants.f90
pgf90 -c -g mod_strftime.f90
pgf90 -c -g mod_timedelta.f90
pgf90-Fatal-/usr/pgi/linux86-64/17.7/bin/pgf901 TERMINATED by signal 11
Arguments to /usr/pgi/linux86-64/17.7/bin/pgf901
/usr/pgi/linux86-64/17.7/bin/pgf901 mod_timedelta.f90 -debug -x 120 0x200 -opt 0 -terse 1 -inform warn -nohpf -nostatic -x 19 0x400000 -quad -x 59 4 -x 15 2 -x 49 0x400004 -x 51 0x20 -x 57 0x4c -x 58 0x10000 -x 124 0x1000 -tp haswell -x 57 0xfb0000 -x 58 0x78031040 -x 47 0x08 -x 48 4608 -x 49 0x100 -x 120 0x200 -stdinc /usr/pgi/linux86-64/17.7/include-gcc44:/usr/pgi/linux86-64/17.7/include:/usr/local/include:/usr/lib/gcc/x86_64-redhat-linux/4.4.7/include:/usr/include -cmdline '+pgf90 mod_timedelta.f90 -c -g' -def unix -def __unix -def unix -def linux -def __linux -def linux -def __NO_MATH_INLINES -def LP64 -def __x86_64 -def x86_64 -def LONG_MAX=9223372036854775807L -def 'SIZE_TYPE=unsigned long int' -def 'PTRDIFF_TYPE=long int' -def __THROW= -def extension= -def amd_64__amd64 -def __k8 -def k8 -def SSE -def MMX -def SSE2 -def SSE3 -def SSSE3 -freeform -vect 48 -y 54 1 -x 70 0x40000000 -y 163 0xc0000000 -x 163 0x800000 -x 189 0x10 -x 49 0x1000 -modexport /tmp/pgf90iCTfyRilAGUv.cmod -modindex /tmp/pgf90iCTfygoOFXEC.cmdx -output /tmp/pgf90iCTfy9l08zxW.ilm
make[1]: *** [mod_timedelta.o] Error 127
make[1]: Leaving directory `/home/d.fuller-rowell/Desktop/GloTEC/datetime-fortran-1.6.0/src/lib'
make: *** [all-recursive] Error 1

@issamsaid
Copy link

please file a bug at https://nvbugswb.nvidia.com/ or post a comment on https://devtalk.nvidia.com/

@mostafa-najafiyazdi
Copy link

Is this still an issue? Or is it resolved on newer versions of PGI?

@milancurcic
Copy link
Member

I haven't had opportunity to try it and am curious about it as well.

@scivision
Copy link
Collaborator

scivision commented Feb 1, 2023

nvfortran (PGI is now totally obsolete) 23.1 builds fine, but segfaults on test.
AMD AOCC 4.0 compiler has exact same symptoms.
valgrind memory leak check run passes fine with GCC 12.

 test empty datetime() constructor                                : PASS
 test semi-empty datetime() constructor                           : PASS

Program received signal SIGSEGV, Segmentation fault.
datetime_module::datetime_plus_timedelta () at CMakeFiles/datetime.dir/src/datetime_module.f90-pp.f90:745
745         ! Subtracts a `timedelta` instance from a `datetime` instance and

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants