Comeau C/C++TM 4.3.10.1 Beta Front-End
Additional information for Mac OS X customers

When using Comeau C++ under Mac OS X, you may come across the issues discussed below. Let's start with some details pertaining to this beta release:
  1. This port is currently available for $50 through our normal ordering procedures.
  2. The port has been performed with:
  3. The port has been performed with gcc 3.3. It has not yet been used under any other setups or versions, but our expectation is that it's ok with all versions of gcc's ever released by Apple with OS X.
  4. If you have a non-Apple originated gcc (one you get elsewhere, one you built yourself, etc), you must contact us before use, as chances are good that we will need to make changes.
  5. Use of libstdc++ is up in the air, but as mentioned, libcomo is being made available too.
  6. Floating point may need some adjustments. Please give us feedback.

  7. As of version 4.3.3, most GNU extensions are supported via como's --gcc mode and --g++ mode for LINUX/Intel. Please provide us feedback for use with OS X.

Here's general info which should transcend the beta process:

  1. Comeau C/C++ is only being sold for OS X on Apple hardware. If you have a need on some other operating system, please contact us.
  2. If you have a non-Apple originated gcc (one you get elsewhere, one you built yourself, etc), you must contact us before use, as chances are good that we will need to make changes.
  3. Although earlier versions of Comeau C++ were able to use some earlier versions of g++'s C++ Standard Library, that has not been so for a long time. Even g++ 3.x's libstdc++ is not known to work with Comeau C++. Therefore, when como43101beta.setup asks you for the directory of your C++ SL, do not provide it with g++'s. You'll be wanting to provide it with a C++ SL that is known to work with Comeau C++, such as libcomo (you only need make -f Makefile.como it, no other build changes should be necessary to establish it for OS X).
  4. You may find you want to use the new --long_long command line option. Note this option can be enabled even in strict mode.
  5. When you first install Comeau C++ on Mac OS X, don't inform como43101beta.setup about libcomo, instead tell it you don't have a standard library. Go build libcomo and only then go back and re-run como43101beta.setup telling it about libcomo. As of Comeau C+/C++ 4.3.3 you do not need to install in relaxed mode in order to build libcomo, as --no_A and --no_a options are now supported, and are the default when building libcomo.
  6. If, in C++ mode, you get linker errors such as:
    c2.o: In function `main':
    c2.o(.text+0x14): undefined reference to `cout'
    c2.o(.text+0x19): undefined reference to `ostream::operator<<(char const *)'
    c2.o(.text+0x32): undefined reference to `cout'
    c2.o(.text+0x37): undefined reference to `ostream::operator<<(char const *)'
    c2.o(.text+0x42): undefined reference to `ostream::operator<<(int)'
    c2.o(.text+0x55): undefined reference to `endl(ostream &)'
    c2.o(.text+0x6e): undefined reference to `cout'
    c2.o(.text+0x73): undefined reference to `ostream::operator<<(char const *)'
    c2.o(.text+0x7e): undefined reference to `ostream::operator<<(int)'
    c2.o(.text+0x91): undefined reference to `endl(ostream &)'
    collect2: ld returned 1 exit status
    
    then it is possible that you have not built libcomo properly and/or have not told Comeau C++ to use libcomo after you built it (the source file may have compiled because it picked up the g++ iostreams headers). To resolve this, ensure you've built libcomo properly and also that you've run como43101beta.setup properly, telling it where your libcomo is.

  7. Along the same lines as the previous bullet, getting an error such as:
    "/usr/include/g++-3/stl_vector.h", line 110: error: identifier "_M_start" is
              undefined
          _M_start = _M_allocate(__n);
          ^
    
    should be clear indication that you are picking up the wrong standard library (note the /usr/include/g++-3 in the error message). As above, to resolve this, ensure you've built libcomo properly and also that you've run como43101beta.setup properly.
Have you found a glitch in Comeau C/C++? No matter how small, please email us.

Comeau Computing
http://www.comeaucomputing.com


(c) © 1992-2013 Comeau Computing. All Rights Reserved.