Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 507998 - net-p2p/qbittorrent-3.1.9[-X] requires qtsinglecoreapplication.prf
Summary: net-p2p/qbittorrent-3.1.9[-X] requires qtsinglecoreapplication.prf
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Markos Chandras (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-04-18 12:09 UTC by Zetok
Modified: 2014-05-24 22:55 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
corrected ebuild (qbittorrent-3.1.9-r1.ebuild,1.41 KB, text/plain)
2014-04-18 12:09 UTC, Zetok
Details
build.log for qbittorrent[-X] (build.log,7.58 KB, text/plain)
2014-04-20 07:23 UTC, Zetok
Details
build.log for qbittorrent[X] (build.log,9.35 KB, text/plain)
2014-04-20 07:39 UTC, Zetok
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Zetok 2014-04-18 12:09:25 UTC
Created attachment 375196 [details]
corrected ebuild

qBittorent needs qtsingleapplication to have use X enabled, without it qtsingleapplication does not provide qtsingleapplication.h, which results in qbittorrent failing to build.


Reproducible: Always

Steps to reproduce:
1. USE="-X" emerge dev-qt/qtsingleapplication net-p2p/qbittorrent

Expected result:
Emerge should refuse to start and ask for USE change.

Actual result:
Emerge fails to build.
Relevant part of failed build log:

In file included from mainwindow.cpp:83:0:
sessionapplication.h:39:33: fatal error: qtsingleapplication.h: No such file or directory
 #include "qtsingleapplication.h"
                                 ^
compilation terminated.


Enabling 'X' use flag for dev-qt/qtsingleapplication lets build succeed.


I include modified ebuild, that I think should work, though I haven't tested it.
Comment 1 Markos Chandras (RETIRED) gentoo-dev 2014-04-19 16:27:06 UTC
Requiring X unconditionally is a mistake. It probably needs [X?]
Comment 2 Markos Chandras (RETIRED) gentoo-dev 2014-04-19 18:54:19 UTC
Since you haven't provided a build.log, I assumed your build failure was because you were using qbittorrent with IUSE=X but you had qtsingleapplication compiled without it. This should be now fixed in tree.
Comment 3 Zetok 2014-04-19 23:11:42 UTC
Even in a case where I tried to compile qbittorrent with IUSE="-X", build failed if qtsingleapplication didn't have IUSE="X" enabled.

Sorry that I didn't write it explicitly earlier, I though that `USE="-X" emerge dev-qt/qtsingleapplication net-p2p/qbittorrent` is equivalent.
Comment 4 Davide Pesavento (RETIRED) gentoo-dev 2014-04-20 01:11:58 UTC
Reopening.

Please provide a full build log of the failed merge.
Comment 5 Zetok 2014-04-20 07:23:05 UTC
Created attachment 375344 [details]
build.log for qbittorrent[-X]
Comment 6 Zetok 2014-04-20 07:39:32 UTC
Created attachment 375346 [details]
build.log for qbittorrent[X]

Previous build.log was for qbittorrent with USE="-X", missing piece: qtsinglecoreapplication.h

This build.log is for qbittorrent with USE="X", missing piece: qtsingleapplication.h
Comment 7 Markos Chandras (RETIRED) gentoo-dev 2014-04-20 08:59:18 UTC
(In reply to Zetok from comment #5)
> Created attachment 375344 [details]
> build.log

This is a different problem. This one complains about qtsinglecoreapplication.h not the qtsingleapplication.h header.
Comment 8 Markos Chandras (RETIRED) gentoo-dev 2014-05-02 07:41:18 UTC
(In reply to Markos Chandras from comment #7)
> (In reply to Zetok from comment #5)
> > Created attachment 375344 [details]
> > build.log
> 
> This is a different problem. This one complains about
> qtsinglecoreapplication.h not the qtsingleapplication.h header.

Davide am I correct to assume that qtsingleapplication should *not* need 'X' in order to provide 'qtsinglecoreapplication.h'. This feels wrong doesn't it?
Comment 9 Davide Pesavento (RETIRED) gentoo-dev 2014-05-02 10:42:54 UTC
(In reply to Markos Chandras from comment #8)
> Davide am I correct to assume that qtsingleapplication should *not* need 'X'
> in order to provide 'qtsinglecoreapplication.h'.

Yes, that is correct, qtsinglecoreapplication.h is installed unconditionally.
Comment 10 Markos Chandras (RETIRED) gentoo-dev 2014-05-02 19:24:47 UTC
(In reply to Davide Pesavento from comment #9)
> (In reply to Markos Chandras from comment #8)
> > Davide am I correct to assume that qtsingleapplication should *not* need 'X'
> > in order to provide 'qtsinglecoreapplication.h'.
> 
> Yes, that is correct, qtsinglecoreapplication.h is installed unconditionally.

If that's true, then what's the problem in this bug? It seems like qtsingleapplication[X] is required even for qbittorrent[-X] because of the qtsinglecoreapplication.h
Comment 11 cjanderson 2014-05-14 23:23:41 UTC
(In reply to Markos Chandras from comment #10)
> (In reply to Davide Pesavento from comment #9)
> > (In reply to Markos Chandras from comment #8)
> > > Davide am I correct to assume that qtsingleapplication should *not* need 'X'
> > > in order to provide 'qtsinglecoreapplication.h'.
> > 
> > Yes, that is correct, qtsinglecoreapplication.h is installed unconditionally.
> 
> If that's true, then what's the problem in this bug? It seems like
> qtsingleapplication[X] is required even for qbittorrent[-X] because of the
> qtsinglecoreapplication.h

I think that the problem is in the src.pro file:
usesystemqtsingleapplication {
  nox {
    CONFIG += qtsinglecoreapplication
  } else {
    CONFIG += qtsingleapplication
  }
} else {

should probably become just
usesystemqtsingleapplication {
  nox {
    CONFIG += qtsingleapplication
  }
} else {
...

because as far as I can tell, and I would be guessing here, it seems that the two packages qtsinglecoreapplication and qtsingleapplication were merged into dev-qt/qtsingleapplication. So dev-qt/qtsingleapplication is always needed an a bug might need to be file upstream.
Comment 12 Markos Chandras (RETIRED) gentoo-dev 2014-05-17 10:10:15 UTC
(In reply to cjanderson from comment #11)
> because as far as I can tell, and I would be guessing here, it seems that
> the two packages qtsinglecoreapplication and qtsingleapplication were merged
> into dev-qt/qtsingleapplication. So dev-qt/qtsingleapplication is always
> needed an a bug might need to be file upstream.

Pulling dev-qt/qtsingleapplication is not a problem as long as it does not require [X] if X is disabled on qbittorrent. I feel there is something wrong with our qtsingleapplication package.
Comment 13 Davide Pesavento (RETIRED) gentoo-dev 2014-05-17 15:42:27 UTC
The build logs are useless, they don't show compiler command lines.
Comment 14 Davide Pesavento (RETIRED) gentoo-dev 2014-05-17 16:00:29 UTC
Zetok, remove -s from your MAKEOPTS and do *NOT* add it again, ever, unless you want all your bugs closed as INVALID or NEEDINFO.
Comment 15 Davide Pesavento (RETIRED) gentoo-dev 2014-05-17 17:33:59 UTC
The problem is that qbittorrent[-X] wants to load qtsinglecoreapplication.prf but it fails because we install only qtsingleapplication.prf. Actually I'm not sure where that file comes from since it's not present in the repository...

Anyway, I'll fix this soon.
Comment 16 cjanderson 2014-05-18 22:11:53 UTC
(In reply to Davide Pesavento from comment #15)
> The problem is that qbittorrent[-X] wants to load
> qtsinglecoreapplication.prf but it fails because we install only
> qtsingleapplication.prf. Actually I'm not sure where that file comes from
> since it's not present in the repository...
> 
> Anyway, I'll fix this soon.

I believe that qtsinglecoreapplication.prf has gone the way of the dodo. The header file can be found in qtsingleapplication.prf. Why not just lodge a bug upstream? 

What do you make of this:

host ~ # q belongs /usr/share/qt4/mkspecs/features/qtsingleapplication.prf
dev-qt/qtsingleapplication 

host ~ # q files dev-qt/qtsingleapplication
/usr/include/qt4/QtSolutions/qtsinglecoreapplication.h
/usr/share/qt4/mkspecs/features/qtsingleapplication.prf
/usr/lib64/libQtSolutions_SingleApplication-2.6.so.1.0.0
/usr/lib64/libQtSolutions_SingleApplication-2.6.so
/usr/lib64/libQtSolutions_SingleApplication-2.6.so.1.0
/usr/lib64/libQtSolutions_SingleApplication-2.6.so.1

Isn't this the singlecoreapplication?
Comment 17 Davide Pesavento (RETIRED) gentoo-dev 2014-05-18 23:19:40 UTC
(In reply to cjanderson from comment #16)
> I believe that qtsinglecoreapplication.prf has gone the way of the dodo. The
> header file can be found in qtsingleapplication.prf. Why not just lodge a
> bug upstream? 
> 

Maybe. Maybe not. Given that the upstream package doesn't have *any* .prf file, there's no right or wrong here... What do other distros do?

> What do you make of this:
> 
> host ~ # q belongs /usr/share/qt4/mkspecs/features/qtsingleapplication.prf
> dev-qt/qtsingleapplication 
> 
> host ~ # q files dev-qt/qtsingleapplication
> /usr/include/qt4/QtSolutions/qtsinglecoreapplication.h
> /usr/share/qt4/mkspecs/features/qtsingleapplication.prf
> /usr/lib64/libQtSolutions_SingleApplication-2.6.so.1.0.0
> /usr/lib64/libQtSolutions_SingleApplication-2.6.so
> /usr/lib64/libQtSolutions_SingleApplication-2.6.so.1.0
> /usr/lib64/libQtSolutions_SingleApplication-2.6.so.1
> 
> Isn't this the singlecoreapplication?

What's your point?
Comment 18 cjanderson 2014-05-19 11:15:02 UTC
> > I believe that qtsinglecoreapplication.prf has gone the way of the dodo. The
> > header file can be found in qtsingleapplication.prf. Why not just lodge a
> > bug upstream? 
> > 
> 
> Maybe. Maybe not. Given that the upstream package doesn't have *any* .prf
> file, there's no right or wrong here... What do other distros do?

Most probably build never build without the no-gui option. See gentoo is special here.

> > What do you make of this:
> > 
> > host ~ # q belongs /usr/share/qt4/mkspecs/features/qtsingleapplication.prf
> > dev-qt/qtsingleapplication 
> > 
> > host ~ # q files dev-qt/qtsingleapplication
> > /usr/include/qt4/QtSolutions/qtsinglecoreapplication.h
> > /usr/share/qt4/mkspecs/features/qtsingleapplication.prf
> > /usr/lib64/libQtSolutions_SingleApplication-2.6.so.1.0.0
> > /usr/lib64/libQtSolutions_SingleApplication-2.6.so
> > /usr/lib64/libQtSolutions_SingleApplication-2.6.so.1.0
> > /usr/lib64/libQtSolutions_SingleApplication-2.6.so.1
> > 
> > Isn't this the singlecoreapplication?
> What's your point?

Isn't this what you are looking for? Isn't this the cause of the error?

Just change the pro file as suggested, which is what I have been doing for most of this year since I first noticed this problem but could not be bothered fixing it myself. Honestly, I have seen at least 3 new versions of qbittorrent with this same problem.
Comment 19 Davide Pesavento (RETIRED) gentoo-dev 2014-05-24 21:34:46 UTC
I just committed qtsingleapplication-2.6.1_p20130904-r1, which installs qtsinglecoreapplication.prf
Comment 20 Davide Pesavento (RETIRED) gentoo-dev 2014-05-24 22:55:32 UTC
Fixed in 3.1.9.2-r1