Discussion:
[libtorrent] Building bugs
Michael Mckeown
2016-11-03 18:33:23 UTC
Permalink
http://pastebin.com/3Za0RAA3

^^ log

Hi, attempted to build latest master and get numerous errors relating to
tailqueue, anyhow point of trying was to see if file_completed_alert was
operational again?

Thanks.
Arvid Norberg
2016-11-04 00:13:40 UTC
Permalink
On Thu, Nov 3, 2016 at 2:33 PM, Michael Mckeown <***@outlook.com>
wrote:

> http://pastebin.com/3Za0RAA3
>
> ^^ log
>
> Hi, attempted to build latest master and get numerous errors relating to
> tailqueue, anyhow point of trying was to see if file_completed_alert was
> operational again?
>

Do you know how your build differs from the one on appveyor? (which passes)

Looking up error C2139, it seems like when msvc says "undefined" type they
really mean "incomplete" type. At least according to their example.

Could you try to include disk_io_job.h in that file instead of forward
declaring it?

--
Arvid Norberg
Alden Torres
2016-11-04 00:42:35 UTC
Permalink
It would be nice to have this issue documented in github IMO.

Maybe you should update the Visual Studio 2015 to Update 3.


G+ http://www.google.com/profiles/aldenml

On Thu, Nov 3, 2016 at 8:13 PM, Arvid Norberg <***@gmail.com>
wrote:

> On Thu, Nov 3, 2016 at 2:33 PM, Michael Mckeown <
> ***@outlook.com>
> wrote:
>
> > http://pastebin.com/3Za0RAA3
> >
> > ^^ log
> >
> > Hi, attempted to build latest master and get numerous errors relating to
> > tailqueue, anyhow point of trying was to see if file_completed_alert was
> > operational again?
> >
>
> Do you know how your build differs from the one on appveyor? (which passes)
>
> Looking up error C2139, it seems like when msvc says "undefined" type they
> really mean "incomplete" type. At least according to their example.
>
> Could you try to include disk_io_job.h in that file instead of forward
> declaring it?
>
> --
> Arvid Norberg
> ------------------------------------------------------------
> ------------------
> Developer Access Program for Intel Xeon Phi Processors
> Access to Intel Xeon Phi processor-based developer platforms.
> With one year of Intel Parallel Studio XE.
> Training and support from Colfax.
> Order your platform today. http://sdm.link/xeonphi
> _______________________________________________
> Libtorrent-discuss mailing list
> Libtorrent-***@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/libtorrent-discuss
>
Michael Mckeown
2016-11-05 13:39:00 UTC
Permalink
Using Visual Studio 2015 to Update 3 already, but I can't really see any
difference between the appveyor build and my own, including
disk_io_job.h makes no difference.


Thanks.
On 04/11/2016 00:13, Arvid Norberg wrote:
> On Thu, Nov 3, 2016 at 2:33 PM, Michael Mckeown <***@outlook.com>
> wrote:
>
>> http://pastebin.com/3Za0RAA3
>>
>> ^^ log
>>
>> Hi, attempted to build latest master and get numerous errors relating to
>> tailqueue, anyhow point of trying was to see if file_completed_alert was
>> operational again?
>>
> Do you know how your build differs from the one on appveyor? (which passes)
>
> Looking up error C2139, it seems like when msvc says "undefined" type they
> really mean "incomplete" type. At least according to their example.
>
> Could you try to include disk_io_job.h in that file instead of forward
> declaring it?
>
M***@massaroddel.de
2016-11-06 08:06:23 UTC
Permalink
> Using Visual Studio 2015 to Update 3 already, but I can't really see any
> difference between the appveyor build and my own, including
> disk_io_job.h makes no difference.
>
>
> Thanks.
> On 04/11/2016 00:13, Arvid Norberg wrote:
> > On Thu, Nov 3, 2016 at 2:33 PM, Michael Mckeown <***@outlook.com>
> > wrote:
> >
> >> http://pastebin.com/3Za0RAA3
> >>
> >> ^^ log
> >>
> >> Hi, attempted to build latest master and get numerous errors relating to
> >> tailqueue, anyhow point of trying was to see if file_completed_alert was
> >> operational again?
> >>
> > Do you know how your build differs from the one on appveyor? (which passes)
> >
> > Looking up error C2139, it seems like when msvc says "undefined" type they
> > really mean "incomplete" type. At least according to their example.
> >
> > Could you try to include disk_io_job.h in that file instead of forward
> > declaring it?
> >
>

I get the same errors. It seems that the compiler does not like the second parameter or it
evaluates to nothing or is really missing:

template <typename U, typename Cond> friend struct tailqueue;

template <typename T, typename Cond = typename std::enable_if<
std::is_base_of<tailqueue_node<T>, T>::value>::type>
struct tailqueue


MassaRoddel
Arvid Norberg
2016-11-14 01:46:56 UTC
Permalink
Alden, I have a feeling this is what made me leave these enable-if
expressions commented out.

My suspicion is that msvc's lack of proper 2-phase lookup is causing the
problem, requiring this type to be complete at declaration time, rather
than instantiation time.

Since the enable-ifs don't really add that much value, do you think it
would make sense to remove them?

On Sun, Nov 6, 2016 at 3:06 AM, <***@massaroddel.de> wrote:

>
> > Using Visual Studio 2015 to Update 3 already, but I can't really see any
> > difference between the appveyor build and my own, including
> > disk_io_job.h makes no difference.
> >
> >
> > Thanks.
> > On 04/11/2016 00:13, Arvid Norberg wrote:
> > > On Thu, Nov 3, 2016 at 2:33 PM, Michael Mckeown <
> ***@outlook.com>
> > > wrote:
> > >
> > >> http://pastebin.com/3Za0RAA3
> > >>
> > >> ^^ log
> > >>
> > >> Hi, attempted to build latest master and get numerous errors relating
> to
> > >> tailqueue, anyhow point of trying was to see if file_completed_alert
> was
> > >> operational again?
> > >>
> > > Do you know how your build differs from the one on appveyor? (which
> passes)
> > >
> > > Looking up error C2139, it seems like when msvc says "undefined" type
> they
> > > really mean "incomplete" type. At least according to their example.
> > >
> > > Could you try to include disk_io_job.h in that file instead of forward
> > > declaring it?
> > >
> >
>
> I get the same errors. It seems that the compiler does not like the second
> parameter or it
> evaluates to nothing or is really missing:
>
> template <typename U, typename Cond> friend struct tailqueue;
>
> template <typename T, typename Cond = typename std::enable_if<
> std::is_base_of<tailqueue_node<T>, T>::value>::type>
> struct tailqueue
>
>
> MassaRoddel
>
> ------------------------------------------------------------
> ------------------
> Developer Access Program for Intel Xeon Phi Processors
> Access to Intel Xeon Phi processor-based developer platforms.
> With one year of Intel Parallel Studio XE.
> Training and support from Colfax.
> Order your platform today. http://sdm.link/xeonphi
> _______________________________________________
> Libtorrent-discuss mailing list
> Libtorrent-***@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/libtorrent-discuss
>



--
Arvid Norberg
Alden Torres
2016-11-14 01:55:46 UTC
Permalink
I have no particular interest on the "enable-ifs" but I'm a
little surprised by this issue since appveyor build without problems, but
maybe the CI bjam configuration makes the full type include.


G+ http://www.google.com/profiles/aldenml

On Sun, Nov 13, 2016 at 8:46 PM, Arvid Norberg <***@gmail.com>
wrote:

> Alden, I have a feeling this is what made me leave these enable-if
> expressions commented out.
>
> My suspicion is that msvc's lack of proper 2-phase lookup is causing the
> problem, requiring this type to be complete at declaration time, rather
> than instantiation time.
>
> Since the enable-ifs don't really add that much value, do you think it
> would make sense to remove them?
>
> On Sun, Nov 6, 2016 at 3:06 AM, <***@massaroddel.de> wrote:
>
> >
> > > Using Visual Studio 2015 to Update 3 already, but I can't really see
> any
> > > difference between the appveyor build and my own, including
> > > disk_io_job.h makes no difference.
> > >
> > >
> > > Thanks.
> > > On 04/11/2016 00:13, Arvid Norberg wrote:
> > > > On Thu, Nov 3, 2016 at 2:33 PM, Michael Mckeown <
> > ***@outlook.com>
> > > > wrote:
> > > >
> > > >> http://pastebin.com/3Za0RAA3
> > > >>
> > > >> ^^ log
> > > >>
> > > >> Hi, attempted to build latest master and get numerous errors
> relating
> > to
> > > >> tailqueue, anyhow point of trying was to see if file_completed_alert
> > was
> > > >> operational again?
> > > >>
> > > > Do you know how your build differs from the one on appveyor? (which
> > passes)
> > > >
> > > > Looking up error C2139, it seems like when msvc says "undefined" type
> > they
> > > > really mean "incomplete" type. At least according to their example.
> > > >
> > > > Could you try to include disk_io_job.h in that file instead of
> forward
> > > > declaring it?
> > > >
> > >
> >
> > I get the same errors. It seems that the compiler does not like the
> second
> > parameter or it
> > evaluates to nothing or is really missing:
> >
> > template <typename U, typename Cond> friend struct tailqueue;
> >
> > template <typename T, typename Cond = typename std::enable_if<
> > std::is_base_of<tailqueue_node<T>, T>::value>::type>
> > struct tailqueue
> >
> >
> > MassaRoddel
> >
> > ------------------------------------------------------------
> > ------------------
> > Developer Access Program for Intel Xeon Phi Processors
> > Access to Intel Xeon Phi processor-based developer platforms.
> > With one year of Intel Parallel Studio XE.
> > Training and support from Colfax.
> > Order your platform today. http://sdm.link/xeonphi
> > _______________________________________________
> > Libtorrent-discuss mailing list
> > Libtorrent-***@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/libtorrent-discuss
> >
>
>
>
> --
> Arvid Norberg
> ------------------------------------------------------------
> ------------------
> Developer Access Program for Intel Xeon Phi Processors
> Access to Intel Xeon Phi processor-based developer platforms.
> With one year of Intel Parallel Studio XE.
> Training and support from Colfax.
> Order your platform today. http://sdm.link/xeonphi
> _______________________________________________
> Libtorrent-discuss mailing list
> Libtorrent-***@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/libtorrent-discuss
>
Loading...