[kepler-users] Locations for actor specific libraries and dll's

David Welker david.v.welker at gmail.com
Wed Mar 31 11:08:12 PDT 2010


Native executables generally should go into lib/exe. The reason is  
that the build system will automatically ensure that executable files  
in this folder have appropriate permissions. For some reason, common  
does not conform to this pattern (the native executables are in lib)  
although it probably should.

After 2.0, we are likely to add greater specifications on how to  
handle multiple platforms, so individual module developers will have  
more guidance.

-David


On Mar 31, 2010, at 11:56 AM, ben leinfelder wrote:

> Tom -
> What you've laid out is spot on in terms of where the libraries  
> (bins and jars) should be located. If you follow those guidelines,  
> Kepler will make sure the library paths are set correctly when it  
> runs with your module.
> In my work with native R-to-Java binding libraries I've had binary  
> libraries for three different platforms: *nix, OS X, and Windows.  
> These seem to play fine in the same sandbox (i.e. lib/ dir).
> In your Windows case, hopefully the x32/x64 dlls:
> -will have different file names and they can both be placed in the  
> same lib dir
> -and the jars that load them will be intelligent enough to load the  
> correct binary for that os.
>
> I imagine the the code that generates the lib path for Kepler could  
> be augmented such that it only looks in certain subfolders (say lib/ 
> 32/ and lib/64/) depending on what system it's running on, but  
> hopefully this won't be immediately necessary.
>
> -ben
>
> On Mar 31, 2010, at 10:45 AM, Thomas M. Parris wrote:
>
>> Greeting ...
>>
>> We are developing some actors that make use of external jar and dll  
>> files.
>> In poking around the kepler directory tree, it looks like the proper
>> locations for these files would be as follows:
>>
>> 	jar files:
>> 	<kepler.dir>/<suite.dir>/lib/jar/*.jar
>>
>> 	dll files:
>> 	<kepler.dir>/<suite.dir>/lib/*.dll
>>
>> Is this correct?
>>
>> If it's not already obvious, we're a Windows shop.  But we would  
>> like to at
>> least be cognizant of how to go about being platform independent  
>> (and do
>> need to tackle the x32/x64 platforms).  So how would this layout  
>> change to
>> support multiple Windows memory models (x32 and x64) and othe  
>> platforms
>> (e.g., Linux, Mac OS)?  Again from poking around, it looks like the
>> <kepler.dir>/<suite.dir>/lib/ directory is used for all sorts of  
>> binary
>> library formats (*.dylib, *.so, *.dll, *.jnilib, *.jnilibPPC).  Do  
>> I have
>> this correct?  Do we need to do anything else to get the code for  
>> our actors
>> to reference these library files?
>>
>> If I'm still generally on track, how do I differentiate various  
>> flavors of
>> linux/unix (all of which use *.so) and the x32/x54 flavors of  
>> Windows (both
>> of which use *.dll)?
>>
>> Many thanks,
>> Tom
>> ----------------------------------------------------
>> Thomas M. Parris
>> Vice President
>> ISciences, LLC
>> 61 Main Street, Suite 200
>> Burlington, VT 05401
>> Voice: +802-864-2999
>> Fax:   +617-344-2580
>> Email: parris at isciences.com
>>
>> http://www.isciences.com/  http://www.terraviva.net/
>> ----------------------------------------------------
>>
>> _______________________________________________
>> Kepler-users mailing list
>> Kepler-users at kepler-project.org
>> http://mercury.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-users
>
> _______________________________________________
> Kepler-users mailing list
> Kepler-users at kepler-project.org
> http://mercury.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-users




More information about the Kepler-users mailing list