[pgrouting-dev] Issue with compiling 64-bit under mingw64
Paragon Corporation
lr at pcorp.us
Sun Apr 7 23:53:07 PDT 2013
Not off hand. I can look again and rebuild. When I pulled that was the
latest without jumping into 4.6 GCC. With 4.6 GCC I had major issues with
dealing with C++ code (particularly Geos) with it randomly crashing so
avoided it like the plague.
I thought both my ming32 and ming64 are running the same prerelease versions
though
My ming64 compiles fine by taking out the
-DWITH_TSP=ON
But then it doesn't regress because the create extension seems to load tsp
functions.
I'll have to double-check my ming32, but as I recall if I take out the
-DWITH_TSP it also fails the tests because its missing the tsp dll.
Thanks,
Regina
-----Original Message-----
From: pgrouting-dev-bounces at lists.osgeo.org
[mailto:pgrouting-dev-bounces at lists.osgeo.org] On Behalf Of Stephen
Woodbridge
Sent: Sunday, April 07, 2013 8:51 PM
To: pgrouting-dev at lists.osgeo.org
Subject: Re: [pgrouting-dev] Issue with compiling 64-bit under mingw64
Regina,
I just noticed that:
woodbri at imaptools /C/ming64/projects/pgrouting/build/src/tsp/src
$ gcc --version
gcc.exe (GCC) 4.5.4 20111030 (prerelease) [svn/rev.180676 - mingw-w64/oz]
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
our version of the gcc is a prerelease, do you know if there is a new
version that might be better? I looked at the sourceforge but it has a mess
of versions and I think it better is we stay in sync with one another.
-Steve
On 4/7/2013 8:19 PM, Stephen Woodbridge wrote:
> Ok, I just got back and I have the same problem on 64bit now that I
> have a system to check it on.
>
> -DWITH_TSP=ON should not be included any more. I may have forgotten
> to take it out of makepgroutingw64.sh
>
> After looking at the compile error on 64 bit for 6 hours, I'm either
> totally missing something obvious or this is looking like GNU compiler
bug.
>
> If you run the tools/makepgroutingw64.sh and then after it bombs:
>
> cd build
> make VERBOSE=1
>
> and this will should you something like:
>
> ...
> Scanning dependencies of target routing_tsp [ 66%] Building C object
> src/tsp/src/CMakeFiles/routing_tsp.dir/tsp.c.obj
> [ 73%] Building C object
> src/tsp/src/CMakeFiles/routing_tsp.dir/tsplib.c.obj
> c:/ming64/projects/pgrouting/src/tsp/src/tsplib.c: In function
> 'findEulerianPath':
> c:/ming64/projects/pgrouting/src/tsp/src/tsplib.c:183:14: error: 'ERROR'
> undeclared (first use in this function)
> c:/ming64/projects/pgrouting/src/tsp/src/tsplib.c:183:14: note: each
> undeclared identifier is reported only once for each function it
> appears in
> c:/ming64/projects/pgrouting/src/tsp/src/tsplib.c: In function
> 'find_tsp_solution':
> c:/ming64/projects/pgrouting/src/tsp/src/tsplib.c:446:18: error: 'FATAL'
> undeclared (first use in this function)
> make[2]: *** [src/tsp/src/CMakeFiles/routing_tsp.dir/tsplib.c.obj]
> Error 1
> make[1]: *** [src/tsp/src/CMakeFiles/routing_tsp.dir/all] Error 2
> make: *** [all] Error 2
>
> woodbri at imaptools /c/ming64/projects/pgrouting $ cd build
>
> woodbri at imaptools /c/ming64/projects/pgrouting/build
> $ make VERBOSE=1
> /C/ming64/msys/bin/cmake.exe -H/C/ming64/projects/pgrouting
> -B/C/ming64/projects/pgrouting/build --check-build-system
> CMakeFiles/Makefile.cmake 0 /C/ming64/msys/bin/cmake.exe -E
> cmake_progress_start /C/ming64/projects/pgrouting/build/CMakeFiles
> /C/ming64/projects/pgrouting/build/CMakeFiles/progress.marks
> make -f CMakeFiles/Makefile2 all
> make[1]: Entering directory `/c/ming64/projects/pgrouting/build'
> make -f src/shooting_star/src/CMakeFiles/shooting_star.dir/build.make
> src/shooting_star/src/CMakeFiles/shooting_star.dir/depend
> make[2]: Entering directory `/c/ming64/projects/pgrouting/build'
> /C/ming64/msys/bin/cmake.exe -E cmake_depends "MSYS Makefiles"
> /C/ming64/projects/pgrouting
> /C/ming64/projects/pgrouting/src/shooting_star/src
> /C/ming64/projects/pgrouting/build
> /C/ming64/projects/pgrouting/build/src/shooting_star/src
> /C/ming64/projects/pgrouting/build/src/shooting_star/src/CMakeFiles/sh
> ooting_star.dir/DependInfo.cmake
> --color=
> make[2]: Leaving directory `/c/ming64/projects/pgrouting/build'
> make -f src/shooting_star/src/CMakeFiles/shooting_star.dir/build.make
> src/shooting_star/src/CMakeFiles/shooting_star.dir/build
> make[2]: Entering directory `/c/ming64/projects/pgrouting/build'
> make[2]: Nothing to be done for
> `src/shooting_star/src/CMakeFiles/shooting_star.dir/build'.
> make[2]: Leaving directory `/c/ming64/projects/pgrouting/build'
> /C/ming64/msys/bin/cmake.exe -E cmake_progress_report
> /C/ming64/projects/pgrouting/build/CMakeFiles 11 12 [ 13%] Built
> target shooting_star make -f
> src/trsp/src/CMakeFiles/trsp.dir/build.make
> src/trsp/src/CMakeFiles/trsp.dir/depend
> make[2]: Entering directory `/c/ming64/projects/pgrouting/build'
> /C/ming64/msys/bin/cmake.exe -E cmake_depends "MSYS Makefiles"
> /C/ming64/projects/pgrouting /C/ming64/projects/pgrouting/src/trsp/src
> /C/ming64/projects/pgrouting/build
> /C/ming64/projects/pgrouting/build/src/trsp/src
> /C/ming64/projects/pgrouting/build/src/trsp/src/CMakeFiles/trsp.dir/De
> pendInfo.cmake
> --color=
> make[2]: Leaving directory `/c/ming64/projects/pgrouting/build'
> make -f src/trsp/src/CMakeFiles/trsp.dir/build.make
> src/trsp/src/CMakeFiles/trsp.dir/build
> make[2]: Entering directory `/c/ming64/projects/pgrouting/build'
> make[2]: Nothing to be done for `src/trsp/src/CMakeFiles/trsp.dir/build'.
> make[2]: Leaving directory `/c/ming64/projects/pgrouting/build'
> /C/ming64/msys/bin/cmake.exe -E cmake_progress_report
> /C/ming64/projects/pgrouting/build/CMakeFiles 13 14 15 [ 33%] Built
> target trsp make -f src/astar/src/CMakeFiles/astar.dir/build.make
> src/astar/src/CMakeFiles/astar.dir/depend
> make[2]: Entering directory `/c/ming64/projects/pgrouting/build'
> /C/ming64/msys/bin/cmake.exe -E cmake_depends "MSYS Makefiles"
> /C/ming64/projects/pgrouting
> /C/ming64/projects/pgrouting/src/astar/src
> /C/ming64/projects/pgrouting/build
> /C/ming64/projects/pgrouting/build/src/astar/src
> /C/ming64/projects/pgrouting/build/src/astar/src/CMakeFiles/astar.dir/
> DependInfo.cmake
> --color=
> make[2]: Leaving directory `/c/ming64/projects/pgrouting/build'
> make -f src/astar/src/CMakeFiles/astar.dir/build.make
> src/astar/src/CMakeFiles/astar.dir/build
> make[2]: Entering directory `/c/ming64/projects/pgrouting/build'
> make[2]: Nothing to be done for
`src/astar/src/CMakeFiles/astar.dir/build'.
> make[2]: Leaving directory `/c/ming64/projects/pgrouting/build'
> /C/ming64/msys/bin/cmake.exe -E cmake_progress_report
> /C/ming64/projects/pgrouting/build/CMakeFiles 1 2 [ 46%] Built target
> astar make -f src/dijkstra/src/CMakeFiles/dijkstra.dir/build.make
> src/dijkstra/src/CMakeFiles/dijkstra.dir/depend
> make[2]: Entering directory `/c/ming64/projects/pgrouting/build'
> /C/ming64/msys/bin/cmake.exe -E cmake_depends "MSYS Makefiles"
> /C/ming64/projects/pgrouting
> /C/ming64/projects/pgrouting/src/dijkstra/src
> /C/ming64/projects/pgrouting/build
> /C/ming64/projects/pgrouting/build/src/dijkstra/src
> /C/ming64/projects/pgrouting/build/src/dijkstra/src/CMakeFiles/dijkstr
> a.dir/DependInfo.cmake
> --color=
> make[2]: Leaving directory `/c/ming64/projects/pgrouting/build'
> make -f src/dijkstra/src/CMakeFiles/dijkstra.dir/build.make
> src/dijkstra/src/CMakeFiles/dijkstra.dir/build
> make[2]: Entering directory `/c/ming64/projects/pgrouting/build'
> make[2]: Nothing to be done for
> `src/dijkstra/src/CMakeFiles/dijkstra.dir/build'.
> make[2]: Leaving directory `/c/ming64/projects/pgrouting/build'
> /C/ming64/msys/bin/cmake.exe -E cmake_progress_report
> /C/ming64/projects/pgrouting/build/CMakeFiles 3 4 [ 60%] Built target
> dijkstra make -f CMakeFiles/routing.dir/build.make
> CMakeFiles/routing.dir/depend
> make[2]: Entering directory `/c/ming64/projects/pgrouting/build'
> /C/ming64/msys/bin/cmake.exe -E cmake_depends "MSYS Makefiles"
> /C/ming64/projects/pgrouting /C/ming64/projects/pgrouting
> /C/ming64/projects/pgrouting/build /C/ming64/projects/pgrouting/build
> /C/ming64/projects/pgrouting/build/CMakeFiles/routing.dir/DependInfo.c
> make
> --color=
> make[2]: Leaving directory `/c/ming64/projects/pgrouting/build'
> make -f CMakeFiles/routing.dir/build.make CMakeFiles/routing.dir/build
> make[2]: Entering directory `/c/ming64/projects/pgrouting/build'
> make[2]: Nothing to be done for `CMakeFiles/routing.dir/build'.
> make[2]: Leaving directory `/c/ming64/projects/pgrouting/build'
> /C/ming64/msys/bin/cmake.exe -E cmake_progress_report
> /C/ming64/projects/pgrouting/build/CMakeFiles
> [ 60%] Built target routing
> make -f src/tsp/src/CMakeFiles/routing_tsp.dir/build.make
> src/tsp/src/CMakeFiles/routing_tsp.dir/depend
> make[2]: Entering directory `/c/ming64/projects/pgrouting/build'
> /C/ming64/msys/bin/cmake.exe -E cmake_depends "MSYS Makefiles"
> /C/ming64/projects/pgrouting /C/ming64/projects/pgrouting/src/tsp/src
> /C/ming64/projects/pgrouting/build
> /C/ming64/projects/pgrouting/build/src/tsp/src
> /C/ming64/projects/pgrouting/build/src/tsp/src/CMakeFiles/routing_tsp.
> dir/DependInfo.cmake
> --color=
> make[2]: Leaving directory `/c/ming64/projects/pgrouting/build'
> make -f src/tsp/src/CMakeFiles/routing_tsp.dir/build.make
> src/tsp/src/CMakeFiles/routing_tsp.dir/build
> make[2]: Entering directory `/c/ming64/projects/pgrouting/build'
> /C/ming64/msys/bin/cmake.exe -E cmake_progress_report
> /C/ming64/projects/pgrouting/build/CMakeFiles 10 [ 66%] Building C
> object src/tsp/src/CMakeFiles/routing_tsp.dir/tsplib.c.obj
> cd /C/ming64/projects/pgrouting/build/src/tsp/src &&
> /c/ming64/mingw64/bin/gcc.exe -Drouting_tsp_EXPORTS -O2 -g
> -frounding-math @CMakeFiles/routing_tsp.dir/includes_C.rsp -o
> CMakeFiles/routing_tsp.dir/tsplib.c.obj -c
> /C/ming64/projects/pgrouting/src/tsp/src/tsplib.c
> c:/ming64/projects/pgrouting/src/tsp/src/tsplib.c: In function
> 'findEulerianPath':
> c:/ming64/projects/pgrouting/src/tsp/src/tsplib.c:183:14: error: 'ERROR'
> undeclared (first use in this function)
> c:/ming64/projects/pgrouting/src/tsp/src/tsplib.c:183:14: note: each
> undeclared identifier is reported only once for each function it
> appears in
> c:/ming64/projects/pgrouting/src/tsp/src/tsplib.c: In function
> 'find_tsp_solution':
> c:/ming64/projects/pgrouting/src/tsp/src/tsplib.c:446:18: error: 'FATAL'
> undeclared (first use in this function)
> make[2]: *** [src/tsp/src/CMakeFiles/routing_tsp.dir/tsplib.c.obj]
> Error 1
> make[2]: Leaving directory `/c/ming64/projects/pgrouting/build'
> make[1]: *** [src/tsp/src/CMakeFiles/routing_tsp.dir/all] Error 2
> make[1]: Leaving directory `/c/ming64/projects/pgrouting/build'
> make: *** [all] Error 2
>
> So if I look at the commands that are getting executed you will notice
> above on the gcc.exe there is:
>
> @CMakeFiles/routing_tsp.dir/includes_C.rsp
>
> This appears to be a way to include command line options from a file.
> So I just copied the options from the file to the commandline in the
> next
> command:
>
> woodbri at imaptools /c/ming64/projects/pgrouting/build
> $ cd /C/ming64/projects/pgrouting/build/src/tsp/src
>
> woodbri at imaptools /C/ming64/projects/pgrouting/build/src/tsp/src
> $ /c/ming64/mingw64/bin/gcc.exe -Drouting_tsp_EXPORTS -O2 -g
> -frounding-math
> -Ic:/ming64/projects/pgx64/pg92/include/postgresql/server
> -IC:/ming64/projects/pgrouting/src/astar/src
> -IC:/ming64/projects/pgrouting/src/dijkstra/src
> -IC:/ming64/projects/pgrouting/src/shooting_star/src
> -IC:/ming64/projects/pgrouting/src/tsp/src
> -IC:/ming64/projects/pgrouting/src/driving_distance/src
> -IC:/ming64/projects/pgrouting/src/trsp/src
> -Ic:/ming64/msys/local/include/boost-1_46_1
> -Ic:/ming64/projects/pgx64/pg92/include/postgresql/server/port/win32 -o
> CMakeFiles/routing_tsp.dir/tsplib.c.obj -c
> /C/ming64/projects/pgrouting/src/tsp/src/tsplib.c
> c:/ming64/projects/pgrouting/src/tsp/src/tsplib.c: In function
> 'findEulerianPath':
> c:/ming64/projects/pgrouting/src/tsp/src/tsplib.c:183:14: error: 'ERROR'
> undeclared (first use in this function)
> c:/ming64/projects/pgrouting/src/tsp/src/tsplib.c:183:14: note: each
> undeclared identifier is reported only once for each function it
> appears in
> c:/ming64/projects/pgrouting/src/tsp/src/tsplib.c: In function
> 'find_tsp_solution':
> c:/ming64/projects/pgrouting/src/tsp/src/tsplib.c:446:18: error: 'FATAL'
> undeclared (first use in this function)
>
> And tried to convert the "C:" to "/c" in this command:
>
> woodbri at imaptools /C/ming64/projects/pgrouting/build/src/tsp/src
> $ /c/ming64/mingw64/bin/gcc.exe -Drouting_tsp_EXPORTS -O2 -g
> -frounding-math
> -I/c/ming64/projects/pgx64/pg92/include/postgresql/server
> -I/c/ming64/projects/pgrouting/src/astar/src
> -I/c/ming64/projects/pgrouting/src/dijkstra/src
> -I/c/ming64/projects/pgrouting/src/shooting_star/src
> -I/c/ming64/projects/pgrouting/src/tsp/src
> -I/c/ming64/projects/pgrouting/src/driving_distance/src
> -I/c/ming64/projects/pgrouting/src/trsp/src
> -I/c/ming64/msys/local/include/boost-1_46_1
> -I/c/ming64/projects/pgx64/pg92/include/postgresql/server/port/win32 -o
> CMakeFiles/routing_tsp.dir/tsplib.c.obj -c
> /C/ming64/projects/pgrouting/src/tsp/src/tsplib.c
> c:/ming64/projects/pgrouting/src/tsp/src/tsplib.c: In function
> 'findEulerianPath':
> c:/ming64/projects/pgrouting/src/tsp/src/tsplib.c:183:14: error: 'ERROR'
> undeclared (first use in this function)
> c:/ming64/projects/pgrouting/src/tsp/src/tsplib.c:183:14: note: each
> undeclared identifier is reported only once for each function it
> appears in
> c:/ming64/projects/pgrouting/src/tsp/src/tsplib.c: In function
> 'find_tsp_solution':
> c:/ming64/projects/pgrouting/src/tsp/src/tsplib.c:446:18: error: 'FATAL'
> undeclared (first use in this function)
>
> Lets check that the file exists, and it does. This file gets included
> from postgres.h
>
> $ /bin/find.exe /c/ming64/projects/pgx64/pg92/ -name postgres.h -print
> /c/ming64/projects/pgx64/pg92/include/postgresql/server/postgres.h
>
> $ /bin/find.exe /c/ming64/projects/pgx64/pg92/ -name elog.h -print
> /c/ming64/projects/pgx64/pg92/include/postgresql/server/utils/elog.h
>
> So I'm left with:
>
> 1. it works on 32 bit
> 2. the -Idirectory is included in the gcc 3. the include files exist
> in the correct places 4. gcc does not appear to be loading them, but I
> do not know why
>
> Anyone run into this problem before?
> Anyone have any ideas?
>
> -Steve
> _______________________________________________
> 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
More information about the pgrouting-dev
mailing list