Am 24.09.2014 um 17:04 schrieb Shane Ambler: > I am trying to compile the new version of a port I maintain and have > trouble related to std::vector. The code producing the error can be > boiled down to the following test case, which compiles as 64bit but > fails as 32bit. > > #include <stdlib.h> > #include <vector> > > int main(int argc, char *argv[]) > { > int num_layers = 3; > std::vector<const char *> layers (num_layers, NULL); > > exit(0); > } > > So that should create a vector containing 3 items initially set to NULL. > > 10.0 compiles ok - both 32 and 64 bit. (libc++) > 8.4, 9.2 and 9.3 compiles 64bit but fails on 32bit. (libstdc++) > > Using the above code > clang++ -m32 test.cpp > fails with > > /usr/include/c++/4.2/bits/stl_algobase.h:641:15: error: assigning to > 'const char *' from incompatible type 'const int'
I don't think "-m32" compilation has ever worked properly for C++ on the older FreeBSD releases, where older includes 9.3. You're probably better off trying to build with 32-bit chroots or jails on your 64-bit host, like poudriere or Tinderbox are doing (but I'm not sure if they support setting up 32-bit jails on 64-bit computers). See here <https://lists.freebsd.org/pipermail/freebsd-stable/2009-September/051855.html> so it's a long-standing thing, and for "recent" developments: <https://lists.freebsd.org/pipermail/freebsd-current/2013-June/042378.html> -so that would have been for 10-CURRENT at the time, and hints that the headers weren't pure enough for -m32 and similar tricks. I am not aware that this effort was ever MFH'd. I am Cc'ing Konstantin Belousov in case he wants to shed more light on this issue. HTH _______________________________________________ freebsd-ports@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"