Comeau C/C++TM 4.3.3 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 being the alpha release:
- This is currently an alpha product. If something does not seem right, report it!
Tech support is through email to
support@comeaucomputing.com
- It is currently available for $50 through
our normal ordering procedures.
- The port has been performed with the latest Panther OS X on a healthy G4 setup. It has not yet been used under any other setups, but our expectation is that it's ok with all versions of OS X, and all Apple hardware sold by Apple since the release of OS X. We need feedback on this.
- 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. We need feedback on this.
- If you have a non-Apple originated gcc (one you get elsewhere, one you built yourself, etc), you must contact us before use.
- Use of libstdc++ is up in the air, but as mentioned, libcomo is being made available too.
- Floating point may need some adjustments. Again, please give us feedback.
- As of version 4.3.3, most GNU extensions are supported via como's --gcc mode and --g++ mode for LINUX/Intel. However, THIS IS UNTESTED for use with OS X and so needs to depend upon the alpha and beta process. We need your feedback.
Here's general info which should transcend the alpha/beta process:
- Comeau C/C++ is only being sold for OS X.
If you have a need on some other operating system, please contact us.
- If you have a non-Apple originated gcc (one you get elsewhere, one you built yourself, etc), you must contact us before use.
- 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 como433.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).
- You may find you want to use the new --long_long command line option. Note this option can be enabled even in strict mode.
- When you first install Comeau C++ on Mac OS X, don't inform como433.setup about libcomo, instead tell it you don't have a standard library. Go build libcomo and only then go back and re-run como433.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.
- 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 como433.setup properly, telling it where your libcomo is.
- 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 como433.setup properly.
Have you found a glitch in Comeau C/C++? No matter how small, please contact us at support@comeaucomputing.com.
Comeau Computing
http://www.comeaucomputing.com
support@comeaucomputing.com
Last updated January 26, 2006
(c) © 1992-2006 Comeau Computing. All Rights Reserved.