[MacPorts] #48026: boost @ 1.58.0 filesystem.exists() function fails with g++ 5.1.0
#48026: boost @ 1.58.0 filesystem.exists() function fails with g++ 5.1.0 -----------------------------+-------------------------------- Reporter: chris.jonesey@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.3 Keywords: | Port: boost -----------------------------+-------------------------------- In the attached test case the filesystem.exists() function always returns false with g++ and works correctly with clang++. % port -v[[br]] MacPorts 2.3.3 % clang++ --version[[br]] Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)[[br]] Target: x86_64-apple-darwin14.1.0[[br]] Thread model: posix[[br]] % g++ --version[[br]] g++ (MacPorts gcc5 5.1.0_0) 5.1.0[[br]] Copyright (C) 2015 Free Software Foundation, Inc.[[br]] This is free software; see the source for copying conditions. There is NO[[br]] warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.[[br]] % ./test_filesystem.clang.macport_boost ./test_filesystem.clang.macport_boost The file './test_filesystem.clang.macport_boost' exists! % ./test_filesystem.gcc.macport_boost ./test_filesystem.gcc.macport_boost The file './test_filesystem.gcc.macport_boost' DOES NOT exist. -- Ticket URL: <https://trac.macports.org/ticket/48026> MacPorts <https://www.macports.org/> Ports system for OS X
#48026: boost @ 1.58.0 filesystem.exists() function fails with g++ 5.1.0 ------------------------------+-------------------------- Reporter: chris.jonesey@… | Owner: ryandesign@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.3 Resolution: | Keywords: Port: boost | ------------------------------+-------------------------- Changes (by larryv@…): * cc: chris.jonesey@… (removed) * owner: macports-tickets@… => ryandesign@… Old description:
In the attached test case the filesystem.exists() function always returns false with g++ and works correctly with clang++.
% port -v[[br]] MacPorts 2.3.3
% clang++ --version[[br]] Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)[[br]] Target: x86_64-apple-darwin14.1.0[[br]] Thread model: posix[[br]]
% g++ --version[[br]] g++ (MacPorts gcc5 5.1.0_0) 5.1.0[[br]] Copyright (C) 2015 Free Software Foundation, Inc.[[br]] This is free software; see the source for copying conditions. There is NO[[br]] warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.[[br]]
% ./test_filesystem.clang.macport_boost ./test_filesystem.clang.macport_boost
The file './test_filesystem.clang.macport_boost' exists!
% ./test_filesystem.gcc.macport_boost ./test_filesystem.gcc.macport_boost
The file './test_filesystem.gcc.macport_boost' DOES NOT exist.
New description: In the attached test case the filesystem.exists() function always returns false with g++ and works correctly with clang++. {{{ % port -v MacPorts 2.3.3 % clang++ --version Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn) Target: x86_64-apple-darwin14.1.0 Thread model: posix % g++ --version g++ (MacPorts gcc5 5.1.0_0) 5.1.0 Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. % ./test_filesystem.clang.macport_boost ./test_filesystem.clang.macport_boost The file './test_filesystem.clang.macport_boost' exists! % ./test_filesystem.gcc.macport_boost ./test_filesystem.gcc.macport_boost The file './test_filesystem.gcc.macport_boost' DOES NOT exist. }}} -- -- Ticket URL: <https://trac.macports.org/ticket/48026#comment:2> MacPorts <https://www.macports.org/> Ports system for OS X
#48026: boost @ 1.58.0 filesystem.exists() function fails with g++ 5.1.0 ------------------------------+-------------------------- Reporter: chris.jonesey@… | Owner: ryandesign@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.3.3 Resolution: invalid | Keywords: Port: boost | ------------------------------+-------------------------- Changes (by ryandesign@…): * status: new => closed * resolution: => invalid Comment: You cannot use more than one C++ library and share data between them. You are using boost from MacPorts which (in OS X 10.9 and later) uses libc++, and are compiling your own program using a MacPorts build of FSF g++ which uses libstdc++, and are linking it with boost, and trying to share data with it. You must compile your program using the same compiler used to compile boost: that is, on recent OS X, clang++. An alternative is to compile your own version of boost, outside of MacPorts, using (MacPorts or other build of FSF) g++; then you must also compile your program linked with boost with (MacPorts or other build of FSF) g++. -- Ticket URL: <https://trac.macports.org/ticket/48026#comment:3> MacPorts <https://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts