Open guziy opened 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
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.
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.
@guziy Do you know if this problem still persists with the latest version of datetime_fortran?
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
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.
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
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?
@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
@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?
@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
@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.
@guziy What OS + version are you using? My pkg-config is at version 0.26, and I'm using an LTS.
@guziy Until we merge @blippy's PR #37 (probably later today), try with his master branch which should be able to handle FCFLAGS.
@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
@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.
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.
In fact, I'm not sure what the problem is wrt to the older versions of automake.
Hold on, I might have a solution.
Ah. Got it, I think. Standby.
@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.
@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
@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.
Is it still v14.4? May be worth reporting.
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
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
sure, but the PGI compiler still ICE-s.
Are you still having this problem?
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
PGI: "Why support new language features when you can half-ass support for old ones...."
I'm so unmotivated about PGI that I haven't even tried their free compiler. :)
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...
@issamsaid Do you have an easy way to pass this issue to the development team?
@milancurcic I already did, I personally ran in a similar issue. I will get back to you if I have some fixes.
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!
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_ .
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!
@fullerrd What happens if you remove ::
from the module procedure
line?
@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
please file a bug at https://nvbugswb.nvidia.com/ or post a comment on https://devtalk.nvidia.com/
Is this still an issue? Or is it resolved on newer versions of PGI?
I haven't had opportunity to try it and am curious about it as well.
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
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:
They say they fixed it in 14.7 (Have no idea if it is true).