wavebitscientific / datetime-fortran

Date and time manipulation for modern Fortran
MIT License
137 stars 51 forks source link

Empty constructor compilation error with PGI 14.4 #15

Open guziy opened 10 years ago

guziy commented 10 years ago

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 commented 10 years ago

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 commented 10 years ago

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 commented 10 years ago

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 commented 8 years ago

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

guziy commented 8 years ago

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 https://github.com/milancurcic/datetime-fortran/issues/15#issuecomment-176997456 .

Sasha

zbeekman commented 8 years ago

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 commented 8 years ago

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 commented 8 years ago

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 commented 8 years ago

@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 commented 8 years ago

@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: https://github.com/sardemff7/j4status/issues/2

guziy commented 8 years ago

@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 commented 8 years ago

@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 (https://github.com/milancurcic/datetime-fortran/pull/37), you will be able to set both FC and FCFLAGS as required.

blippy commented 8 years ago

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

milancurcic commented 8 years ago

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

guziy commented 8 years ago

@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 commented 8 years ago

@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 commented 8 years ago

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 commented 8 years ago

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

blippy commented 8 years ago

Hold on, I might have a solution.

blippy commented 8 years ago

Ah. Got it, I think. Standby.

blippy commented 8 years ago

@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 commented 8 years ago

@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 commented 8 years ago

@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 commented 8 years ago

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

guziy commented 8 years ago

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 commented 8 years ago

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 commented 8 years ago

sure, but the PGI compiler still ICE-s.

issamsaid commented 7 years ago

Are you still having this problem?

guziy commented 7 years ago

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 commented 7 years ago

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

milancurcic commented 7 years ago

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

szaghi commented 7 years ago

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 commented 7 years ago

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

issamsaid commented 7 years ago

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

fullerrd commented 7 years ago

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 commented 7 years ago

Hi Guys please try the 17.7 it is released today. My errors were fixed and those fixes were included in 17.7. hopefully this will help you as well.

On Aug 29, 2017 11:54 PM, "fullerrd" notifications@github.com wrote:

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 https://github.com/issamsaid or @guziy https://github.com/guziy? Thanks in advance!

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/wavebitscientific/datetime-fortran/issues/15#issuecomment-325827542, or mute the thread https://github.com/notifications/unsubscribe-auth/AActMVNKQOw7NH53wtRyf8babkBHma5tks5sdJaWgaJpZM4Cpfb_ .

fullerrd commented 7 years ago

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 commented 7 years ago

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

fullerrd commented 7 years ago

@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_64amd64 -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 commented 7 years ago

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

mostafa-najafiyazdi commented 4 years ago

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

milancurcic commented 4 years ago

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

scivision commented 1 year ago

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