Uploaded image for project: 'C++ Standard Library'
  1. C++ Standard Library
  2. STDCXX-193

On Mac OS X 10.4.6 Tiger (Darwin), executables in $(BUILDDIR)/include are included before $(TOPDIR)/include

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 4.1.3, 4.1.4
    • 4.1.4
    • Build and Installation
    • None
    • Darwin machine.local 8.6.1 Darwin Kernel Version 8.6.1: Tue Mar 7 16:55:45 PST 2006; root:xnu-792.9.22.obj~1/RELEASE_I386 i386 i386

    Description

      That may sound weird but that's what's happening.

      On Mac OS X, the HFS file system is case-insensitive. Because of this and the order of include paths defined by $(INCLUDES) in etc/config/makefile.common, one or more of the executables for the configuration checks which have the same filename as standard header files (e.g. LIMITS) are found first and included in the source files by the compiler.

      Output from an example build:

      machine:/Build/stdcxx user$ make BUILDDIR=/Build/stdcxx BUILDMODE=debug,shared,pthreads
      GNUmakefile:283: "CONFIG not specified, using gcc.config"
      creating BUILDDIR=/Users/user/Build/stdcxx
      generating /Users/user/Build/stdcxx/makefile.in from /Users/user/Work/stdcxx/etc/config/gcc.config
      make config

      configuring for gcc-4.0.1 on darwin-8.6.1-i386

      checking if the compiler is sane ok (invoked with gcc)
      checking if the linker is sane ok (invoked with gcc)
      ...
      gcc -c -I/Users/user/Work/stdcxx/include/ansi -D_RWSTDDEBUG -D_RWSTD_USE_CONFIG -I/Users/user/Build/stdcxx/include -I/Users/user/Work/stdcxx/include -pedantic -nostdinc++ -g -W -Wall -Wcast-qual -Winline -Wshadow -Wwrite-strings -Wno-long-long -Wcast-align /Users/user/Work/stdcxx/src/codecvt.cpp
      gcc -c -I/Users/user/Work/stdcxx/include/ansi -D_RWSTDDEBUG -D_RWSTD_USE_CONFIG -I/Users/user/Build/stdcxx/include -I/Users/user/Work/stdcxx/include -pedantic -nostdinc++ -g -W -Wall -Wcast-qual -Winline -Wshadow -Wwrite-strings -Wno-long-long -Wcast-align /Users/user/Work/stdcxx/src/collate.cpp
      In file included from /Users/user/Work/stdcxx/src/collate.cpp:38:
      /Users/user/Build/stdcxx/include/limits:1: error: stray '\206' in program
      /Users/user/Build/stdcxx/include/limits:1: error: stray '\250' in program
      /Users/user/Build/stdcxx/include/limits:1: error: stray '\237' in program
      /Users/user/Build/stdcxx/include/limits:1: error: stray '\254' in program
      /Users/user/Build/stdcxx/include/limits:1: error: stray '\7' in program
      ...

      Attachments

        Activity

          People

            sebor Martin Sebor
            elemings Eric Lemings
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: