[pgrouting-dev] Optimal Meeting Point (OMP)

Hello everyone,

I am following the Wiki to set up a development environment, but compiling pgRouting is becoming a bit of a saga. Right now I am stuck with cmake unable to find Boost:

CMake Error at /usr/share/cmake-2.8/Modules/FindBoost.cmake:1131 (message):
Unable to find the requested Boost libraries.

Boost version: 1.54.0

Boost include path: /usr/include

Could not find the following Boost libraries:

boost_thread
boost_system

No Boost libraries were found. You may need to set BOOST_LIBRARYDIR to the
directory containing Boost libraries or BOOST_ROOT to the location of
Boost.
Call Stack (most recent call first):
cmake/FindCGAL.cmake:42 (find_package)
CMakeLists.txt:303 (find_package)

I am on Ubuntu 14.04. A few outputs from my system:

$ dpkg -l | grep boost
ii libboost-date-time1.54.0:amd64 1.54.0-4ubuntu3.1 amd64 set of date-time libraries based on generic programming concepts
ii libboost-dev 1.54.0.1ubuntu1 amd64 Boost C++ Libraries development files (default version)
ii libboost-graph-dev:amd64 1.54.0.1ubuntu1 amd64 generic graph components and algorithms in C++ (default version)
ii libboost-graph1.54-dev:amd64 1.54.0-4ubuntu3.1 amd64 generic graph components and algorithms in C++
ii libboost-graph1.54.0:amd64 1.54.0-4ubuntu3.1 amd64 generic graph components and algorithms in C++
ii libboost-iostreams-dev:amd64 1.54.0.1ubuntu1 amd64 Boost.Iostreams Library development files (default version)
ii libboost-iostreams1.54-dev:amd64 1.54.0-4ubuntu3.1 amd64 Boost.Iostreams Library development files
ii libboost-iostreams1.54.0:amd64 1.54.0-4ubuntu3.1 amd64 Boost.Iostreams Library
ii libboost-regex1.54-dev:amd64 1.54.0-4ubuntu3.1 amd64 regular expression library for C++
ii libboost-regex1.54.0:amd64 1.54.0-4ubuntu3.1 amd64 regular expression library for C++
ii libboost-serialization1.54-dev:amd64 1.54.0-4ubuntu3.1 amd64 serialization library for C++
ii libboost-serialization1.54.0:amd64 1.54.0-4ubuntu3.1 amd64 serialization library for C++
ii libboost-system1.54.0:amd64 1.54.0-4ubuntu3.1 amd64 Operating system (e.g. diagnostics support) library
ii libboost-test1.54-dev:amd64 1.54.0-4ubuntu3.1 amd64 components for writing and executing test suites
ii libboost-test1.54.0:amd64 1.54.0-4ubuntu3.1 amd64 components for writing and executing test suites
ii libboost-thread1.46.1 1.46.1-7ubuntu3 amd64 portable C++ multi-threading
ii libboost1.54-dev 1.54.0-4ubuntu3.1 amd64 Boost C++ Libraries development files

$ locate boost_thread
/usr/lib/libboost_thread.so.1.46.1

$ locate boost_system
/usr/lib/x86_64-linux-gnu/libboost_system.so.1.54.0

$ whereis boost
boost: /usr/include/boost

$ cat /etc/environment | grep BOOST
BOOST_LIBRARYDIR=“/usr/lib/x86_64-linux-gnu/:/usr/lib/”
BOOST_ROOT=“/usr/include/boost”

Any ideas on why isn’t cmake finding Boost? Thank you,

Luís

Hi Louis,

A few weeks ago I wrote down this memo:
https://gist.github.com/dkastl/11376623

I don’t know it’s still working but it should. It contains all the packages you need to build pgRouting on Ubuntu 14.04

Let me know, if something doesn’t work anymore.

Daniel

···

On Thu, Jul 17, 2014 at 9:59 AM, Luís de Sousa <luis.a.de.sousa@gmail.com> wrote:

Hello everyone,

I am following the Wiki to set up a development environment, but compiling pgRouting is becoming a bit of a saga. Right now I am stuck with cmake unable to find Boost:

CMake Error at /usr/share/cmake-2.8/Modules/FindBoost.cmake:1131 (message):
Unable to find the requested Boost libraries.

Boost version: 1.54.0

Boost include path: /usr/include

Could not find the following Boost libraries:

boost_thread
boost_system

No Boost libraries were found. You may need to set BOOST_LIBRARYDIR to the
directory containing Boost libraries or BOOST_ROOT to the location of
Boost.
Call Stack (most recent call first):
cmake/FindCGAL.cmake:42 (find_package)
CMakeLists.txt:303 (find_package)

I am on Ubuntu 14.04. A few outputs from my system:

$ dpkg -l | grep boost
ii libboost-date-time1.54.0:amd64 1.54.0-4ubuntu3.1 amd64 set of date-time libraries based on generic programming concepts
ii libboost-dev 1.54.0.1ubuntu1 amd64 Boost C++ Libraries development files (default version)
ii libboost-graph-dev:amd64 1.54.0.1ubuntu1 amd64 generic graph components and algorithms in C++ (default version)
ii libboost-graph1.54-dev:amd64 1.54.0-4ubuntu3.1 amd64 generic graph components and algorithms in C++
ii libboost-graph1.54.0:amd64 1.54.0-4ubuntu3.1 amd64 generic graph components and algorithms in C++
ii libboost-iostreams-dev:amd64 1.54.0.1ubuntu1 amd64 Boost.Iostreams Library development files (default version)
ii libboost-iostreams1.54-dev:amd64 1.54.0-4ubuntu3.1 amd64 Boost.Iostreams Library development files
ii libboost-iostreams1.54.0:amd64 1.54.0-4ubuntu3.1 amd64 Boost.Iostreams Library
ii libboost-regex1.54-dev:amd64 1.54.0-4ubuntu3.1 amd64 regular expression library for C++
ii libboost-regex1.54.0:amd64 1.54.0-4ubuntu3.1 amd64 regular expression library for C++
ii libboost-serialization1.54-dev:amd64 1.54.0-4ubuntu3.1 amd64 serialization library for C++
ii libboost-serialization1.54.0:amd64 1.54.0-4ubuntu3.1 amd64 serialization library for C++
ii libboost-system1.54.0:amd64 1.54.0-4ubuntu3.1 amd64 Operating system (e.g. diagnostics support) library
ii libboost-test1.54-dev:amd64 1.54.0-4ubuntu3.1 amd64 components for writing and executing test suites
ii libboost-test1.54.0:amd64 1.54.0-4ubuntu3.1 amd64 components for writing and executing test suites
ii libboost-thread1.46.1 1.46.1-7ubuntu3 amd64 portable C++ multi-threading
ii libboost1.54-dev 1.54.0-4ubuntu3.1 amd64 Boost C++ Libraries development files

$ locate boost_thread
/usr/lib/libboost_thread.so.1.46.1

$ locate boost_system
/usr/lib/x86_64-linux-gnu/libboost_system.so.1.54.0

$ whereis boost
boost: /usr/include/boost

$ cat /etc/environment | grep BOOST
BOOST_LIBRARYDIR=“/usr/lib/x86_64-linux-gnu/:/usr/lib/”
BOOST_ROOT=“/usr/include/boost”

Any ideas on why isn’t cmake finding Boost? Thank you,

Luís


pgrouting-dev mailing list
pgrouting-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/pgrouting-dev

Georepublic UG & Georepublic Japan
eMail: daniel.kastl@georepublic.de
Web: http://georepublic.info

Thank you Daniel, it is compiling now. I was missing one of the boost dev libraries.

Cheers,

Luís

···

On 17 July 2014 11:09, Daniel Kastl <daniel@georepublic.de> wrote:

Hi Louis,

A few weeks ago I wrote down this memo:
https://gist.github.com/dkastl/11376623

I don’t know it’s still working but it should. It contains all the packages you need to build pgRouting on Ubuntu 14.04

Let me know, if something doesn’t work anymore.

Daniel


pgrouting-dev mailing list
pgrouting-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/pgrouting-dev

On Thu, Jul 17, 2014 at 9:59 AM, Luís de Sousa <luis.a.de.sousa@gmail.com> wrote:

Hello everyone,

I am following the Wiki to set up a development environment, but compiling pgRouting is becoming a bit of a saga. Right now I am stuck with cmake unable to find Boost:

CMake Error at /usr/share/cmake-2.8/Modules/FindBoost.cmake:1131 (message):
Unable to find the requested Boost libraries.

Boost version: 1.54.0

Boost include path: /usr/include

Could not find the following Boost libraries:

boost_thread
boost_system

No Boost libraries were found. You may need to set BOOST_LIBRARYDIR to the
directory containing Boost libraries or BOOST_ROOT to the location of
Boost.
Call Stack (most recent call first):
cmake/FindCGAL.cmake:42 (find_package)
CMakeLists.txt:303 (find_package)

I am on Ubuntu 14.04. A few outputs from my system:

$ dpkg -l | grep boost
ii libboost-date-time1.54.0:amd64 1.54.0-4ubuntu3.1 amd64 set of date-time libraries based on generic programming concepts
ii libboost-dev 1.54.0.1ubuntu1 amd64 Boost C++ Libraries development files (default version)
ii libboost-graph-dev:amd64 1.54.0.1ubuntu1 amd64 generic graph components and algorithms in C++ (default version)
ii libboost-graph1.54-dev:amd64 1.54.0-4ubuntu3.1 amd64 generic graph components and algorithms in C++
ii libboost-graph1.54.0:amd64 1.54.0-4ubuntu3.1 amd64 generic graph components and algorithms in C++
ii libboost-iostreams-dev:amd64 1.54.0.1ubuntu1 amd64 Boost.Iostreams Library development files (default version)
ii libboost-iostreams1.54-dev:amd64 1.54.0-4ubuntu3.1 amd64 Boost.Iostreams Library development files
ii libboost-iostreams1.54.0:amd64 1.54.0-4ubuntu3.1 amd64 Boost.Iostreams Library
ii libboost-regex1.54-dev:amd64 1.54.0-4ubuntu3.1 amd64 regular expression library for C++
ii libboost-regex1.54.0:amd64 1.54.0-4ubuntu3.1 amd64 regular expression library for C++
ii libboost-serialization1.54-dev:amd64 1.54.0-4ubuntu3.1 amd64 serialization library for C++
ii libboost-serialization1.54.0:amd64 1.54.0-4ubuntu3.1 amd64 serialization library for C++
ii libboost-system1.54.0:amd64 1.54.0-4ubuntu3.1 amd64 Operating system (e.g. diagnostics support) library
ii libboost-test1.54-dev:amd64 1.54.0-4ubuntu3.1 amd64 components for writing and executing test suites
ii libboost-test1.54.0:amd64 1.54.0-4ubuntu3.1 amd64 components for writing and executing test suites
ii libboost-thread1.46.1 1.46.1-7ubuntu3 amd64 portable C++ multi-threading
ii libboost1.54-dev 1.54.0-4ubuntu3.1 amd64 Boost C++ Libraries development files

$ locate boost_thread
/usr/lib/libboost_thread.so.1.46.1

$ locate boost_system
/usr/lib/x86_64-linux-gnu/libboost_system.so.1.54.0

$ whereis boost
boost: /usr/include/boost

$ cat /etc/environment | grep BOOST
BOOST_LIBRARYDIR=“/usr/lib/x86_64-linux-gnu/:/usr/lib/”
BOOST_ROOT=“/usr/include/boost”

Any ideas on why isn’t cmake finding Boost? Thank you,

Luís


pgrouting-dev mailing list
pgrouting-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/pgrouting-dev

Georepublic UG & Georepublic Japan
eMail: daniel.kastl@georepublic.de
Web: http://georepublic.info

Dear all,

I finally found the space to tackle the OMP algorithm. I have been
going through the code of existing modules and created a new one
called omp. For now I am focusing on the integration with postgres.

However, when I compile the skeleton of this module, it does not get
past types such as FuncCallContext or TupleDesc. Apparently, at
compile time the postgres header is not being linked. I never used
CMake before, thus I suspect I am doing something wrong (the
CMakeLists file is attached).

Any guidance on this would be appreciated.

Thank you,

Luís

CMakeLists.txt (129 Bytes)

On 10/27/2014 10:32 AM, Luís de Sousa wrote:

Dear all,

I finally found the space to tackle the OMP algorithm. I have been
going through the code of existing modules and created a new one
called omp. For now I am focusing on the integration with postgres.

However, when I compile the skeleton of this module, it does not get
past types such as FuncCallContext or TupleDesc. Apparently, at
compile time the postgres header is not being linked. I never used
CMake before, thus I suspect I am doing something wrong (the
CMakeLists file is attached).

Any guidance on this would be appreciated.

Luis,

You need to make sure you are your project into ALL the CMakeLists.txt files in the source tree. You should be able to copy files from another branch in the tree and edit them for your algorithm. Like at:

pgrouting/CMakeLists.txt -- search for apsp_johnson (2 places)
pgrouting/src/CMakeLists.txt -- search for apsp_johnson (1 place)
pgrouting/src/omp/CMakeLists.txt
pgrouting/src/omp/src/CMakeLists.txt
pgrouting/src/omp/sql/CMakeLists.txt
pgrouting/src/omp/doc/CMakeLists.txt -- this one is an empty file

For you C code, look at:
pgrouting/src/apsp_johnson/src/apsp_johnson.c

and make sure you have similar includes.

Let us know if this helps.

Hi Stephen, thank you for your reply.

I was missing the references to the new module in the main CMakeLists
file (at the root). I copied the instructions from the Johnson
algorithm as you suggested. Now I have an error message from CMake:

CMake Error at CMakeLists.txt:263 (add_library):
  Objects of target "omp" referenced but no such target exists.

There must be something else missing, but in the new omp folder
structure there seem to be all the required CMakeLists files. I
probably need to learn the basics on CMake; in the meanwhile, any
other suggestions are welcome.

Thank you,

Luís

Dear all,

After various unsuccessful attempts to fix CMake I am running out of
time to pursue this little project. By some reason the Postgres types
are not being included in the OMP source folder and the compilation
fails, even if directly including the Postgres dirs.

I am shelving OMP for the moment. If anyone wishes to give it a try
please use this repo and brach:

https://github.com/ldesousa/pgrouting/tree/develop-omp

Time permitting I will return to this in the second half of 2015.

Regards and merry Christmas,

Luís

On 29 October 2014 at 17:14, Luís de Sousa <luis.a.de.sousa@gmail.com> wrote:

Hi Stephen, thank you for your reply.

I was missing the references to the new module in the main CMakeLists
file (at the root). I copied the instructions from the Johnson
algorithm as you suggested. Now I have an error message from CMake:

CMake Error at CMakeLists.txt:263 (add_library):
  Objects of target "omp" referenced but no such target exists.

There must be something else missing, but in the new omp folder
structure there seem to be all the required CMakeLists files. I
probably need to learn the basics on CMake; in the meanwhile, any
other suggestions are welcome.

Thank you,

Luís

Hi Louis,

If the CMake issue is the only remaining issue, could you just create a ticket in the pgRouting issue tracker, that we don’t forget about OMP?

And maybe you can use the issue tracker of your fork to list all remaining issues before being able to merge OMP into pgRouting. This could be for example finishing the documentation and tests.

I think it’s an interesting contribution, so if possible I would like to have OMP part of pgRouting.

Best regards,
Daniel

···

On Thu, Dec 18, 2014 at 6:23 PM, Luís de Sousa <luis.a.de.sousa@gmail.com> wrote:

Dear all,

After various unsuccessful attempts to fix CMake I am running out of
time to pursue this little project. By some reason the Postgres types
are not being included in the OMP source folder and the compilation
fails, even if directly including the Postgres dirs.

I am shelving OMP for the moment. If anyone wishes to give it a try
please use this repo and brach:

https://github.com/ldesousa/pgrouting/tree/develop-omp

Time permitting I will return to this in the second half of 2015.

Regards and merry Christmas,

Luís

On 29 October 2014 at 17:14, Luís de Sousa <luis.a.de.sousa@gmail.com> wrote:

Hi Stephen, thank you for your reply.

I was missing the references to the new module in the main CMakeLists
file (at the root). I copied the instructions from the Johnson
algorithm as you suggested. Now I have an error message from CMake:

CMake Error at CMakeLists.txt:263 (add_library):
Objects of target “omp” referenced but no such target exists.

There must be something else missing, but in the new omp folder
structure there seem to be all the required CMakeLists files. I
probably need to learn the basics on CMake; in the meanwhile, any
other suggestions are welcome.

Thank you,

Luís


pgrouting-dev mailing list
pgrouting-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/pgrouting-dev

Georepublic UG & Georepublic Japan
eMail: daniel.kastl@georepublic.de
Web: http://georepublic.info

Hi all

I can see a use for the Optimal Meeting Point code as well

is there a copy of the code available or item about the algorithm selected?

Dave.

Hi Louis,

If the CMake issue is the only remaining issue, could you just create a
ticket in the pgRouting issue tracker, that we don't forget about OMP?

And maybe you can use the issue tracker of your fork to list all remaining
issues before being able to merge OMP into pgRouting. This could be for
example finishing the documentation and tests.

I think it's an interesting contribution, so if possible I would like to
have OMP part of pgRouting.

Best regards,
Daniel

On Thu, Dec 18, 2014 at 6:23 PM, Luís de Sousa
<luis.a.de.sousa@gmail.com>
wrote:

Dear all,

After various unsuccessful attempts to fix CMake I am running out of
time to pursue this little project. By some reason the Postgres types
are not being included in the OMP source folder and the compilation
fails, even if directly including the Postgres dirs.

I am shelving OMP for the moment. If anyone wishes to give it a try
please use this repo and brach:

https://github.com/ldesousa/pgrouting/tree/develop-omp

Time permitting I will return to this in the second half of 2015.

Regards and merry Christmas,

Luís

On 29 October 2014 at 17:14, Luís de Sousa <luis.a.de.sousa@gmail.com>
wrote:
> Hi Stephen, thank you for your reply.
>
> I was missing the references to the new module in the main CMakeLists
> file (at the root). I copied the instructions from the Johnson
> algorithm as you suggested. Now I have an error message from CMake:
>
> CMake Error at CMakeLists.txt:263 (add_library):
> Objects of target "omp" referenced but no such target exists.
>
> There must be something else missing, but in the new omp folder
> structure there seem to be all the required CMakeLists files. I
> probably need to learn the basics on CMake; in the meanwhile, any
> other suggestions are welcome.
>
> Thank you,
>
> Luís
_______________________________________________
pgrouting-dev mailing list
pgrouting-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/pgrouting-dev

--
Georepublic UG & Georepublic Japan
eMail: daniel.kastl@georepublic.de
Web: http://georepublic.info
_______________________________________________
pgrouting-dev mailing list
pgrouting-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/pgrouting-dev