[pgrouting-dev] Problems linking on mingw64 between boost, cgal and threads
Stephen Woodbridge
woodbri at swoodbridge.com
Tue Mar 12 10:47:44 PDT 2013
OK, it looks like I have solved ISSUE 2, I think this was caused because
I built boost with the 32 bit model in the 64 bit environment. I still
can not not get ISSUE 1 to resolve and I had to rebuild it using the
bjam I built under 1_51.
To fix ISSUE to:
1. rebuilt boost_1_46_1 as 64 bit model using bjam from 1_51
2. rebuild CGAL
3. rebuild pgrouting
So I have at least on cuild of pgRouting
So making progress in small steps :)
If you have any additional thoughts on getting boost to build they would
be appreciated.
In my msys.bat shell, I have:
PATH=/c/ming64/mingw64/bin/:/home/woodbri/bin:.:/usr/local/bin:/mingw/bin:/bin:/c/oracle/product/10.2.0/db_1/bin:/c/Windows/system32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/:/c/Program
Files (x86)/QuickTime/QTSystem/
Thanks,
-Steve
On 3/12/2013 11:34 AM, Stephen Woodbridge wrote:
> Hi Sanak,
>
> I'm still have an issue with this. Hopefully I followed your changes
> correctly:
>
> In my msys.bat shell I added the to the path: /c/ming64/mingw64/bin/, I
> have /c/ming64/ and /c/ming32/ trees setup so I can build on either.
>
> start cmd
> gcc -v # is found and run
> bootstrap.bat gcc # fails
> bootstrap.bat mingw # fails
>
> exit
>
> $ cat tools/build/bjam.log
> ###
> ### Using 'msvc' toolset.
> ###
>
> c:\ming64\projects\boost_1_46_1\tools\build\v2\engine\src>if exist
> bootstrap rd /S /Q bootstrap
>
> c:\ming64\projects\boost_1_46_1\tools\build\v2\engine\src>md bootstrap
>
> c:\ming64\projects\boost_1_46_1\tools\build\v2\engine\src>cl /nologo /GZ
> /Zi /MLd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG kernel32.lib
> advapi32.lib user32.lib /Febootstrap\jam0 command.c compile.c debug.c
> execnt.c expand.c filent.c glob.c hash.c hdrmacro.c headers.c jam.c
> jambase.c jamgram.c lists.c make.c make1.c newstr.c option.c output.c
> parse.c pathunix.c regexp.c rules.c scan.c search.c subst.c timestamp.c
> variable.c modules.c strings.c filesys.c builtins.c md5.c pwd.c class.c
> w32_getreg.c native.c modules/set.c modules/path.c modules/regex.c
> modules/property-set.c modules/sequence.c modules/order.c
>
> I looked at tools/build/v2/engine/src/build.bat but I'm not very
> familiar with windows bat files.
>
> -Steve
>
> On 3/12/2013 9:15 AM, sanak wrote:
>> Hi Stephen,
>> I updated MinGW32/64 build instruction to my "mingw" branch,
>> and checked that MinGW64-bit build successed. (but not tested)
>> https://github.com/sanak/pgrouting4w/commit/2a660524b53bcd80005e52917af5b32b31749559
>>
>> so, retry from boost build about ISSUE1. (Thanks Pieter!)
>> Regards,
>> 2013/3/12 Stephen Woodbridge <woodbri at swoodbridge.com
>> <mailto:woodbri at swoodbridge.com>>
>>
>> Hi all,
>>
>> I'm stuck at the moment trying to link the pgrouting driving
>> directions module using mingw 64 bit. See the issues below. So if
>> anyone has any thoughts on this it would be appreciated. I will
>> check the current state of the files into my branch in the morning
>> here (GMT-5) if you are setup to reproduce this. It is too late to
>> do it with a clear head tonight. I'll also move it back to Linux and
>> try again there as I have changed a lot of files.
>>
>> Thanks,
>> -Steve
>>
>> I have followed Sanak's directions from:
>> https://github.com/sanak/__pgrouting4w/blob/master/BUILD.__mingw64
>> <https://github.com/sanak/pgrouting4w/blob/master/BUILD.mingw64>
>>
>> ISSUE 1:
>>
>> I first installed boost_1_51.zip but ran into problems compiling so
>> installed boost_1_46_1.zip as he suggested. I was able to bootstrap
>> 1_51 and get a bjam.exe without a problem. But I could not get
>> 1_46_1 to bootstrap :(
>>
>> Microsoft Windows [Version 6.1.7601]
>> Copyright (c) 2009 Microsoft Corporation. All rights reserved.
>>
>> c:\ming64\projects\boost_1_46___1>bootstrap.bat mingw
>> Building Boost.Jam build engine
>> 'cl' is not recognized as an internal or external command,
>> operable program or batch file.
>>
>> Failed to build Boost.Jam build engine.
>> Please consult bjam.log for furter diagnostics.
>>
>> You can try to obtain a prebuilt binary from
>>
>>
>> http://sf.net/project/__showfiles.php?group_id=7586&__package_id=72941
>> <http://sf.net/project/showfiles.php?group_id=7586&package_id=72941>
>>
>> Also, you can file an issue at http://svn.boost.org
>> Please attach bjam.log in that case.
>>
>> c:\ming64\projects\boost_1_46___1>
>>
>> So I built 1_46_1 using the bjam.exe that I built in 1_51 and it
>> seems to have worked ok, but maybe that is part of the problem.
>>
>> ISSUE 2:
>>
>> Is the follow mess from the linker
>>
>> Scanning dependencies of target routing_dd
>> [ 80%] Building C object
>> core/driving_distance/src/__CMakeFiles/routing_dd.dir/__alpha.c.obj
>> [ 86%] Building CXX object
>>
>> core/driving_distance/src/__CMakeFiles/routing_dd.dir/__alpha_drivedist.cpp.obj
>>
>> In file included from
>>
>> c:/ming64/projects/pgx64/pg92/__include/postgresql/server/pg___config_os.h:37:0,
>>
>> from
>> c:/ming64/projects/pgx64/pg92/__include/postgresql/server/c.h:__87,
>> from
>>
>> c:/ming64/projects/pgx64/pg92/__include/postgresql/server/__postgres.h:47,
>>
>> from
>>
>> c:/ming64/projects/pgrouting/__core/driving_distance/src/__alpha.h:27,
>> from
>>
>> c:/ming64/projects/pgrouting/__core/driving_distance/src/__alpha_drivedist.cpp:46:
>>
>>
>> c:\ming64\mingw64\bin\../lib/__gcc/x86_64-w64-mingw32/4.5.4/.__./../../../x86_64-w64-mingw32/__include/winsock2.h:13:2:
>>
>> warning: #warning Please include winsock2.h before windows.h
>> [ 93%] Building CXX object
>>
>> core/driving_distance/src/__CMakeFiles/routing_dd.dir/__boost_drivedist.cpp.obj
>>
>> [100%] Building C object
>>
>> core/driving_distance/src/__CMakeFiles/routing_dd.dir/__drivedist.c.obj
>> Linking CXX shared library ../../../lib/librouting_dd.dll
>> Creating library file: ../../../lib/librouting_dd.__dll.a
>>
>> c:/ming64/msys/local/lib/__libboost_thread-mgw45-mt-1_46___1.a(thread.o):
>> duplicate section
>>
>> `.data$_ZTVN5boost16exception___detail10clone_implINS0___19error_info_injectorISt9bad___allocEEEE[vtable
>>
>> for
>>
>> boost::exception_detail::__clone_impl<boost::exception___detail::error_info_injector<__std::bad_alloc>
>>
>> >]' has different size
>>
>> c:/ming64/msys/local/lib/__libCGAL.a(all_files.cpp.obj):__all_files.cpp:(.text+0xf898):
>>
>> undefined reference to `boost::system::generic___category()'
>>
>> c:/ming64/msys/local/lib/__libCGAL.a(all_files.cpp.obj):__all_files.cpp:(.text+0xf8a4):
>>
>> undefined reference to `boost::system::generic___category()'
>>
>> c:/ming64/msys/local/lib/__libCGAL.a(all_files.cpp.obj):__all_files.cpp:(.text+0xf8b0):
>>
>> undefined reference to `boost::system::system___category()'
>> collect2: ld returned 1 exit status
>> make[2]: *** [lib/librouting_dd.dll] Error 1
>> make[1]: ***
>> [core/driving_distance/src/__CMakeFiles/routing_dd.dir/all] Error 2
>> make: *** [all] Error 2
>> _________________________________________________
>> 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
>> <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
More information about the pgrouting-dev
mailing list