[pgrouting-dev] Reg: Compile error in KSP with PostgreSQL 8.4

Manikanta Kondeti mani.iiit123 at gmail.com
Mon Jun 22 16:31:20 PDT 2015


I forgot to add the screenshot in the last mail.


On Tue, Jun 23, 2015 at 5:00 AM, Manikanta Kondeti <mani.iiit123 at gmail.com>
wrote:

>  I am on version 3.3.0-rc2. I've installed the latest verion yesterday.
>
> Adding that NO_DEFAULT_PATH sets NULL to POSTGRESQL_PG_CONFIG and gives an
> error. I've added the screenshot.
>
> Why is it working on your system and not working on mine if its the same
> code..? It should find that config path. So it may be NO_DEFAULT_PATH not
> present in the latest version, will check that out.
>
> - Mani
>
> On Tue, Jun 23, 2015 at 4:37 AM, Stephen Woodbridge <
> woodbri at swoodbridge.com> wrote:
>
>> On 6/22/2015 6:14 PM, Manikanta Kondeti wrote:
>>
>>> Steve,
>>>
>>> That's giving me an error. I understood the workflow, Here is the main
>>> thing that I've to look at :[line 36]  POSTGRESQL_PG_CONFIG =
>>> "/usr/bin/pg_config" and that is of version 8.4.22. From this the
>>>
>>
>> The point is that cmake is search the PATh variable and which is why it
>> is finding /usr/bin/pg_config instead of
>> /usr/lib/postgresql/9.1/bin/pg_config
>>
>> The point of NO_DEFAULT_PATH argument is to prevent it from search the
>> default paths and to only look at the ones you are specifying.
>>
>>  variable POSTGRESQL_VERSION_STRING is set which makes all the variables
>>> in CMakeLists.txt to 8.4. This makes the whole POSTGRESQL variables in
>>> CMakeLists.txt to 8.4. We can see that from cmake log.
>>>
>>> So if we can control this line 36 to the PG_VERSION we specify, then
>>> everything works fine. I will let you know if I got something
>>> interesting. I'd be highly thankful if you suggest something at this
>>> point.
>>>
>>
>> The code below works on my system. I'm using cmake version 2.8.12.2
>>
>> cmake --version
>>
>> I don't know when that variable was added, you probably have an older
>> version. ALSO, rm -rf build/* so you clean out the cmake cache. It didn't
>> work until I cleared it.
>>
>> -Steve
>>
>>  - Mani
>>>
>>> On Tue, Jun 23, 2015 at 3:16 AM, Stephen Woodbridge
>>> <woodbri at swoodbridge.com <mailto:woodbri at swoodbridge.com>> wrote:
>>>
>>>     Try changing it to this:
>>>
>>>     # Checking POSTGRESQL_PG_CONFIG
>>>          find_program(POSTGRESQL_PG_CONFIG NAMES pg_config
>>>              PATHS
>>>              /usr/lib/postgresql/${PG_VERSION}/bin/
>>>              NO_DEFAULT_PATH
>>>              )
>>>
>>>     also read this:
>>>
>>>     cmake --help-command FIND_PROGRAM
>>>
>>>     -Steve
>>>
>>>     On 6/22/2015 4:43 PM, Manikanta Kondeti wrote:
>>>
>>>         Steve,
>>>
>>>         Thanks for the steps. I am thinking in a  different method. I
>>> just
>>>         pushed a branch cmake-postgres. In File FindPostgreSQL.cmake on
>>>         line no:
>>>         19, PG_VERSION is a argument passed while running cmake. ( cmake
>>>         -DPG_VERSION=9.* ).
>>>
>>>         * Take an argument from  command line.
>>>         *  Modify the present FindPostgreSQL.cmake, build it until it is
>>>         working
>>>         properly.
>>>
>>>         I am stuck here at this point.  See line no:  43 (
>>>         COMMAND${POSTGRESQL_PG_CONFIG}--version)  this is giving 8.4 as
>>>         defaults. Therefore variables after this are set with 8.4, I
>>> need to
>>>         somehow understand and change it.
>>>
>>>         If you are free now we can discuss this.
>>>         - Mani
>>>
>>>         On Tue, Jun 23, 2015 at 1:18 AM, Stephen Woodbridge
>>>         <woodbri at swoodbridge.com <mailto:woodbri at swoodbridge.com>
>>>         <mailto:woodbri at swoodbridge.com
>>>         <mailto:woodbri at swoodbridge.com>>> wrote:
>>>
>>>              Mani wrote:
>>>
>>>                  I'm working on this already. Since this is my first
>>> time on
>>>                  cmake and
>>>                  dependencies I might need some help from you guys.
>>>
>>>                  I'll try my best to make it working.
>>>
>>>
>>>              Start with the message below and ask where you get stuck.
>>>         The steps are:
>>>
>>>              1. copy the FindPostgreSQL.cmake linked below to the
>>>         pgrouting/cmake
>>>
>>>              2. this will break the build stuff because this new script
>>> sets
>>>              different variables than the existing build expects.
>>>
>>>              3. sort this out and get it to build like it did before
>>>         using the
>>>              new script
>>>
>>>              4. when it is building like before, add the variable to set
>>> the
>>>              version in the commandline and and use that to set
>>>              PostgreSQL_ADDITIONAL_VERSIONS  and it should work.
>>>
>>>              Ask specific questions if you get stuck, check in your code
>>>         where I
>>>              can look at it.
>>>
>>>              There is a ticket for this:
>>>         https://github.com/pgRouting/pgrouting/issues/301
>>>
>>>              -Steve
>>>
>>>
>>>              On 6/22/2015 12:15 PM, Stephen Woodbridge wrote:
>>>
>>>                  Mani,
>>>
>>>                  You probably want to start with this version of
>>>         FindPostgreSQL.cmake
>>>
>>>
>>> https://github.com/Kitware/CMake/blob/master/Modules/FindPostgreSQL.cmake
>>>
>>>                    It lets you specify PostgreSQL_ADDITIONAL_VERSIONS
>>>         variable
>>>                  and if
>>>                  this is set to the version you want it will use this
>>>         version if
>>>                  found.
>>>
>>>                  I think that the return variables that this script sets
>>> are
>>>                  different
>>>                    from what we expect in pgrouting so you might need to
>>>         set the
>>>                  expected variables with the correct values also.
>>>
>>>                  So, I would replace the existing FindPostgreSQL.cmake
>>>         with this
>>>                  script and then try to make it work with the existing
>>>         build system,
>>>                  then look at reading a command line version and setting
>>>         the variable
>>>                  above before calling find postgresql.
>>>
>>>                  -Steve
>>>
>>>                  On 6/22/2015 11:50 AM, Manikanta Kondeti wrote:
>>>
>>>                      Hi Steve,
>>>
>>>                      I've tried my best to update
>>>         cmake/FindPostgreSQL.cmake  and
>>>                      CMakeLists.txt, but the build was not successful.
>>> I've
>>>                      changed all
>>>                      the POSTGRES variables to 9.4, cmake executed
>>>         properly, but
>>>                      while
>>>                      compiling(make) there is a error saying
>>>         "Postgres.h" not
>>>                      found. Can
>>>                      you share your CMakeLists.txt and
>>>                      cmake/FindPostgresql..cmake. I am
>>>                      on the version 9.4.
>>>
>>>                      I think this needs to be solved for the next
>>>         release. We need to
>>>                      the pass the postgresql version to build,  like the
>>>         option you
>>>                      said "DUSE_PG=9.x". But unfortunately it is not
>>> working
>>>                      right now.
>>>                      I'll try to read about cmake and see what I can do.
>>>         I will
>>>                      update
>>>                      you.
>>>
>>>                      Thank you, Mani
>>>
>>>                      On Mon, Jun 22, 2015 at 8:20 PM, Stephen Woodbridge
>>>                      <woodbri at swoodbridge.com
>>>         <mailto:woodbri at swoodbridge.com> <mailto:woodbri at swoodbridge.com
>>>         <mailto:woodbri at swoodbridge.com>>
>>>                      <mailto:woodbri at swoodbridge.com
>>>         <mailto:woodbri at swoodbridge.com>
>>>
>>>                      <mailto:woodbri at swoodbridge.com
>>>         <mailto:woodbri at swoodbridge.com>>>> wrote:
>>>
>>>                      On 6/22/2015 10:37 AM, Manikanta Kondeti wrote:
>>>
>>>                      Hi,
>>>
>>>                      I am facing an error while building from source.
>>>         This is that
>>>                      issue:
>>>         https://github.com/pgRouting/pgrouting/issues/109
>>>
>>>                      How to resolve that?  Changing Pg version to 9.1 in
>>>                      CMakeLists.txt
>>>                      is not working. I have 9.1 and 9.4 postgresql
>>> versions
>>>                      installed in
>>>                      my system. Help me out in resolving this.
>>>
>>>
>>>                      Mani,
>>>
>>>                      Sorry, the CMakeLists.txt files built for pgrouting
>>>         2.x were not
>>>                      designed for support multiple versions installed on
>>>         the same
>>>                      system. This is a problem for me because I have
>>>         9.2, 9.3,
>>>                      and 9.4
>>>                      installed and I can only build and install on 9.4.
>>>
>>>                      The solution id to update the CMakeLists.txt and
>>>         specifically
>>>                      cmake/FindPostgreSQL.cmake which so you can do
>>>         something like
>>>
>>>                      cd build cmake -DUSE_PG=9.x ..
>>>
>>>                      I took a quick look at doing this a while back but
>>>                      cmake/FindPostgreSQL.cmake needs to be replaced and
>>>         other
>>>                      changes
>>>                      are needed and I didn't have time to make the
>>>         changes and get it
>>>                      working.
>>>
>>>                      tools/test-runner.pl <http://test-runner.pl>
>>>         <http://test-runner.pl>
>>>                      <http://test-runner.pl> already support
>>>                      options for pg versions and ports so only the build
>>>         system is
>>>                      broken in this regard.
>>>
>>>                      If you want to read up on CMake and get this
>>>         working a pull
>>>                      request would be great!
>>>
>>>                      -Steve
>>>
>>>                      _______________________________________________
>>>         pgrouting-dev
>>>                      mailing list pgrouting-dev at lists.osgeo.org
>>>         <mailto:pgrouting-dev at lists.osgeo.org>
>>>                      <mailto:pgrouting-dev at lists.osgeo.org
>>>         <mailto:pgrouting-dev at lists.osgeo.org>>
>>>                      <mailto:pgrouting-dev at lists.osgeo.org
>>>         <mailto:pgrouting-dev at lists.osgeo.org>
>>>                      <mailto:pgrouting-dev at lists.osgeo.org
>>>         <mailto:pgrouting-dev at lists.osgeo.org>>>
>>>         http://lists.osgeo.org/mailman/listinfo/pgrouting-dev
>>>
>>>
>>>
>>>
>>>                      _______________________________________________
>>>         pgrouting-dev
>>>                      mailing list pgrouting-dev at lists.osgeo.org
>>>         <mailto:pgrouting-dev at lists.osgeo.org>
>>>                      <mailto:pgrouting-dev at lists.osgeo.org
>>>         <mailto:pgrouting-dev at lists.osgeo.org>>
>>>         http://lists.osgeo.org/mailman/listinfo/pgrouting-dev
>>>
>>>
>>>                  _______________________________________________
>>>         pgrouting-dev
>>>                  mailing
>>>                  list pgrouting-dev at lists.osgeo.org
>>>         <mailto:pgrouting-dev at lists.osgeo.org>
>>>                  <mailto:pgrouting-dev at lists.osgeo.org
>>>         <mailto:pgrouting-dev at lists.osgeo.org>>
>>>         http://lists.osgeo.org/mailman/listinfo/pgrouting-dev
>>>
>>>
>>>              _______________________________________________
>>>              pgrouting-dev mailing list
>>>         pgrouting-dev at lists.osgeo.org
>>>         <mailto:pgrouting-dev at lists.osgeo.org>
>>>         <mailto:pgrouting-dev at lists.osgeo.org
>>>         <mailto:pgrouting-dev at lists.osgeo.org>>
>>>         http://lists.osgeo.org/mailman/listinfo/pgrouting-dev
>>>
>>>
>>>
>>>
>>>         _______________________________________________
>>>         pgrouting-dev mailing list
>>>         pgrouting-dev at lists.osgeo.org <mailto:
>>> pgrouting-dev at lists.osgeo.org>
>>>         http://lists.osgeo.org/mailman/listinfo/pgrouting-dev
>>>
>>>
>>>     _______________________________________________
>>>     pgrouting-dev mailing list
>>>     pgrouting-dev at lists.osgeo.org <mailto:pgrouting-dev at lists.osgeo.org>
>>>     http://lists.osgeo.org/mailman/listinfo/pgrouting-dev
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> pgrouting-dev mailing list
>>> pgrouting-dev at lists.osgeo.org
>>> http://lists.osgeo.org/mailman/listinfo/pgrouting-dev
>>>
>>>
>> _______________________________________________
>> pgrouting-dev mailing list
>> pgrouting-dev at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/pgrouting-dev
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/pgrouting-dev/attachments/20150623/4f6581ad/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screen Shot 2015-06-23 at 4.55.38 AM.png
Type: image/png
Size: 33330 bytes
Desc: not available
URL: <http://lists.osgeo.org/pipermail/pgrouting-dev/attachments/20150623/4f6581ad/attachment-0001.png>


More information about the pgrouting-dev mailing list