tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: opal update

On Nov 20,  5:16pm, Greg Troxel wrote:
} Rhialto <> writes:
} > On Mon 19 Nov 2018 at 21:38:35 -0800, John Nemeth wrote:
} >> On Nov 19, 10:08pm, Rhialto wrote:
} >> } My suspicion from your messages is that they might be fixed (at least
} >> } partially) with some options to force an older C++ dialect. auto_ptr is
} >> 
} >>      Any suggestions on what the options might be, or how to force
} >> it in pkgsrc?
} >
} > The USE_LANGUAGES += c++ line can specify a few language versions. I
} > suspect that my compiler defaults to c++ 2003, at least then I got the
} > same error messages as I showed. With c++ 2011 I got more messages
} > involving auto_ptr<>.
} This is extremely messy.  Trying to separate things out:
}   USE_LANGUAGES is about declaring the the languages used so that the
}   selected compiler will be able to support them.  c++ means C++03.
}   We may not be getting the "add --std" flags part right.  Generally, an
}   upstream program that needs a particular language standard should be
}   testing for useng --std=foo with autoconf and adding the flags or
}   failing, independently of pkgsrc.  Certainly a package could build
}   some code that is C++03 and some that is C++11 in the same package
}   (perhaps different executables), and pkgsrc can't intuit that.
}   Different compiler versions have different default langauge standards.
}   I think this is a bug, which leads to programs not setting --std
}   (perhaps because the author didn't need to on their box, because
}   (making things up) they have gcc9 which defaults to c++14.
} > Or maybe it needs older versions? The bulk of my errors were about some
} > undefined method or other. But at least that should be fairly easy to
} > find, compared to those excessively long template errors.
} Look at the logs to see if there is --std=, always.  That should be the
} primary mechanism to specify the language variant.  The USE_LANGUAGES is
} really about forcing a compiler that can support the variant.

     Grepping the source code, I don't find --std anywhere.  However,
the last update I found was done back in June 2016.  Unfortunately,
this appears to be abandonware, but I have somebody bugging me to
try to make it work.

     I have discovered that a different person has taken over the
project and moved it from sourceware to github.  I have placed
opal-3.10.15 along with a source tarball which can be dumped
/usr/pkgsrc/distfiles at ftp://pub/NetBSD/misc/jnemeth .

     I have also put buildlogs there.  This version still doesn't
compile, but autoptr is just giving warnings.  The real problem
appears to be here:

/usr/pkgsrc/devel/opal-3.10.15/work/opal-3.10.15/src/im/msrp.cxx:838:28: error: cannot bind 'std::basic_ostream<char>' lvalue to 'std::basic_ostream<char>&&'
     PStringStream str; str << ::setfill('\r') << mime.PrintContents(str);
In file included from /usr/include/g++/istream:39:0,
                 from /usr/include/g++/sstream:38,
                 from /usr/include/g++/bits/quoted_string.h:38,
                 from /usr/include/g++/iomanip:45,
                 from /usr/pkgsrc/devel/opal-3.10.15/work/.buildlink/include/ptlib/object.h:58,
                 from /usr/pkgsrc/devel/opal-3.10.15/work/.buildlink/include/ptlib/psync.h:43,
                 from /usr/pkgsrc/devel/opal-3.10.15/work/.buildlink/include/ptlib/critsec.h:34,
                 from /usr/pkgsrc/devel/opal-3.10.15/work/.buildlink/include/ptlib/contain.h:42,
                 from /usr/pkgsrc/devel/opal-3.10.15/work/.buildlink/include/ptlib.h:56,
                 from /usr/pkgsrc/devel/opal-3.10.15/work/opal-3.10.15/src/im/msrp.cxx:31:
/usr/include/g++/ostream:574:5: note: candidate: template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const unsigned char*)
     operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s)
/usr/include/g++/ostream:574:5: note:   template argument deduction/substitution failed:

However, see buildlog.error in case I snipped too much.  Given this
new version and new information, any help would be appreciated.

}-- End of excerpt from Greg Troxel

Home | Main Index | Thread Index | Old Index