Lee
Lee

Reputation: 535

cc1plus: error: unrecognized command line option "-fsysroot=<path>" with g++

Am trying to compile a large C++ project in a simulated 32bits environment (cel5.03-i386-2.3) on a 64bits machine. (The compiling worked well on 32bits machine before)

During this compiling some files fail as below. The weird thing is that the argument passed to g++ command is "--sysroot=" while in error message it becomes "-fsysroot=".

Why could this happen?

/usr/bin/g++ -MMD -MF /proj/src/.debug/lib/osiris/core/utils/WWNConverter.d  -I/proj/src/lib/osiris -DDEBUG_LOG -DDEBUG -D_REENTRANT -DAPE_MODE  -DSWAT_MODE -g -Werror -Wall -Wno-write-strings -fPIC -m32 --sysroot=/auto/andpkg/rep_cache//wr-x86/3.0FCS/sysroot -rdynamic -I/proj/src -I/proj/src/.debug/include/private -I/proj/src/.debug/include/public -I/proj/src/lib/framework -I/proj/src/lib/osiris -I/proj/src/lib/prt -I/proj/src/lib/callhome -I/proj/src/lib/snmp  -I/proj/src/.debug/external/pcre/include -I/proj/src/external/sqlite/include -I/proj/src/external/openssl/openssl-fips-1.2.3/include -I/proj/src/support/storage-driver/include -I/proj/src/external/json/include -DTARGET_OBJECT=libosiris.so -I/proj/src/.debug/external/pcre/include -I/proj/src/.debug/external/libcurl/include -o /proj/src/.debug/lib/osiris/core/utils/WWNConverter.o -c /proj/src/lib/osiris/core/utils/WWNConverter.cc

make[1]: *** [/proj/src/.debug/lib/osiris/core/utils/WWNConverter.o] Error 1
cc1plus: error: unrecognized command line option "-fsysroot=/auto/andpkg/rep_cache//wr-x86/3.0FCS/sysroot"

Upvotes: 1

Views: 1911

Answers (1)

LThode
LThode

Reputation: 1983

The 32-bit compiler (GCC 3.4.6) is too old to support the --sysroot option, which was added to trunk with commit 102367, and did not make it into a release branch until GCC 4.1.0.

2005-07-25  Mark Mitchell  <[email protected]>
  * gcc.c (option_map): Add --sysroot.
  (process_command): Handle --sysroot.
  (display_help): Document it.
  * doc/cppopts.tex (-isysroot): Document.
  * doc/invoke.texi (--sysroot): Document.
  * doc/install.texi (--with-build-sysroot): Document.

  * Makefile.in (inhibit_libc): New variable.
  (INHIBIT_LIBC_CFLAGS): Likewise.
  (LIBGCC2_CFLAGS): Include
  $(INHIBIT_LIBC_CFLAGS).
  (CRTSTUFF_CFLAGS): Include $(INHIBIT_LIBC_CFLAGS).
  ($(T)crtbegin.o): Do not use @inhibit_libc@.
  ($(T)crtend.o): Likewise.
  ($(T)crtbeginS.o): Do not use @inhibit_libc@.
  ($(T)crtendS.o): Likewise.
  ($(T)crtbeginT.o): Do not use @inhibit_libc@.
  ($(T)crtendT.o): Likewise.
  (stmp-fixinc): Do not complain about missing headers if
  inhibit_libc.
  * configure.ac (inhibit_libc): Set it to true/false.
  (--with-build-sysroot): New option.  Use it to set
  SYSTEM_HEADER_DIR. 
  * configure: Regenerated.

Upvotes: 1

Related Questions