[R-pkg-devel] Link compiled C object to internal package file

mark padgham m@rk@p@dgh@m @end|ng |rom em@||@com
Wed Jun 19 16:48:15 CEST 2019


Yeah, but that would require completely rewriting the C code to accept a
variable for something that is used hundreds of times as a simple macro.
(Most of that C code is an old library bundled with the package, so not
my work in that regard.) It would still be enormously easier to robustly
provide a relative location within the compiled source object to direct
it to the file ... but how?


On 19/06/2019 14:10, Jeff Newmiller wrote:
> What do you mean by
>
> "call an external text file"
>
> ? Text files are data... do you want to open it and read it? Are you familiar with the system.file() function?
>
>
> On June 19, 2019 5:45:51 AM CDT, mark padgham <mark.padgham using email.com> wrote:
>> Dear All,
>>
>> I'm developing a package which primarily relies on C code that itself
>> has to call an external text file representing a dictionary or lookup
>> table. The location of this file is defined in a C macro, the file
>> itself packaged in "./inst/dict/<myfile.txt>" and so currently called
>> as
>> "#define mylocation './dict/<myfile.txt>'". I can load the package and
>> all works well, yet the tests fail because the compiled object
>> ("./src/<myobject.so>") can not find this file **in tests only**. My
>> primary request would then be advice for where best to place such files
>> that need to be called directly by compiled objects, and how to direct
>> the compiled object to such files? Failing that, advice on why such
>> attempts at linking compiled objects to external files might fail only
>> during tests, yet work otherwise, would be appreciated.
>>
>> Other important info: Yes, the external dictionary file **must** be
>> linked directly from the compiled object, not at run time. This means
>> that no R-based solutions can be implemented, and so the problem can
>> only be solved in this case through figuring out how to direct a
>> compiled object to connect to an additional package-internal file.
>>
>> Thanks in advance,
>>
>> mark
>>
>> ______________________________________________
>> R-package-devel using r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-package-devel



More information about the R-package-devel mailing list