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

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


 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/17b777b1/attachment-0001.html>


More information about the pgrouting-dev mailing list