As a first step, I copied the folder DriverSkeleton to
"../connectivity/drivers/" .I created .xcu and .xml files.To run dmake I
must have makefile.mk in my driver folder. So, I checked a makefile.mk in
calc folder and made same for DriverSkeleton driver. Also, I copied
exports.dxp and .map files from calc to DriverSkeleton.
Finally, my DriverSkeleton folder contains following files--

[root@localhost drivers]# cd DriverSkeleton/
[root@localhost DriverSkeleton]# ls
DriverSkeleton.map              Makefile
propertyids.hxx                    SDriver.cxx
SResultSet.hxx                    SStatement.hxx
DriverSkeleton.xcu               makefile.mk
SConnection.cxx                  SDriver.hxx
SResultSetMetaData.cxx      DriverSkeleton.xml
OSubComponent.hxx            SConnection.hxx
SPreparedStatement.cxx      SResultSetMetaData.hxx
exports.dxp                          OTypeInfo.hxx
SDatabaseMetaData.cxx       SPreparedStatement.hxx
SServices.cxx                      How_to_write_my_own_driver.txt
propertyids.cxx                     SDatabaseMetaData.hxx
SResultSet.cxx                     SStatement.cxx

After running dmake in the same folder it give me the following output--

../../../unxlngi6.pro/slo/SResultSet.o: In function
`connectivity::skeleton::OResultSet::createArrayHelper() const':
SResultSet.cxx:(.text+0x439): undefined reference to
`connectivity::skeleton::OPropertyMap::getNameByIndex(long) const'
SResultSet.cxx:(.text+0x49d): undefined reference to
`connectivity::skeleton::OPropertyMap::getNameByIndex(long) const'
SResultSet.cxx:(.text+0x501): undefined reference to
`connectivity::skeleton::OPropertyMap::getNameByIndex(long) const'
SResultSet.cxx:(.text+0x55f): undefined reference to
`connectivity::skeleton::OPropertyMap::getNameByIndex(long) const'
SResultSet.cxx:(.text+0x5c3): undefined reference to
`connectivity::skeleton::OPropertyMap::getNameByIndex(long) const'
../../../unxlngi6.pro/slo/SResultSet.o:SResultSet.cxx:(.text+0x627): more
undefined references to
`connectivity::skeleton::OPropertyMap::getNameByIndex(long) const' follow
../../../unxlngi6.pro/slo/SResultSet.o: In function
`connectivity::skeleton::OResultSet::getMetaData()':
SResultSet.cxx:(.text+0x1f9f): undefined reference to `vtable for
connectivity::skeleton::OResultSetMetaData'
../../../unxlngi6.pro/slo/SResultSet.o: In function
`connectivity::skeleton::OPropertyMap::getPropMap()':
SResultSet.cxx:(.text._ZN12connectivity8skeleton12OPropertyMap10getPropMapEv[connectivity::skeleton::OPropertyMap::getPropMap()]+0x9b):
undefined reference to
`connectivity::skeleton::OPropertyMap::~OPropertyMap()'
../../../unxlngi6.pro/slo/SStatement.o: In function
`connectivity::skeleton::OStatement_Base::createArrayHelper() const':
SStatement.cxx:(.text+0x58d): undefined reference to
`connectivity::skeleton::OPropertyMap::getNameByIndex(long) const'
SStatement.cxx:(.text+0x5f1): undefined reference to
`connectivity::skeleton::OPropertyMap::getNameByIndex(long) const'
SStatement.cxx:(.text+0x658): undefined reference to
`connectivity::skeleton::OPropertyMap::getNameByIndex(long) const'
SStatement.cxx:(.text+0x6bf): undefined reference to
`connectivity::skeleton::OPropertyMap::getNameByIndex(long) const'
SStatement.cxx:(.text+0x726): undefined reference to
`connectivity::skeleton::OPropertyMap::getNameByIndex(long) const'
../../../unxlngi6.pro/slo/SStatement.o:SStatement.cxx:(.text+0x78d): more
undefined references to
`connectivity::skeleton::OPropertyMap::getNameByIndex(long) const' follow
../../../unxlngi6.pro/slo/SPreparedStatement.o: In function
`connectivity::skeleton::OPreparedStatement::getMetaData()':
SPreparedStatement.cxx:(.text+0xc05): undefined reference to `vtable for
connectivity::skeleton::OResultSetMetaData'
collect2: ld returned 1 exit status
dmake:  Error code 1, while making '../../../
unxlngi6.pro/lib/libDriverSkeletonli.so'

I am building the Skeleton Driver and I dont know how to solve this problem.
Could you please help to solve this problem? Am I doing anything wrong ?

Thanks,
Rohit
On Fri, Mar 11, 2011 at 11:35 AM, Ocke Janssen <ocke.jans...@oracle.com>wrote:

> Hi Rohit,
>
>
> On 10.03.2011 16:58, Rohit Kulkarni wrote:
>
>> Hi,
>>
>> Thanks for your reply. I really appreciate the help.
>>
>> I could find the skeleton files at the location you have
>> mentioned. Currently we are planning to develop the SDBC driver which
>> will not be an extension. So, we will have to build the skeleton driver
>> first, get it in the list of available drivers and then make it work for
>> LDAP.
>>
>> Could you please elaborate the point where you mentioned to search
>> for macab key on the website?
>> How does the open office dmake understand that it has to build this new
>> driver?
>>
> I guess you place your driver in connectivity. So in that module you find a
> file named prj/build.lst that is read when call the "build" command. But for
> the start you could simply go in your folder and call dmake. Each driver has
> a xcu file which must be "deliver"ed. Which files are needed to copy/deliver
> is defined in prj/d.lst
> So when you have built your driver with dmake you must call deliver.
> After that go to the module scp2 and call "build" and deliver again.
> Then you have to build the module instsetoo_native and voila your OOo ist
> to install.
> Below follows a simple list of todo's:
> 1. Create the driver files (Driver,Connection,Statement,ResultSet,...)
> 2. Create the xcu and xml file, take a look at the other drivers for
> inspiration ;-)
> 3. dmake
> 4. Adjust d.lst to fit your new driver
> 5. deliver
> 6. Search for the word macab or jdbc in the module scp2 and create the same
> for your new driver
> 7. build
> 8. deliver
> 9. go to instsetoo_native and build
> 10. Install your new OOo and enjoy your new driver.
> 11. Debug issues ;-)
>
> - oj
>
>
>
>> Thanks,
>> Rohit
>>
>> On Thu, Mar 10, 2011 at 12:38 PM, Ocke Janssen <ocke.jans...@oracle.com
>> <mailto:ocke.jans...@oracle.com>> wrote:
>>
>>    Hi Rohit,
>>
>>    First of all you have to decide if the driver should be an extension
>>    or not. I would first try it as extension because you could look at
>>    the mysql driver.
>>
>>    Not an extension:
>>    The best and easiest way to start I guess is to simply copy the
>>    skeleton files in a folder beside the other database drivers in
>>    connectivity. Further on you should copy e.g. the macab.xml and
>>    macab.xcu file and rename it to your driver in the same directory.
>>    Search with opengrok http://svn.services.openoffice.org/opengrok/
>>    the macab key inside the other projects e.g. scp2 to include the
>>    files into the OOo installation. Build OOo.
>>
>>    As extension:
>>    Here the best way is to look at the mysqlc/source where the mysql
>>    extension is build and copy the files you need to build the oxt. But
>>    please be aware to replace all occurrences of mysql with your name ;-)
>>
>>
>>    Best regards,
>>
>>    Ocke
>>
>>
>>    On 09.03.2011 19:21, Ocke Janssen wrote:
>>
>>        Hi,
>>
>>        The driver can be found here
>>        ooo\odk\examples\DevelopersGuide\Database\DriverSkeleton
>>
>>        - oj
>>
>>        PS: I'll write more tomorrow. ;-)
>>
>>        On 09.03.2011 16:37, Rohit Kulkarni wrote:
>>
>>            Currently I am writing an SDBC driver for LDAP directories. I
>> am
>>            following the guidelines given at
>>
>> http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/Database/SDBC_Driver
>>
>>            This includes writing Driver, connection, statement and
>>            resultset
>>            services.
>>
>>            I want to compile the skeleton driver code and have an entry
>>            in the list
>>            of available drivers. This driver will be a pseudo driver
>>            and will not
>>            have any functionality. This will help in developing the
>>            actual driver.
>>
>>            I am not able to find skeleton driver related source files.
>>            I could
>>            locate a folder named skeleton in
>>            "/OOO320_m19/connectivity/workben/skeleton" but could not
>>            find actual
>>            source files.
>>
>>            Could anyone please give me any pointers regarding
>>
>>            1. Where can I find the source files for the skeleton driver?
>>            2. How to build a skeleton driver?
>>            3. How to make an entry in available drivers list?
>>
>>            Thanks for your time. I really appreciate the help.
>>
>>            Regards,
>>            Rohit
>>
>>
>>        --
>>        -----------------------------------------------------------------
>>        To unsubscribe send email to dev-unsubscr...@dba.openoffice.org
>>        <mailto:dev-unsubscr...@dba.openoffice.org>
>>
>>        For additional commands send email to sy...@dba.openoffice.org
>>        <mailto:sy...@dba.openoffice.org>
>>
>>        with Subject: help
>>
>>
>>    --
>>    -----------------------------------------------------------------
>>    To unsubscribe send email to dev-unsubscr...@dba.openoffice.org
>>    <mailto:dev-unsubscr...@dba.openoffice.org>
>>
>>    For additional commands send email to sy...@dba.openoffice.org
>>    <mailto:sy...@dba.openoffice.org>
>>    with Subject: help
>>
>>
>>
> --
> -----------------------------------------------------------------
> To unsubscribe send email to dev-unsubscr...@dba.openoffice.org
> For additional commands send email to sy...@dba.openoffice.org
> with Subject: help
>
--
-----------------------------------------------------------------
To unsubscribe send email to dev-unsubscr...@dba.openoffice.org
For additional commands send email to sy...@dba.openoffice.org
with Subject: help

Reply via email to