Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: st: Compiling User Stata Plugins on 64-bit Solaris
From
"Thomas, Anthony" <[email protected]>
To
[email protected]
Subject
Re: st: Compiling User Stata Plugins on 64-bit Solaris
Date
Tue, 15 Apr 2014 13:28:36 -0400
Hi Brad,
Got a bounce notification on previous message - so not sure if message
went through. Anyways, when you execute a plugin, try using the syntax
"plugin call myplugin <args to plugin>" that should fix your problem.
Anthony
On Tue, Apr 15, 2014 at 1:07 PM, Thomas, Anthony
<[email protected]> wrote:
> Hi Brad,
>
> I'm no expert with compilers, but to start, when you call your plugin, you
> want to use the syntax "plugin call hello <args to hello>" - see
> "http://www.stata.com/plugins/#sect7."
>
> Anthony
>
>
> On Tue, Apr 15, 2014 at 12:42 PM, Brad Cable <[email protected]> wrote:
>>
>> I'm attempting to write a Stata 12 plugin for 64-bit Solaris 10 in a
>> non-global zone. I have downloaded the 2 files "stplugin.h" and
>> "stplugin.c" from:
>>
>> http://www.stata.com/plugins/
>>
>> I created a "hello.c" file which contains the example test code under
>> section 5 on that page, but I can't seem to figure out how to compile it
>> correctly.
>>
>> First, without -m64 it doesn't compile to the right ELF class. Second,
>> without -fPIC I get an error when linking the code, and with -fPIC it
>> compiles correctly but I get a "r(9998);" return code from Stata when trying
>> to execute it. The only thing I've found on the "r(9998);" error is this:
>>
>> http://www.stata.com/statalist/archive/2004-01/msg00650.html
>>
>> Which is a bit more information, but not quite correct for my purposes
>> since I'm not using that compiler, processor, or operating system.
>>
>> I've tried using Sun's compiler as well with the same results. Here's some
>> of the output of the compiler commands I've tried:
>>
>> $ gcc -shared -DSYSTEM=OPUNIX -m64 stplugin.c hello.c -o hello.plugin
>> Text relocation remains referenced
>> against symbol offset in file
>> .text (section) 0x20 /var/tmp//ccAjvMcv.o
>> .text (section) 0x20 /var/tmp//ccC7rr8G.o
>> _stata_ 0xf /var/tmp//ccAjvMcv.o
>> _stata_ 0x12 /var/tmp//ccC7rr8G.o
>> .rodata (section) 0x1a /var/tmp//ccC7rr8G.o
>> ld: fatal: relocations remain against allocatable but non-writable
>> sections
>> collect2: ld returned 1 exit status
>>
>>
>> $ gcc -shared -DSYSTEM=OPUNIX -m64 -fPIC stplugin.c hello.c -o
>> hello.plugin
>> $ stata-mp -q
>> . program hello, plugin
>> . hello
>> r(9998);
>>
>>
>> $ cc -shared -DSYSTEM=OPUNIX -m64 stplugin.c hello.c -o hello.plugin
>> $ stata-mp -q
>> . program hello, plugin
>> ld.so.1: stata-mp: fatal: relocation error: R_AMD64_32: file
>> ./hello.plugin: sy
>> > mbol _stata_: value 0xfffffb7ffedf0000 does not fit
>> Could not load plugin: ./hello.plugin
>> r(9999);
>>
>>
>> $ cc -shared -DSYSTEM=OPUNIX -m64 -KPIC stplugin.c hello.c -o hello.plugin
>> $ stata-mp -q
>> . program hello, plugin
>> . hello
>> r(9998);
>>
>>
>> The processors are four 8-core Intel Xeon X7560 2.27GHz CPUs. Stata is
>> registered for 32 cores.
>>
>> Some version info, though both compilers seem to be triggering the
>> "r(9998);" error so I'm not sure if this matters or not:
>>
>> $ gcc --version
>> gcc (GCC) 3.4.3 (csl-sol210-3_4-branch+sol_rpath)
>> Copyright (C) 2004 Free Software Foundation, Inc.
>> This is free software; see the source for copying conditions. There is NO
>> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
>> PURPOSE.
>>
>>
>> $ cc -V
>> cc: Sun C 5.11 SunOS_i386 2010/08/13
>> usage: cc [ options ] files. Use 'cc -flags' for details
>>
>>
>> Any help is appreciated, thanks!
>> -Brad
>> *
>> * For searches and help try:
>> * http://www.stata.com/help.cgi?search
>> * http://www.stata.com/support/faqs/resources/statalist-faq/
>> * http://www.ats.ucla.edu/stat/stata/
>
>
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/faqs/resources/statalist-faq/
* http://www.ats.ucla.edu/stat/stata/