I compiled my <random> busybox just to see if it works and got a bunch of compile errors related to members being private. All these member were being used in the operator>> and operator<< for the distributions and all were complaining about inserting or extracting state from another distribution contained as private state in that distribution
e.g. in std::lognormal_distribution<...>: ------------------------------------------ ... private: std::normal_distribution<result_type> _M_nd; The global operator>> and operator<< failed with _M_nd is private. The answer is to scoot these inserters and extrctors into the class scope as friends. Ed -- Summary: Compile of program using std random fails. Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: 3dw4rd at verizon dot net GCC host triplet: x86_64-redhat-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41061