Re: Error from attempting to load a DSO

From: Mary Haley <haley_at_nyahnyahspammersnyahnyah>
Date: Wed, 27 Feb 2008 09:27:44 -0700 (MST)

Yes, the problem was solved by using an older version of NCL. I think
that maybe the binary he had may not have been built with the
necessary option that allows the loading of shared objects
("-rdynamic" for gcc).

Of course, this is not an idea solution. He would have to rebuild NCL
from source code in order to make sure it was built properly.

--Mary

On Wed, 27 Feb 2008, Saji N Hameed wrote:

> Hi Mary and all,
>
> Was this problem solved? I noticed that Andy's linux is a 64-bit machine
> (correct me if i am wrong). Possibly he uses a 64-bit NCL binary. I
> am not sure if the ifort compiler that he uses makes 64-bit binaries.
> A simple "file nc2hs052.so" may tell what binary is being produced.
> Also one may want to check "file `which ncl`". If the ifort compiler is
> making a 32-bit binary, there may be a problem.
>
>
> saji
>
> * Mary Haley <haley_at_ucar.edu> [2008-02-25 07:49:39 -0700]:
>
>>
>> Hi All,
>>
>> Sorry for my late response on this. I had a conversation with Andy
>> offline about this, and I think the problem is with an incompatibility
>> with the way NCL was built and the compiler he's using to build the
>> shared object. He's using the Intel compiler, and NCL was most likely
>> built with g77/gcc. Usually this is not an issue, but sometimes when
>> you mix compilers, they require that you have certain versions of each
>> in order to do this.
>>
>> As a test, I've asked Andy to try some simple WRAPIT programs, using
>> the Intel compiler on one run, and the default compiler that it
>> finds as a second run. If these tests don't work, then I will
>> probably need to look into building NCL on that particular
>> machine using their compilers.
>>
>> For a simple WRAPIT test, see:
>>
>> http://www.ncl.ucar.edu/Document/Tools/WRAPIT.shtml#TroubleShooting
>>
>> --Mary
>>
>> On Thu, 21 Feb 2008, Andrew Mai wrote:
>>
>>> Output from ncl command:
>>>
>>> Copyright (C) 1995-2007 - All Rights Reserved
>>> University Corporation for Atmospheric Research
>>> NCAR Command Language Version 5.0.0
>>> The use of this software is governed by a License Agreement.
>>> See http://www.ncl.ucar.edu/ for more details.
>>> warning:An error occurred loading the external file ./nc2hs052.so,
>>> file not loaded
>>> ./nc2hs052.so: undefined symbol: NclGetArgValue
>>> warning:error at line 4 in file nc2hs052.ncl
>>>
>>> NCL command:
>>>
>>> % ncl -n nc2hs052.ncl
>>>
>>> Beginning of NCL program nc2hs052.ncl (note that line 4 is the attempted
>>> load of the DSO):
>>>
>>> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
>>> load "$HOME/ncl/functions/genFileNames.ncl"
>>>
>>> external NC2HS052 "./nc2hs052.so"
>>>
>>> begin
>>>
>>> ; ..User settable variable initializations
>>> nmoStrt = 01
>>> ndyStrt = 01
>>> nfDayi = 30 ; # days/file input
>>> nfDayo = 365 ; # days/file output
>>> NC2HS052::initlwrap()
>>>
>>> Possibly helpful additional info:
>>>
>>> % uname -a
>>> Linux davinci 2.6.5-7.283-sn2 #1 SMP Wed Nov 29 16:55:53 UTC 2006
>>> ia64 ia64 ia64 GNU/Linux
>>> % WRAPIT -in -r8 -L /usr/common/homes/m/mai/lib -l mai nc2hs052.stub
>>> nc2hs052.f90 initlwrap.f
>>> WRAPIT Version: 051007
>>> /usr/common/intel/fc/10.0.026/bin/ifort
>>> COMPILING nc2hs052.f90
>>> COMPILING initlwrap.f
>>> LINKING
>>> END WRAPIT
>>> % cat nc2hs052.stub
>>> C NCLFORTSTART
>>> subroutine gd2sp3d(grid3d,ntim,coef3d)
>>> integer ntim
>>> real grid3d(128,64,ntim)
>>> real coef3d(512,ntim)
>>> C NCLEND
>>> C NCLFORTSTART
>>> subroutine gd2sp4d(grid4d,nlev,ntim,coef4d)
>>> integer nlev,ntim
>>> real grid4d(128,64,nlev,ntim)
>>> real coef4d(512,nlev,ntim)
>>> C NCLEND
>>> C NCLFORTSTART
>>> subroutine uv2vd4d(u4d,v4d,nlev,ntim,vor4d,div4d)
>>> integer nlev,ntim
>>> real u4d(128,64,nlev,ntim),v4d(128,64,nlev,ntim)
>>> real vor4d(512,nlev,ntim),div4d(512,nlev,ntim)
>>> C NCLEND
>>> C NCLFORTSTART
>>> subroutine gd2sp(grid,coef,kind,icos,laplac)
>>> integer kind,icos,laplac
>>> double precision grid(130,64)
>>> double precision coef(1892)
>>> C NCLEND
>>> C NCLFORTSTART
>>> subroutine uv2vd(u,v,vor,div)
>>> real u(128,64),v(128,64)
>>> double precision vor(1892),div(1892)
>>> C NCLEND
>>> C NCLFORTSTART
>>> subroutine expand(grd,nfour2,nlat,nfour,grid)
>>> integer nfour2,nlat,nfour
>>> real grd(nfour2,nlat)
>>> double precision grid(nfour,nlat)
>>> C NCLEND
>>> C NCLFORTSTART
>>> subroutine truncm(t42,r15)
>>> double precision t42(1892)
>>> double precision r15(512)
>>> C NCLEND
>>>
>>> Does the error message indicate an incorrect installation of NCL? Note
>>> that NclGetArgValue is not a name in any of my code.
>>>
>>> Andy
>>>
>>> --
>>>
>>> Andrew W. Mai
>>> --- __o National Center for Atmospheric Research
>>> ---- _`\<,_ Boulder, CO 80307 USA mai_at_ucar.edu
>>> --- (*)/ (*) http://www.cgd.ucar.edu/cdp/mai/mai.html
>>>
>>>
>> _______________________________________________
>> ncl-talk mailing list
>> ncl-talk_at_ucar.edu
>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
> --
> Saji N. Hameed
>
> APEC Climate Center +82 51 668 7470
> National Pension Corporation Busan Building 12F
> Yeonsan 2-dong, Yeonje-gu, BUSAN 611705 saji_at_apcc21.net
> KOREA
>
_______________________________________________
ncl-talk mailing list
ncl-talk_at_ucar.edu
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Wed Feb 27 2008 - 09:27:44 MST

This archive was generated by hypermail 2.2.0 : Fri Feb 29 2008 - 11:15:04 MST