[fdo-dev] fdo and fdocore

Mateusz Loskot mateusz at loskot.net
Fri Jul 7 16:40:18 EDT 2006


Hi Greg,

Greg Boone wrote:
> [GB] See inline...
> 
> -----Original Message-----
> From: Mateusz Loskot [mailto:mateusz at loskot.net] 
> Sent: Tuesday, July 04, 2006 8:05 PM
> To: dev at fdo.osgeo.org
> Subject: Re: [fdo-dev] fdo and fdocore
> 
> Hi Greg,
> 
> Greg Boone wrote:
>> Mateusz,
>>
>> You may also wish to read the OpenSourceBuild__README.txt file located
>> in the root of the fdocore Subversion. This file also contains some
>> information that may be useful in your efforts to build FDO and the
>> providers. 
> 
> Yes, I've read this file.
> 
>> While the fdocore.osgeo.org subproject contains source code for the FDO
>> API, the fdo[ProviderName].osgeo.org projects contain the source code
>> for each provider. The web sites for these projects contain minimal
>> documentation at this point and users are expected to gain access to
>> these subprojects primarily through the fdo.osgeo.org site. It is my
>> expectation that not users will be given access to all providers but
>> that access will be given on an as needed basis.
> 
> I understand.
> So, only developers, testers, contributors and involved users will
> have access to particular provider project.
> 
>> Each provider subproject is setup in a similar manner with the source
>> code being organized....
>>
>> Providers/
>> 	[ProviderName]/
>> 		Docs/
>> 		Inc/
>> 		Src/
>> 		TestData/
> 
> OK.
> 
>> The inclusion of Providers at the top of the source code tree was not
>> absolutely required but was done to maintain a visual link with the
>> source in fdocore and encourage the location of provider code in a
>> directory structure that intertwined with fdocore. In this manner the
>> fdocore build scripts can be used to build the providers as well. Using
>> the checkoutsvn script is an easy means of correctly setting up the
>> proper directory structure. 
> 
> 
> I understand.
> Good idea.
> Though, personally I checkout FDO projects to my own structure a bit
> different but it's not a problem as you explained in one of previous
> posts.
> 
>> For building purposes, each provider under .../Provides/[ProviderName]
>> has a separate configure build script and a version of build.bat and
>> build_linux.sh that is specific to that provider. These scripts can be
>> called directly. If these scripts are called directly, ensure that the
>> following environment variables are set as outlined in the fdocore
>> setenvironment script:
>>
>> 	$FDO
>> 	$FDOUTILITES
>> 	$FDOTHIRDPARTY
> 
> I understand.
> Here I'd like to ask additional question.
> As I understand, building any of the fdo[ProviderName] projects require
> to have complete source tree of the fdocore.
> And if I have built fdocore separately and I have fdocore
> libs and headers installed it's still not enough to build provider,
> the whole fdocore tree is required.
> And those variables listed above should point to locations in the
> fdocore tree.
> Am I right?
> 
> [GB] Yes. This is correct.
> 
> Is there a plan to change it? To enable builing providers with fdocore
> installed only?
> 
> [GB] No, not at this time


I understand it.


>> Regarding the unit tests, the tests located in .../Fdo/UnitTest have
>> been developed exclusively for the FDO API. These tests do not apply to
>> providers. 
> 
> OK.
> I tried to run the UnitTest but it failed.
> Here is the last message:
> 
> F.........................................
> UnitTestUtil.cpp:47:Assertion
> Test name: 7XmlTest.testXsl
> �p���y�p���z�p���<���(�p����l����p���C�(�p���r�z�(2
> 
> 
> Failures !!!
> Run: 99   Failure total: 1   Failures: 1   Errors: 0
> 
> 
> Note, the strange characters above, something like binary output.
> 
> Do I need to do any configuration for the UnitTest?
> 
> [GB] So, only 1 test failed? No setup should be required.
>      I will retry the unit tests and see if I can reproduce.


Now, we're taking ~2 weeks break from FDO projects, but when I am
back to it near the end of the July, I'll do deeper tests and provide
some feedback.


>> If test data is required for the unit tests to run, the test data will
>> be located under .../Providers/[ProviderName]/TestData. The test data
>> for the GDAL provider are located under .../Providers/GDAL/TestData.
> 
> I see.
> What about environment configuration?
> Anything should be set?
> 
> [GB] No, I do not believe so.


OK


>> For Linux, ensure that make install is run for the provider you are
>> testing so that all binaries are installed in the default install
>> directory /usr/local/fdo-3.2.0/lib.
> 
> Does it mean I should not use custom installation prefix?
> 
> [GB] We have not tested with this option so I would defer using it at this time.


OK, it's clear now.


> Also, is this required to install providers under the same prefix as
> fdocore?
> 
> [GB] Yes.


Hmm, that may be the reason. I installed fdogdal to different prefix
than /usr/local/fdo-3.2.0


> Last questions I have are about directories naming convention used in SVN.
> As I see, in the old fdo sources tree are use lower-case names.
> In the new fdocore tree all directories are named with first letter
> upper case. Is this intentional convention?
> 
> [GB] Yes, Our convention has *primarily* changed to camel case directory names 


I see.


> On Windows, names case does not matter but on Unix some unification
> would be helpful.
> In example, if on Windows someone on write
> 
> #include <fdo/raster/myfile.h>
> 
> but the path is Fdo/Raster/MyFile.h
> then it won't compile on case sensitive systems.
> 
> So, please tell me what is the dirs naming standard to follow.
> 
> [GB] The convention is to *generally* use camel case directory and file names.

OK, now it's clear.

Greg, thank you for your great support.

Cheers
-- 
Mateusz Loskot
http://mateusz.loskot.net




More information about the Fdo-internals mailing list