gcc fails again... even boost's allegedly copyable buffer was not, so returning the RAII file_descriptor that IS