@jameson He says he is using Ubuntu 12.04, but his Julia version is too old 
for dllist().

Updating to the latest version would be advisable, because that is what 
everybody who is likely to help you on this list compile the latest master 
from source at least weekly. I do not know the Ubuntu release schedule and 
"end of life" dates, but I think I have heard something about trouble 
providing updates in `apt-get` to old versions of Ubuntu.

@thomas The output is as expected, but I wanted to see if "CVodeCreate" was 
in there. Give the output of 

nm /usr/local/lib/libsundials_cvode.so | grep CVodeCreate

Ivar

kl. 05:41:26 UTC+1 onsdag 12. mars 2014 skrev Jameson følgende:
>
> I have an open issue assigned to me to go implement Sys.dllist() for 
> windows :/
>
> but nm /usr/local/lib/libsundials_cvode.so is listing all of the 
> functions you call call, so youc can just look to see see if CVodeCreate is 
> in the list. It also indicates the visibility of that function -- to be 
> called from external code, it must have a capital T.
>
>
> On Wed, Mar 12, 2014 at 1:05 AM, Thomas Moore 
> <[email protected]<javascript:>
> > wrote:
>
>> I fear print(Sys.dlliist()) is not an option in julia. There's lots of 
>> other options (Sys,MACHINE, Sys.init, etc) but no Sys.dllist(). 
>>
>> My Julia install is Version 0.3.0-prerelease+308 if that is relevant :)
>>
>> Also, nm /usr/local/lib/libsundials_cvode.so just gives me a long list 
>> like this:
>>
>> 0000000000200e40 a _DYNAMIC
>> 0000000000200fe8 a _GLOBAL_OFFSET_TABLE_
>>                  w _Jv_RegisterClasses
>> 0000000000200e20 d __CTOR_END__
>> 0000000000200e18 d __CTOR_LIST__
>> 0000000000200e30 d __DTOR_END__
>> 0000000000200e28 d __DTOR_LIST__
>> 00000000000005f0 r __FRAME_END__
>> 0000000000200e38 d __JCR_END__
>> 0000000000200e38 d __JCR_LIST__
>> 0000000000201010 A __bss_start
>>                  w __cxa_finalize@@GLIBC_2.2.5
>> 0000000000000550 t __do_global_ctors_aux
>> 00000000000004a0 t __do_global_dtors_aux
>> 0000000000201008 d __dso_handle
>>                  w __gmon_start__
>> 0000000000201010 A _edata
>> 0000000000201020 A _end
>> 0000000000000588 T _fini
>> 0000000000000448 T _init
>> 0000000000000480 t call_gmon_start
>> 0000000000201010 b completed.6531
>> 0000000000201018 b dtor_idx.6533
>> 0000000000000520 t frame_dummy
>>
>> Thanks again
>>
>> Tom
>>
>>
>> On Tuesday, 11 March 2014 22:57:57 UTC+10, Ivar Nesje wrote:
>>>
>>> Your code works for me, so I think there is still a problem on your 
>>> system configuration.
>>>
>>> The error is about the C function `CVodeCreate`, not the Julia function 
>>> with the same name, and apparently Julia finds the sundials library, but it 
>>> does not contain the function.
>>>
>>> Try to run `print(Sys.dllist())` after running your test code to see 
>>> what libraries are actually loaded. When you know what library gets loaded, 
>>> you can inspect the library with eg. `nm /usr/local/lib/
>>> libsundials_cvode.dylib`, and see if you can find the `CVodeCreate` 
>>> function.
>>>
>>> Ivar
>>>
>>>
>>> kl. 11:35:46 UTC+1 tirsdag 11. mars 2014 skrev Thomas Moore følgende:
>>>>
>>>> OK, running 
>>>>
>>>> push!(DL_LOAD_PATH, "/usr/local/lib/") 
>>>>
>>>> has improved the situation a little: now we get this error:
>>>>
>>>> ERROR: ccall: could not find function CVodeCreate in library 
>>>> libsundials_cvode
>>>>  in ode at /home/thomas/.julia/Sundials/src/Sundials.jl:250
>>>>
>>>> At least the shared library is recognised :) 
>>>>
>>>> Sundials.CVodeCreate seems to be a generic function, but in Sundials.jl 
>>>> at line 250 the call to it doesn't seem to be recognised - the error is 
>>>> driven by this call to it:
>>>>
>>>>  mem = CVodeCreate(CV_BDF, CV_NEWTON)
>>>>
>>>> Any more ideas? :D
>>>>
>>>> Again, a massive thanks! I'm sure this will be useful to others looking 
>>>> for a nice DAE solver in Julia in the near future :)
>>>>
>>>> Tom
>>>>
>>>> On Monday, 10 March 2014 23:25:25 UTC+10, Isaiah wrote:
>>>>>
>>>>> try:
>>>>>
>>>>> julia> push!(DL_LOAD_PATH, "/usr/local/lib/")
>>>>>
>>>>> you can also double-check whether it is loadable:
>>>>>
>>>>> julia> dlopen("/usr/local/lib/libsundials_cvode.so")
>>>>>
>>>>> clang.jl is only a dependency for generating the bindings, not at 
>>>>> runtime.
>>>>>
>>>>>
>>>>> On Mon, Mar 10, 2014 at 8:42 AM, Thomas Moore <[email protected]>wrote:
>>>>>
>>>>>> Thanks for your help everyone! I couldn't find the .so file 
>>>>>> originally, but after building it again with ./configure --enable-shared 
>>>>>> there was a libsundials_cvode.so in my /usr/local/lib. However I still 
>>>>>> have 
>>>>>> the same problem. So far I have:
>>>>>>
>>>>>> removed sundials with Pkg.rm("Sundials")
>>>>>> reinstalled it with Pkg.add("Sundials")
>>>>>>
>>>>>> And then run:
>>>>>>
>>>>>> push!(DL_LOAD_PATH, "/usr/local/lib/libsundials_cvode.so")
>>>>>>
>>>>>> And then run the function I copied above. I fear I'm still getting 
>>>>>> the exact same error though. It seems it's not recognising the existence 
>>>>>> of 
>>>>>> the .so file :(
>>>>>>
>>>>>> Any recommendations? My (novice) thoughts are: possibly julia doesn't 
>>>>>> have permission to access libsundials_cvode.so, I don't know why not 
>>>>>> though. Also maybe I need some other package installed: for instance, is 
>>>>>> Clang.jl a dependency - it isn't listed as such?
>>>>>>
>>>>>> Thanks!
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Monday, 10 March 2014 21:53:54 UTC+10, Isaiah wrote:
>>>>>>
>>>>>>> Ah, good call. Use `./configure --enable-shared` for the Makefile 
>>>>>>> build.
>>>>>>>
>>>>>>>
>>>>>>> On Mon, Mar 10, 2014 at 3:34 AM, Ivar Nesje <[email protected]>wrote:
>>>>>>>
>>>>>>>> I do not know CMake, but now that I have a computer I found out 
>>>>>>>> that I probably used
>>>>>>>>
>>>>>>>> BUILD_SHARED_LIBS:BOOL=on
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> kl. 07:43:38 UTC+1 mandag 10. mars 2014 skrev Ivar Nesje følgende:
>>>>>>>>
>>>>>>>>> Sundials does not compile a shared library by default. You must 
>>>>>>>>> look in the PDF manual to find the right option to send to make or 
>>>>>>>>> configure. (Large pdf is hard to read on phone)
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>
>

Reply via email to