> On 06 May 2015, at 12:10, p...@highoctane.be wrote: > > I've loaded your package. > > A prerequisite is to load OS-Window to make it work.
why? in any case, oswindow is already included in pharo4 Esteban > > I've got the DLL call working nicely and the nativeboost with the structure > freezing. > > Now, we should all have a look at: > > https://github.com/ronsaldo/bullet-pharo > <https://github.com/ronsaldo/bullet-pharo> > > and > > https://github.com/ronsaldo/swig <https://github.com/ronsaldo/swig> > > because it looks like the way to go to wrap libraries... > > Ronie, I know you modified swig for generating Pharo code; > > Is cloning your swig repo the way to go ? > > > Phil > > > > > On Wed, May 6, 2015 at 10:39 AM, Usman Bhatti <usman.bha...@gmail.com > <mailto:usman.bha...@gmail.com>> wrote: > Hi Nicolai, > > Here is my package that defines the nativeboost call and associated C structs. > The external C struct is self referencing and hence sometimes I get infinite > recursion when trying to change field descriptions. That is the reason why > the automatically generated accessors are absent (although I had them in an > earlier version). > > Attached also the DLL referenced in the code. > > > > On Wed, May 6, 2015 at 9:58 AM, Nicolai Hess <nicolaih...@web.de > <mailto:nicolaih...@web.de>> wrote: > > > 2015-05-06 9:53 GMT+02:00 Usman Bhatti <usman.bha...@gmail.com > <mailto:usman.bha...@gmail.com>>: > > > On Tue, May 5, 2015 at 7:34 PM, p...@highoctane.be > <mailto:p...@highoctane.be> <p...@highoctane.be <mailto:p...@highoctane.be>> > wrote: > > On Tue, May 5, 2015 at 6:28 PM, Usman Bhatti <usman.bha...@gmail.com > <mailto:usman.bha...@gmail.com>> wrote: > I succeeded to do it by encapsulating the C routine as a DLL and doing an FFI > call from my image (as suggested by Guille). > > At least there was a way! > > Exactly :) > > > Looks like this is the most controlled|debuggable way: > - get it working with C code out of Pharo > - make a bridge that can be used easily with FFI in a dll > - use that from Pharo with proven FFI > > Would NativeBoost work with your dll? Should. > > I have read a few resources about Nativeboost but I am still naive to know > the difference between FFI and nativeboost. The FFI call I made to invoke the > DLL function looked similar to the nativeboost calls. > > > > I also tried to perform the nativeboost call by creating my structures in > Pharo. The function in Windows that can be used to retrieve mac address in > Windows: GetAdaptersInfo > <https://msdn.microsoft.com/en-us/library/windows/desktop/aa365917%28v=vs.85%29.aspx> > that accepts a PIP_ADAPTER_INFO > <https://msdn.microsoft.com/en-us/library/windows/desktop/aa366062(v=vs.85).aspx> > structure. I subclassed NBExternalStructure to define this struct and the > other used by it in the image but my NB call returned with 87 code (Invalid > parameter) and it was impossible to debug. However, I would like to make this > thing work to understand what went wrong. > > Has this something to do with 32|64 bit library complications? > > Not exactly. For me, it was more related to the fact that I had to map a > complex C struct in Pharo. Here is an excerpt of the definition from MSDN: > > typedef struct _IP_ADAPTER_INFO { > struct _IP_ADAPTER_INFO *Next; > ... > PIP_ADDR_STRING CurrentIpAddress; > IP_ADDR_STRING GatewayList; > ... > } > > So, I had to define three external structures (all names in capitals) and I > did the effort but in the end I got an error code that I could not debug in > the image. Hence, I gave up and opted to go in the native environment. But I > would like someone knowledgable to have a look at my nativeboost code > because the nativeboost approach is more simple (everything's in the image). > > I can have a look. > > btw. for what do you need the mac address? > > > > > > usman > > > Phil > > With ProcessWrapper, I could not load the classes essential for making the > plugin work. > > HTH, > > Usman > > > > > On Mon, May 4, 2015 at 2:54 PM, Ben Coman <b...@openinworld.com > <mailto:b...@openinworld.com>> wrote: > As a complete newb to VM building I found this fairly straight forward (on a > Mac btw). > https://github.com/pharo-project/pharo-vm > <https://github.com/pharo-project/pharo-vm> > cheers -ben > > On Mon, May 4, 2015 at 5:28 PM, Usman Bhatti <usman.bha...@gmail.com > <mailto:usman.bha...@gmail.com>> wrote: > > > On Sun, May 3, 2015 at 4:22 PM, Pierce Ng <pie...@samadhiweb.com > <mailto:pie...@samadhiweb.com>> wrote: > On Sat, May 02, 2015 at 03:55:47PM +0200, Usman Bhatti wrote: > > 1/ OSProcess: I tried (PipeableOSProcess command: 'ipconfig /all') output. > > I have used http://www.smalltalkhub.com/#!/~hernan/ProcessWrapper > <http://www.smalltalkhub.com/#!/~hernan/ProcessWrapper> successfully > back when I was on Windows using some now-ancient version of Pharo. > > I had initially discarded the idea of using this project because it required > a plugin and the information of the plugin was outdated on squeaksource. > However, having evaluated superficially the complexity of doing it with > nativeboost (because too many external c struct involved in the call), I > would like to see if I am better off using this wrapper. > > I loaded it with: > > Gofer it > url: 'http://www.smalltalkhub.com/mc/hernan/ProcessWrapper/main > <http://www.smalltalkhub.com/mc/hernan/ProcessWrapper/main>'; > package: 'ProcessWrapper-Core'; > package: 'ProcessWrapper-Plugin'; > package: 'ProcessWrapper-Tests'; > load. > > But the plugins wont load because it requires the class > SmartSyntaxInterpreterPlugin and apparently this file is a part of the > VMMaker. Is there any recent config for VMMaker in Pharo because this one > looks outdated: > http://pharo.gemtalksystems.com/book/Virtual-Machine/Building/VMMakerTool/ > <http://pharo.gemtalksystems.com/book/Virtual-Machine/Building/VMMakerTool/> > > > > > > Pierce > > > > > > > > > > > > > > >