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
