2010/4/7 Schwab,Wilhelm K <[email protected]>:
> Nicolas,
>
> I tried, and it has not been smooth.  What exactly do you mean by the library 
> path?  Perhaps the easiest way to answer my question is to tell me which 
> libraries should be found there.  Will the vm no longer use absolute paths in 
> #moduleName?
>

Not smooth is not very informative...
I mean the library path to your own .so you want to call with FFI

I don't know if providing the absolute path as module name still
work... Not sure at all.

See 
http://www.squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/unix/vm/sqUnixExternalPrims.c?rev=2121&view=auto
In ioLoadModule, these lines indicate where your .so was searched for
in previous version, but it is now obsolete (see the #if 1 , #else
directive):

  if ((   handle= tryLoading(    "./",                  pluginName))
      || (handle= tryLoadingPath("SQUEAK_PLUGIN_PATH",  pluginName))
      || (handle= tryLoading(    VM_LIBDIR"/",          pluginName))
      || (handle= tryLoadingPath("LD_LIBRARY_PATH",     pluginName))
      || (handle= tryLoading(    "",                    pluginName))
#    if defined(VM_X11DIR)
      || (handle= tryLoading(VM_X11DIR"/",              pluginName))
#    endif
      )
    return handle;

Current version only tries:
/* try loading {pluginPaths}/MODULE_PREFIX<name>MODULE_SUFFIX */
then:
/* try dlopen()ing LIBRARY_PREFIX<name>LIBRARY_SUFFIX searching only
the default locations modulo LD_LIBRARY_PATH et al */

I don't know where is defined the extern char *squeakPlugins;
For the macros, it has to be some cmake thing:
http://www.squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/unix/vm/config.cmake?rev=2139&view=auto

SET (CMAKE_SHARED_MODULE_PREFIX "so.")
SET (CMAKE_SHARED_MODULE_SUFFIX "")

so no chance to find your own lib with first alternative.
For the second one, too late for me to track down, beside, I don't
want to learn anything more about cmake ;).

Good luck

Nicolas

> I moved on to the RC3 one-click image and am trying to figure out how to 
> point its vm at my image - can't hurt.
>
> Bill
>
>
>
>
> -----Original Message-----
> From: [email protected] 
> [mailto:[email protected]] On Behalf Of Nicolas 
> Cellier
> Sent: Tuesday, April 06, 2010 5:07 PM
> To: [email protected]
> Subject: Re: [Pharo-project] FFI+Linux+double return value
>
> 2010/4/6 Schwab,Wilhelm K <[email protected]>:
>> Hello all,
>>
>> I built (I think) a 2151 vm, but I can't run it.  It keeps complaining
>> that it can't find the X11 display driver.  What am I missing about
>> the command line options?  I generally try to use
>>
>>  /full-path-to-vm/squeakvm options /full-path-to-image
>>
>> Help??
>>
>> Bill
>>
>
> Unless you add some specific home made plugin, you should better use latest 
> squeak vm, after setting the LD_LIBRARY_PATH to point to your library path. 
> Did you try ?
>
> Nicolas
>
>>
>> -----Original Message-----
>> From: [email protected]
>> [mailto:[email protected]] On Behalf Of
>> Schwab,Wilhelm K
>> Sent: Tuesday, April 06, 2010 3:05 PM
>> To: [email protected]; The general-purpose Squeak
>> developers list
>> Subject: Re: [Pharo-project] FFI+Linux+double return value
>>
>> Nicolas,
>>
>> I am running this on Ubuntu (9.10) and have been using the Pharo 0.15.2f vm. 
>>  I just tried a Squeak vm (3.11-3) and could not get it to load my library.  
>> I have been using an absolute path the the .so; could that be the problem 
>> with the Squeak vm??
>>
>> There has been a lot of discussion of the Pharo Linux vm lately, with some 
>> links and corrections, so I'll have to look around a little.
>>
>> You asked if I can check the vm sources; the concern is whether or not I 
>> will have anything to add :)  Is there something specific you want me to do?
>>
>> Bill
>>
>>
>> -----Original Message-----
>> From: [email protected]
>> [mailto:[email protected]] On Behalf Of
>> Schwab,Wilhelm K
>> Sent: Tuesday, April 06, 2010 1:46 PM
>> To: [email protected]; The general-purpose Squeak
>> developers list
>> Subject: [Pharo-project] FFI+Linux+double return value
>>
>> Hello all,
>>
>> I had some strange results with double return values and boiled it
>> down to a C function
>>
>> Double AnyDouble()
>> {
>>        return 1.0;
>> }
>>
>> called via
>>
>>  anyDouble
>>  < cdecl: double 'AnyDouble' () >
>>
>> and driven by
>>
>> | out |
>> out := Array writeStream.
>> 100 timesRepeat:[
>>  out nextPut:Library default anyDouble ].
>> out contents.
>>
>> The results are not good.  It works for the first three elements, after 
>> which it produces NaN.  The real problem appears to be comparison of floats 
>> being broken after that point, as evidenced by a walkback that arises when 
>> trying to inspect the resulting collection - exploring it works.
>>
>> I need to try this on the latest image/vm, but wanted to start gathering 
>> opinions.  Any ideas?
>>
>> Bill
>>
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [email protected]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [email protected]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [email protected]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>

_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to