Ubuntu Nagnitm错误,Nagnitm错误。o

Ubuntu Nagnitm错误,Nagnitm错误。o,ubuntu,nominatim,Ubuntu,Nominatim,我尝试在Ubuntu14.04 LTS azure上安装Namingm,我安装了所有必需的软件包 当我运行m./configurate&make时,他写下了错误: /bin/bash ./libtool --tag=CXX --mode=link g++ -g -O2 -o osm2pgsql osm2pgsql.o libosm2pgsql.la -pthread -L/usr/lib -lz -L/usr/lib/x86_64-linux-gnu -lpq -lxml2 -L/

我尝试在Ubuntu14.04 LTS azure上安装Namingm,我安装了所有必需的软件包

当我运行m./configurate&make时,他写下了错误:

/bin/bash ./libtool  --tag=CXX   --mode=link g++  -g -O2   -o osm2pgsql osm2pgsql.o  libosm2pgsql.la -pthread -L/usr/lib -lz -L/usr/lib/x86_64-linux-gnu -lpq -lxml2 -L/usr/lib -lbz2 -L/usr/lib -L/usr/lib -lgeos-3.4.2 -L/usr/lib -lproj -L/usr/lib -lprotobuf-c -L/usr/lib/x86_64-linux-gnu -llua5.2  -lm -ldl -L/usr/lib/x86_64-linux-gnu -lboost_filesystem -lboost_system -lboost_thread 
libtool: link: g++ -g -O2 -o osm2pgsql osm2pgsql.o -pthread  ./.libs/libosm2pgsql.a -L/usr/lib -lz -L/usr/lib/x86_64-linux-gnu -lpq -lxml2 -lbz2 -lgeos-3.4.2 /usr/lib/libproj.so -lprotobuf-c -llua5.2 -lm -ldl -lboost_filesystem -lboost_system -lboost_thread -pthread
depbase=`echo node-persistent-cache-reader.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
    g++ -DHAVE_CONFIG_H -I.  -pthread -I/usr/include/postgresql -I/usr/include/libxml2 -I/usr/include -I/usr/include -I/usr/include -DOSM2PGSQL_DATADIR='"/usr/local/share/osm2pgsql"' -Igeos-fallback -I/usr/include/lua5.2 -I/usr/include   -g -O2 -MT node-persistent-cache-reader.o -MD -MP -MF $depbase.Tpo -c -o node-persistent-cache-reader.o node-persistent-cache-reader.cpp &&\
    mv -f $depbase.Tpo $depbase.Po
/bin/bash ./libtool  --tag=CXX   --mode=link g++  -g -O2   -o nodecachefilereader node-persistent-cache-reader.o libosm2pgsql.la -pthread -L/usr/lib -lz -L/usr/lib/x86_64-linux-gnu -lpq -lxml2 -L/usr/lib -lbz2 -L/usr/lib -L/usr/lib -lgeos-3.4.2 -L/usr/lib -lproj -L/usr/lib -lprotobuf-c -L/usr/lib/x86_64-linux-gnu -llua5.2  -lm -ldl -L/usr/lib/x86_64-linux-gnu -lboost_filesystem -lboost_system -lboost_thread 
libtool: link: g++ -g -O2 -o nodecachefilereader node-persistent-cache-reader.o -pthread  ./.libs/libosm2pgsql.a -L/usr/lib -lz -L/usr/lib/x86_64-linux-gnu -lpq -lxml2 -lbz2 -lgeos-3.4.2 /usr/lib/libproj.so -lprotobuf-c -llua5.2 -lm -ldl -lboost_filesystem -lboost_system -lboost_thread -pthread
make[2]: Leaving directory `/app/nominatim/osm2pgsql'
make[1]: Leaving directory `/app/nominatim/osm2pgsql'
Making all in module
make[1]: Entering directory `/app/nominatim/module'
Makefile:10: warning: overriding commands for target `install'
/usr/lib/postgresql/9.4/lib/pgxs/src/makefiles/pgxs.mk:128: warning: ignoring old commands for target `install'
gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -I/usr/include/mit-krb5 -fPIC -pie -DLINUX_OOM_SCORE_ADJ=0 -fno-omit-frame-pointer -fpic -I. -I./ -I/usr/include/postgresql/9.4/server -I/usr/include/postgresql/internal -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -I/usr/include/libxml2  -I/usr/include/tcl8.6  -c -o nominatim.o nominatim.c
gcc: error: unrecognized command line option ‘-fstack-protector-strong’
make[1]: *** [nominatim.o]
 Error 1
    make[1]: Leaving directory `/app/nominatim/module'
    make: *** [all-recursive] Error 1

如何解决此问题?

错误在于命令行选项-fstack-protector-strong,该选项在低于gcc 4.9版的版本中不受支持

因此,您需要安装gcc版本4.9或更高版本,该版本支持-fstack-protector-strong,并使用以下命令将其设置为默认gcc:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.9 g++-4.9 
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9

如果答案对你有帮助,请投票表决。