Hi Hella,
I'm glad to hear that the most-recent release is working correctly
for you. This release included an effort on our part to build
Ferret in such a way that we wouldn't have conflicts between
versions of libraries. For instance, the executable you loaded asks
your system to find libcurl.so.4, which will generally be the one
found under Ubuntu and other free Linux Operating systems as well as
RedHat6. The Ferret executable built for RedHat 5 will ask for
libcurl.so.3.
There is a note about the different executables in the latest Release
Notes, see item 2, but indeed it would be helpful for us to
have that information on the downloads pages. Perhaps when we
release Ferret the announcement should also include the highlights
so you can decide whether it's an update you want to install.
Ansley
On 6/12/2011 4:07 PM, Hella Riede wrote:
Dear
Ansley, dear ferreters,
indeed - ferret version 6.7 does NOT have the same problem with
small numbers. Listing of numbers 1.e-38 and below works fine to
IEEE limit:
Here's my test with version 6.7:
yes? list 1.e-38
VARIABLE : constant
1.000E-38
[...]
yes? list 1.e-45
VARIABLE : constant
1.401E-45
yes? list 1.e-46
VARIABLE : constant
0.0000
yes? list 1.e-47
VARIABLE : constant
0.0000
I didn't plan to switch with every version of ferret, but in this
case it's worth it. Please find the requested output of 'ldd' for
my 6.7 binary below.
On my machine, version 6.64 still shows the strange behavior of
not listing numbers from about 1.e-38 and lower ("**ERROR: command
syntax: 1.E-38", details below). Version 6.40 like version 6.7 did
not show this problematic behavior on the same machine (Ubuntu
Lucid, x86_64-linux, Linux version 2.6.32-25-generic
(buildd@allspice) (gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) )
#45-Ubuntu SMP Sat Oct 16 19:52:42 UTC 2010). According to Ansley
it could have resulted from the static library linking at the time
(see also below).
Thanks again for the help!
Hella
P.S. I did not immediately realize that I need to download the
version 6.7 for Redhat since I am running Ubuntu. So I encountered
the problem that no libgfortran.so.1 was found on my system
(simple linking of libgfortran.so.3 does not fix it; download of
libgfortran.so.1 produces a clash with newer gcc version). Dawned
on me when I read the email "Libraries in the latest Ferret" by
Karl Smith and I though it doesn't hurt to mention it again in
this P.S. in case someone is searching the archive for
'libgfortran.so.1' like me.
P.P.S. ldd on ferret version 6.7 binary for Redhat 6
(libgfortran.so.3 instead of libgfortran.so.1 is requested and
found)
linux-vdso.so.1 => (0x00007fff501ff000)
libreadline.so.6 => /lib/libreadline.so.6
(0x00007fb3b2e0a000)
libncurses.so.5 => /lib/libncurses.so.5
(0x00007fb3b2bc7000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x00007fb3b2890000)
libcurl.so.4 => /usr/lib/libcurl.so.4 (0x00007fb3b2648000)
libdl.so.2 => /lib/libdl.so.2 (0x00007fb3b2444000)
libgfortran.so.3 => /usr/lib/libgfortran.so.3
(0x00007fb3b2156000)
libm.so.6 => /lib/libm.so.6 (0x00007fb3b1ed3000)
libc.so.6 => /lib/libc.so.6 (0x00007fb3b1b50000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007fb3b1938000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007fb3b171c000)
libidn.so.11 => /usr/lib/libidn.so.11 (0x00007fb3b14e9000)
liblber-2.4.so.2 => /usr/lib/liblber-2.4.so.2
(0x00007fb3b12da000)
libldap_r-2.4.so.2 => /usr/lib/libldap_r-2.4.so.2
(0x00007fb3b108e000)
librt.so.1 => /lib/librt.so.1 (0x00007fb3b0e86000)
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2
(0x00007fb3b0c51000)
libssl.so.0.9.8 => /lib/libssl.so.0.9.8
(0x00007fb3b09ff000)
libcrypto.so.0.9.8 => /lib/libcrypto.so.0.9.8
(0x00007fb3b066f000)
libz.so.1 => /lib/libz.so.1 (0x00007fb3b0457000)
/lib64/ld-linux-x86-64.so.2 (0x00007fb3b306d000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x00007fb3b0253000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6
(0x00007fb3b004d000)
libresolv.so.2 => /lib/libresolv.so.2 (0x00007fb3afe33000)
libsasl2.so.2 => /usr/lib/libsasl2.so.2
(0x00007fb3afc19000)
libgnutls.so.26 => /usr/lib/libgnutls.so.26
(0x00007fb3af977000)
libpthread.so.0 => /lib/libpthread.so.0
(0x00007fb3af759000)
libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x00007fb3af495000)
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3
(0x00007fb3af26f000)
libcom_err.so.2 => /lib/libcom_err.so.2
(0x00007fb3af06a000)
libkrb5support.so.0 => /usr/lib/libkrb5support.so.0
(0x00007fb3aee62000)
libkeyutils.so.1 => /lib/libkeyutils.so.1
(0x00007fb3aec5f000)
libtasn1.so.3 => /usr/lib/libtasn1.so.3
(0x00007fb3aea4d000)
libgcrypt.so.11 => /lib/libgcrypt.so.11
(0x00007fb3ae7d5000)
libgpg-error.so.0 => /lib/libgpg-error.so.0
(0x00007fb3ae5d0000)
------------------------------------------------------------------------
*Subject:* Re: [ferret_users] small numbers cause ferret error
*Sent:* Sun 12 Jun 2011 11:20:31 PM CEST +0200
*From:* Hella Riede <hella.riede@xxxxxxx>
*To:* Ansley Manke <Ansley.B.Manke@xxxxxxxx>
Dear Ansley,
I only answer to you since I have no idea if the others are
still
interested.
yes? list 1.e-38
VARIABLE : constant
1.000E-38
[...]
yes? list 1.e-45
VARIABLE : constant
1.401E-45
yes? list 1.e-46
**ERROR: command syntax: 1.E-46
Good to see it works for you. I still have the problem that in
version
6.64 I cannot even list 1.e-38. Here is my library setup:
1) What is the output of
> ldd ferret_v664
ours shows this:
linux-vdso.so.1 => (0x00007fff311fc000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003599c00000)
libc.so.6 => /lib64/libc.so.6 (0x0000003599400000)
/lib64/ld-linux-x86-64.so.2 (0x0000003599000000)
On the remote Linux cluster:
linux-vdso.so.1 => (0x00007fffccdff000)
libdl.so.2 => /lib64/libdl.so.2 (0x00002b9981f1f000)
libc.so.6 => /lib64/libc.so.6 (0x00002b9982124000)
/lib64/ld-linux-x86-64.so.2 (0x00002b9981cfe000)
On my local machine:
64-bit
x86_64-linux
Linux version 2.6.32-25-generic (buildd@allspice)
(gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) )
#45-Ubuntu SMP Sat Oct 16 19:52:42 UTC 2010
linux-vdso.so.1 => (0x00007ffffa1ff000)
libdl.so.2 => /lib/libdl.so.2 (0x00007fef241ef000)
libc.so.6 => /lib/libc.so.6 (0x00007fef23e6c000)
/lib64/ld-linux-x86-64.so.2 (0x00007fef24415000)
I am not sure what that tells me. The names of the libraries
seem to be
the same, the locations (?) seem not to be. Is that actually
an ID of
the library and should be the same or is it just the local
site on the
disk?
2) Can you try the latest release,
v6.7? You can install it in one of
your own local directories if you would like to do that. The
output of
the LIST commands would be interesting to see and also the
output of
ldd, again.
I now installed ferret version 6.7 on my local machine:
ldd ferret (version 6.7):
linux-vdso.so.1 => (0x00007fff9024b000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x00007fbb9b231000)
libcurl.so.3 => /usr/lib/libcurl.so.3 (0x00007fbb9afe9000)
libdl.so.2 => /lib/libdl.so.2 (0x00007fbb9ade4000)
libz.so.1 => /lib/libz.so.1 (0x00007fbb9abcd000)
libgfortran.so.1 => not found
libm.so.6 => /lib/libm.so.6 (0x00007fbb9a949000)
libc.so.6 => /lib/libc.so.6 (0x00007fbb9a5c6000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007fbb9a3af000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007fbb9a192000)
libidn.so.11 => /usr/lib/libidn.so.11 (0x00007fbb99f5f000)
liblber-2.4.so.2 => /usr/lib/liblber-2.4.so.2
(0x00007fbb99d51000)
libldap_r-2.4.so.2 => /usr/lib/libldap_r-2.4.so.2
(0x00007fbb99b04000)
librt.so.1 => /lib/librt.so.1 (0x00007fbb998fc000)
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2
(0x00007fbb996c8000)
libssl.so.0.9.8 => /lib/libssl.so.0.9.8
(0x00007fbb99475000)
libcrypto.so.0.9.8 => /lib/libcrypto.so.0.9.8
(0x00007fbb990e5000)
/lib64/ld-linux-x86-64.so.2 (0x00007fbb9b589000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x00007fbb98ee1000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6
(0x00007fbb98cda000)
libresolv.so.2 => /lib/libresolv.so.2 (0x00007fbb98ac1000)
libsasl2.so.2 => /usr/lib/libsasl2.so.2
(0x00007fbb988a7000)
libgnutls.so.26 => /usr/lib/libgnutls.so.26
(0x00007fbb98604000)
libpthread.so.0 => /lib/libpthread.so.0
(0x00007fbb983e7000)
libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x00007fbb98123000)
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3
(0x00007fbb97efc000)
libcom_err.so.2 => /lib/libcom_err.so.2
(0x00007fbb97cf8000)
libkrb5support.so.0 => /usr/lib/libkrb5support.so.0
(0x00007fbb97af0000)
libkeyutils.so.1 => /lib/libkeyutils.so.1
(0x00007fbb978ec000)
libtasn1.so.3 => /usr/lib/libtasn1.so.3
(0x00007fbb976db000)
libgcrypt.so.11 => /lib/libgcrypt.so.11
(0x00007fbb97462000)
libgpg-error.so.0 => /lib/libgpg-error.so.0
(0x00007fbb9725e000)
Consequently, 1st trial ended in:
/data/soft/ferret/v6.7/bin/ferret: error while loading shared
libraries:
libgfortran.so.1: cannot open shared object file: No such file
or
directory
But my quick fix:
ln -s /usr/lib/libgfortran.so.3.0.0 libgfortran.so.1
Didn't work:
/data/soft/ferret/v6.7/bin/ferret: symbol lookup error:
/data/soft/ferret/v6.7/bin/ferret: undefined symbol:
_gfortran_copy_string
In the 30 minutes I devoted I could not find a suitable
download in the
internet. libgfortran.so.3 seems to be the standard and the
only
download from trustworthy sources I could find was not for
64-bit.
Any suggestion is very welcome!
Best wishes,
Hella
------------------------------------------------------------------------
*Subject:* Re: [ferret_users] small numbers cause ferret error
*Sent:* 06 Jun 2011
*From:* Ansley Manke <Ansley.B.Manke@xxxxxxxx>
*To:* Hella Riede <hella.riede@xxxxxxx>
Hi Hella,
Repeating the experiment using the same executable that you are
using on our 64-bit machine,
NOAA/PMEL TMAP
FERRET v6.64
Linux(gfortran) 2.6.9-89.0.20.ELsmp - 09/16/10
6-Jun-11 11:19
yes? list 1.e-38
VARIABLE : constant
1.000E-38
yes? list 1.e-39
VARIABLE : constant
1.000E-39
yes? list 1.e-40
VARIABLE : constant
1.000E-40
yes? list 1.e-41
VARIABLE : constant
1.000E-41
yes? list 1.e-44
VARIABLE : constant
9.809E-45
yes? list 1.e-45
VARIABLE : constant
1.401E-45
yes? list 1.e-46
**ERROR: command syntax: 1.E-46
I get the same result with Ferret v6.7. Now, v6.64 was an
executable which we linked using all the static libraries we
could, which we thought was the right thing to do at the time.
However it could possibly mean that there is a mis-match between
library versions in the shared-object libraries that are used by
the executable when it runs on your machine, and what is linked
statically into Ferret. So there are two things we can look into.
1) What is the output of
> ldd ferret_v664
ours shows this:
linux-vdso.so.1 => (0x00007fff311fc000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003599c00000)
libc.so.6 => /lib64/libc.so.6 (0x0000003599400000)
/lib64/ld-linux-x86-64.so.2 (0x0000003599000000)
2) Can you try the latest release, v6.7? You can install it in
one of your own local directories if you would like to do that.
The output of the LIST commands would be interesting to see and
also the output of ldd, again.
Anlsey
On 6/6/2011 10:53 AM, Hella Riede
wrote:
Dear Ansley, dear ferreters,
this is exactly what I am saying.
------------------------------------------------------------
Version 6.64 has the problem:
------------------------------------------------------------
NOAA/PMEL TMAP
FERRET v6.64
Linux(gfortran) 2.6.9-89.0.20.ELsmp - 09/16/10
6-Jun-11 17:47
yes? list 1.e-38
**ERROR: command syntax: 1.E-38
yes? list 1.e-39
**ERROR: command syntax: 1.E-39
yes? list 1.e-40
**ERROR: command syntax: 1.E-40
yes? list 1.e-41
**ERROR: command syntax: 1.E-41
yes? list 1.e-44
**ERROR: command syntax: 1.E-44
yes? list 1.e-45
**ERROR: command syntax: 1.E-45
yes? list 1.e-46
**ERROR: command syntax: 1.E-46
------------------------------------------------------------
Version 6.40 does NOT have it:
------------------------------------------------------------
NOAA/PMEL TMAP
FERRET v6.401
Linux(g77) 2.4.21-57.ELsmp - 12/09/09
6-Jun-11 17:44
yes? list 1.e-38
VARIABLE : constant
1.000E-38
yes? list 1.e-39
VARIABLE : constant
1.000E-39
yes? list 1.e-44
VARIABLE : constant
9.809E-45
yes? list 1.e-45
VARIABLE : constant
1.401E-45
yes? list 1.e-46
VARIABLE : constant
0.0000
Both versions run on the same machine, which is:
64-bit system
amd64_sles11
Linux version 2.6.32.23-0.3-default (geeko@buildhost) (gcc
version
4.3.4 [gcc-4_3-branch revision 152973] (SUSE Linux) ) #1
SMP
2010-10-07 14:57:45 +0200
Except for the ferret version I only see a difference in
the compiler
as Ansley already mentioned. g77 -> gfortran. It looks
like this is
not intended and not explicable by IEEE standard... I
switch between
ferret versions to handle my data :-|
Thanks for helping.
Cheers,
HellA
------------------------------------------------------------------------
*Subject:* Re: [ferret_users] small numbers cause ferret
error
*Sent:* Wed 01 Jun 2011 11:50:54 AM CEST -0700
*From:* Ansley Manke <Ansley.B.Manke@xxxxxxxx>
*To:* Hella Riede <hella.riede@xxxxxxx>
*Cc:* martin.schmidt@xxxxxxxxxxxxxxxxx,
Steven.C.Hankin@xxxxxxxx
Hi Helle
Are you saying that you seen an error on the first
command when you
run
the examples Steve shows below?
yes? list 1.e-38
yes? list 1.e-39
yes? list 1.e-44
yes? list 1.e-45
yes? list 1.e-46
On 5/31/2011 12:10 PM, Hella Riede wrote:
Hi people,
thanks for the comparison and IEEE information. I
realized now the
last email was already not to the list anymore. Sorry
for my late
reply - at first I thought my question was already
answered by the
IEEE definition, but my problem persists: I already
get an error at
1E-38, which should still be in the valid IEEE range.
To answer Ansley's question:
64-bit system
amd64_sles11
Linux version 2.6.32.23-0.3-default (geeko@buildhost)
(gcc version
4.3.4 [gcc-4_3-branch revision 152973] (SUSE Linux) )
#1 SMP
2010-10-07 14:57:45 +0200
Best regards,
Hella
----------------------------------------------------------------------------------------------------
From: Steven.C.Hankin@xxxxxxxx
IEEE floating point range should be: ~10^-44.85 to
~10^38.53
Trying Ferret V6.7 on a 32 bit machine I get
yes? list 1.e-38
VARIABLE : constant
1.000E-38
yes? list 1.e-39
VARIABLE : constant
1.000E-39
yes? list 1.e-44
VARIABLE : constant
9.809E-45
yes? list 1.e-45
VARIABLE : constant
1.401E-45
yes? list 1.e-46
* **ERROR: command syntax: 1.E-46*
This seems like the appropriate behavior.
- Steve
------------------------------------------------------------------------
*Subject:* Re: [ferret_users] small numbers cause
ferret error
*Sent:* Mon 18 Apr 2011 09:15:25 AM CEST -0700
*From:* Ansley Manke <Ansley.B.Manke@xxxxxxxx>
*To:* martin.schmidt@xxxxxxxxxxxxxxxxx
*Cc:* Hella Riede <hella.riede@xxxxxxx>, Ferret
users
<oar.pmel.ferret_users@xxxxxxxx>
Hi -
I am not seeing this error, see below (n a 64-bit
machine, linux
RedHat
5). The difference between versions is that the
newer ones, starting
with Ferret v6.6 are compiled with gfortran and the
older one with
g77.
Hella and Martin, maybe we can take the discussion
off-line - what
operating systems are you running?
NOAA/PMEL TMAP
FERRET v6.4
Linux(g77) 2.6.9-89.ELsmp - 11/30/09
18-Apr-11 09:07
yes? list 1.e-38
VARIABLE : constant
1.000E-38
---
NOAA/PMEL TMAP
FERRET v6.64
Linux(gfortran) 2.6.9-89.0.20.ELsmp - 09/20/10
18-Apr-11 08:58
yes? list 1.e-38
VARIABLE : constant
1.000E-38
---
NOAA/PMEL TMAP
FERRET v6.67
Linux(gfortran) 2.6.18-238.1.1.el5 - 02/11/11
18-Apr-11 08:59
yes? list 1.e-38
VARIABLE : constant
1.000E-38
On 4/18/2011 12:20 AM, Martin Schmidt wrote:
Hi,
I can reproduce the error with 6.6.7. However,
list 1e-37/10
gives correct output.
Greetings,
M. Schmidt
Hella Riede wrote:
Dear ferreters,
I encountered problems using my ferret scripts
after moving from
version 6.40 to 6.64. The very small numbers
that appear in
some of
our model output (which is my ferret script
input) cause an
error in
ferret. To avoid the problem, they could be set
to zero defining a
certain threshold. However, I preferred the
previous handling
without
having to use any manual thresholds - what
happened? Has this been
fixed since version 6.64?
Kind regards,
Hella
----------------------------------------------------------
problem with very small numbers
----------------------------------------------------------
NOAA/PMEL TMAP
FERRET v6.64
Linux(gfortran) 2.6.9-89.0.20.ELsmp - 09/16/10
18-Apr-11 02:41
yes? list 1E-38
**ERROR: command syntax: 1E-38
yes? list 1E-37
VARIABLE : constant
1.000E-37
----------------------------------------------------------
no problem with very small numbers
----------------------------------------------------------
NOAA/PMEL TMAP
FERRET v6.401
Linux(g77) 2.4.21-57.ELsmp - 12/09/09
18-Apr-11 02:42
yes? list 1E-38
VARIABLE : constant
1.000E-38
yes? list 1E-37
VARIABLE : constant
1.000E-37
|