[pgrouting-dev] Reg: Compile error in KSP with PostgreSQL 8.4
Stephen Woodbridge
woodbri at swoodbridge.com
Mon Jun 22 19:43:19 PDT 2015
Mani,
do you have the file: /usr/lib/postgresql/9.1/bin/pg_config on you
system? If not then you probably need to install the
postgresql-server-dev-9.1 package.
did you read "cmake --help find_program" and try other variables?
since we built and only tested on cmake 2.8 you are pretty much on your
own as I don't have cmake 3.3 installed and probably will not install it
unless we need to change the dependencies for some reason because it is
not available on Ubuntu 14.04 LTS
-Steve
On 6/22/2015 7:30 PM, Manikanta Kondeti 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 <mailto: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>
> <mailto: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>>
> <mailto: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>>>
> <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
> <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>
> <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>>>
> <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
> <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>>
> <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>>
> <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>>
> <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>
> 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
>
More information about the pgrouting-dev
mailing list