Opened 10 years ago

Closed 10 years ago

#7051 closed Bugs (fixed)

boost::filesystem compile error on solaris 10

Reported by: robin.nicholson@… Owned by: Beman Dawes
Milestone: To Be Determined Component: filesystem
Version: Boost 1.50.0 Severity: Problem
Keywords: compile error Cc: duncanphilipnorman@…

Description

fails to compile because fchmodat is not supported on solaris 10. (Compiler used was gcc 4.7.1)

libs/filesystem/src/operations.cpp: In function 'void boost_1_50_0::filesystem::detail::permissions(const boost_1_50_0::filesystem::path&, boost_1_50_0::filesystem::perms, boost_1_50_0::system::error_code*)': libs/filesystem/src/operations.cpp:1401:11: error: '::fchmodat' has not been declared

uname -a SunOS 5.10 Generic_141444-09 sun4u sparc SUNW,Sun-Fire-V490

Change History (3)

comment:1 by Duncan Exon Smith <duncanphilipnorman@…>, 10 years ago

Cc: duncanphilipnorman@… added

This looks like a duplicate of #6659... you may want to add your testcase to that bug (although it has been ignored for 4 months).

comment:2 by anonymous, 10 years ago

The issue has been addresses before but not for compiling with gcc on solaris line 1400 could have

&& !defined(sun)

added to it to fix the problem

comment:3 by Beman Dawes, 10 years ago

Resolution: fixed
Status: newclosed

(In [79484]) Fix #6659 and #7051, fchmodat supported only on Solaris 11. Disable fchmodat for both Sun and GCC compilers regardless of OS version; a runtime check is too much trouble.

Note: See TracTickets for help on using tickets.