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