I'm trying to test a branch of osm2pgsql (switching to cmake). It needs gcc 4.8 because it relies on C++11. On netbsd-6 i386, gcc is 4.5, so I installed gcc48 and gcc48-libs, and put /usr/pkg/gcc48/bin in $PATH, and tried to build. This resulted in complaints about std::to_string: /home/gdt/SOFTWARE/GEO/osm2pgsql/contrib/libosmium/osmium/io/gzip_compression.hpp:85:30: error: ‘to_string’ is not a member of ‘std’ error += std::to_string(zlib_error); ^ This error doesn't happen on netbsd-7 amd64, so I'm guessing it's some sort of bleedthrough of the 4.5 includes into the 4.8 world. It seems obvious that the 4.8 gcc should find the 4.8 version of the stdc headers, rather than the system ones. It's also obvious that cmake's habit of suppressing the actual build line in the make log is not helpful, but with effort the build line is: /usr/pkg/gcc48/bin/c++ -DBOOST_TEST_DYN_LINK -DFIXED_POINT -DOSM2PGSQL_DATADIR=\".\" -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -g -DNDEBUG -I/home/gdt/SOFTWARE/GEO/osm2pgsql -I/home/gdt/SOFTWARE/GEO/osm2pgsql/build -isystem /home/gdt/SOFTWARE/GEO/osm2pgsql/contrib/libosmium -isystem /usr/pkg/include -I/usr/pkg/include/lua-5.2 -Wall -std=c++11 -o CMakeFiles/osm2pgsql_lib.dir/parse-osmium.cpp.o -c /home/gdt/SOFTWARE/GEO/osm2pgsql/parse-osmium.cpp My question is: when using gcc48 from pkgsrc to build something (not using pkgsrc), what am I supposed to do, beyond prepending PATH?
Attachment:
signature.asc
Description: PGP signature