View previous topic :: View next topic |
Author |
Message |
rwk n00b
Joined: 15 Nov 2017 Posts: 6
|
Posted: Wed Nov 15, 2017 10:00 am Post subject: can't emerge mythtv on arm64 (shield tv) |
|
|
Code: | shieldtv qtsql # emerge mythtv
* IMPORTANT: 9 news items need reading for repository 'gentoo'.
* Use eselect news read to view new items.
Calculating dependencies... done!
!!! All ebuilds that could satisfy "dev-qt/qtsql:5[mysql]" have been masked.
!!! One of the following masked packages is required to complete your request:
- dev-qt/qtsql-5.7.1::gentoo (masked by: ~arm64 keyword)
(dependency required by "media-tv/mythtv-0.28.1-r1::gentoo" [ebuild])
(dependency required by "mythtv" [argument])
For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.
|
qtsql-5.7.1 *is* installed (successfully emerged) *with* the mysql USE flag.
I have also added:
Code: | =dev-qt/qtsql-5.7.1 |
to /etc/portage/package.unmask
I have also added:
Code: | =dev-qt/qtsql-5.7.1-r1 ~arm64 |
to /etc/portage/package.accept_keywords
I have searched google for answers but found none.
Can anyone suggest a solution?
Many thanks!
[Moderator edit: added [code] tags to preserve output layout. -Hu] |
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 31255 Location: here
|
Posted: Wed Nov 15, 2017 11:06 am Post subject: |
|
|
Try to add only dev-qt/qtsql-5.7.1 (not -r1) in package.accept_keywords
EDIT: Welcome to gentoo! _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
xaviermiller Bodhisattva
Joined: 23 Jul 2004 Posts: 8717 Location: ~Brussels - Belgique
|
Posted: Wed Nov 15, 2017 11:32 am Post subject: |
|
|
Moved from Portage & Programming to Gentoo on ARM. _________________ Kind regards,
Xavier Miller |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54577 Location: 56N 3W
|
Posted: Wed Nov 15, 2017 12:51 pm Post subject: |
|
|
rwk,
Welcome to Gentoo.
Code: | - dev-qt/qtsql-5.7.1::gentoo (masked by: ~arm64 keyword) |
arm64 is an experimental architecture on Gentoo. Little more than the packages required to build a stage3 are marked stable.
Expect to use ACCEPT_KEYWORDS="~arm64" in make.conf and to add things to package.accept_keywords too.
Lots of packages that are missing any arm64 keyword work, its just that nobody knows yet. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
rwk n00b
Joined: 15 Nov 2017 Posts: 6
|
Posted: Fri Nov 17, 2017 2:19 am Post subject: |
|
|
Thank you for your reply. I want to reiterate, the dev-qt/qtsql package (with USE=mysql) is already successfully emerged on this arm64 system. The question is, why doesn't the dependency calculation made for mythtv recognize this?
Code: | # ACCEPT_KEYWORDS="~arm64" emerge -a mythtv
emerge: there are no ebuilds to satisfy "dev-qt/qtsql:5=[mysql]".
|
even though the qtsql ebuilds do exist and are installed.
I have been unable to get around this error except with --nodeps which then fails on every missing dependency (of which there are many many).
Please advise... (anyone)
Additional information:
I upgraded to dev-qt/qtsql-5.9.2 but still get the above error. Note the following:
Code: | # equery u qtsql
* Found these USE flags for dev-qt/qtsql-5.9.2:
U I
- - debug : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
- - freetds : Add support for the TDS protocol to connect to MSSQL/Sybase databases
- - odbc : Add ODBC Support (Open DataBase Connectivity)
- - postgres : Add support for the postgresql database
+ - sqlite : Add support for sqlite - embedded sql database
- - test : Workaround to pull in packages needed to run with FEATURES=test. Portage-2.1.2 handles this internally, so don't set it in make.conf/package.use anymore
|
Why is "mysql" not listed above? It *is* in the ebuild:
Code: | IUSE="freetds mysql oci8 odbc postgres +sqlite" |
Does this have something to do with the message:
Code: | emerge: there are no ebuilds to satisfy "dev-qt/qtsql:5=[mysql]". |
Is there any additional info I can provide to troubleshoot this?
[Moderator edit: added [code] tags to preserve output layout. -Hu] |
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 22598
|
Posted: Fri Nov 17, 2017 2:54 am Post subject: |
|
|
As I read profiles/arch/arm64/use.mask, USE flag mysql is masked for havent tested yet (sic) on arm64. If I had to guess, I would say that equery is hiding it from you because you can't enable it. The output of emerge --pretend --verbose --tree dev-qt/qtsql:5 might be useful. |
|
Back to top |
|
|
rwk n00b
Joined: 15 Nov 2017 Posts: 6
|
Posted: Sat Nov 18, 2017 12:20 am Post subject: |
|
|
Code: | # USE=mysql emerge --pretend --verbose --tree dev-qt/qtsql:5
These are the packages that would be merged, in reverse order:
Calculating dependencies... done!
[ebuild R ] dev-qt/qtsql-5.9.2:5/5.9::gentoo USE="sqlite -debug -freetds (-mysql) (-oci8) -odbc -postgres {-test}" 0 KiB
Total: 1 package (1 reinstall), Size of downloads: 0 KiB
|
Is it normal (expected?) to see (-mysql) in qtsql when USE=mysql *was* used in the original build?
Is there a way around this?
Thanks for your help!
P.S. I am only interested in mythtv-frontend, so only the mysql client libraries are needed. I would therefore expect things to work even if mysql is itself untested. I want to force a way around this if there is a way.
[Moderator edit: added [code] tags to preserve output layout. -Hu] |
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 22598
|
Posted: Sat Nov 18, 2017 2:03 am Post subject: |
|
|
Yes, it is normal. Since IUSE in dev-qt/qtsql specifies mysql (among other tokens), mysql must appear in the USE= line you showed. However, since it is masked on your profile, it is hard-disabled by the package manager. As long as it is hard-disabled, your existing attempt to enable it will be ignored. Per man 1 emerge documentation on --verbose (which I wouldn't expect you to know; I only cite so you will know next time), the parentheses indicate the flag is forced, masked, or removed (yes, three states are represented by a single decoration; context usually disambiguates this).
You could force your way around this with a local profile override unmasking the mysql USE flag. Per man 5 portage (again, cited so you can read the details I am omitting, not as a rebuke for not having read this before posting), I think the steps for this are (untested, from memory): Code: | mkdir -p -m755 /etc/portage/profile
printf '%s\n' -mysql >> /etc/portage/profile/use.mask
chmod 644 /etc/portage/profile/use.mask | Beware that profile overrides take you into unsupported territory. The package may not work as expected, or at all. Any bugs you find while using a profile override may be rejected. Any bugs you choose to file anyway should be clearly marked that you are using an override, so that respondents know not to rely on standard assumptions. With those disclaimers made, feel free to post for help. |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54577 Location: 56N 3W
|
Posted: Sat Nov 18, 2017 12:40 pm Post subject: |
|
|
rwk,
Nervous readers should not try this at home.
Code: | Pi3_64 portage # emerge mythtv -av
These are the packages that would be merged, in order:
Calculating dependencies... done!
The following keyword changes are necessary to proceed:
(see "package.accept_keywords" in the portage(5) man page for more details)
# required by mythtv (argument)
=media-tv/mythtv-0.28.1-r1 **
NOTE: The --autounmask-keep-masks option will prevent emerge
from creating package.unmask or ** keyword changes.
Would you like to add these changes to your config files? [Yes/No] n
* In order to avoid wasting time, backtracking has terminated early
* due to the above autounmask change(s). The --autounmask-backtrack=y
* option can be used to force further backtracking, but there is no
* guarantee that it will produce a solution.
emerge: there are no ebuilds to satisfy "dev-qt/qtsql:5[mysql]".
(dependency required by "media-tv/mythtv-0.28.1-r1::gentoo" [ebuild])
(dependency required by "mythtv" [argument])
|
This tells that media-tv/mythtv is not keyworded for arm64 at all, and if it was there are no ebuilds to satisfy "dev-qt/qtsql:5 with mysql set.
Adding <media-tv/mythtv-9999 ** to /etc/portage/package.accept_keywords/mythtv fixes the keyword.
Adding dev-qt/qtsql -mysql to /etc/portage/profile/package.use.mask fixes the hard mask
Enable USE=mysql in the normal way
Rinse and repeat.
It may not work, It might work and drink all the beer in your fridge while you watch mythtv :)
File a keywording/unmasking bug if it works. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
mDup Apprentice
Joined: 14 Apr 2006 Posts: 212
|
Posted: Mon Nov 27, 2017 2:49 am Post subject: |
|
|
rwk wrote: | Code: | # USE=mysql emerge --pretend --verbose --tree dev-qt/qtsql:5
These are the packages that would be merged, in reverse order:
Calculating dependencies... done!
[ebuild R ] dev-qt/qtsql-5.9.2:5/5.9::gentoo USE="sqlite -debug -freetds (-mysql) (-oci8) -odbc -postgres {-test}" 0 KiB
Total: 1 package (1 reinstall), Size of downloads: 0 KiB
|
Is it normal (expected?) to see (-mysql) in qtsql when USE=mysql *was* used in the original build?
Is there a way around this?
Thanks for your help!
P.S. I am only interested in mythtv-frontend, so only the mysql client libraries are needed. I would therefore expect things to work even if mysql is itself untested. I want to force a way around this if there is a way.
[Moderator edit: added [code] tags to preserve output layout. -Hu] |
Just curious, what does:
Code: | # grep mysql /usr/portage/profiles/arch/arm64/use.mask |
tell?
Also, can you boot shield to run gentoo, and, if so, is gentoo running booted from internal storage? |
|
Back to top |
|
|
NeddySeagoon Administrator
Joined: 05 Jul 2003 Posts: 54577 Location: 56N 3W
|
Posted: Mon Nov 27, 2017 3:19 pm Post subject: |
|
|
rwk,
NeddySeagoon wrote: | Adding <media-tv/mythtv-9999 ** to /etc/portage/package.accept_keywords/mythtv fixes the keyword.
Adding dev-qt/qtsql -mysql to /etc/portage/profile/package.use.mask fixes the hard mask
Enable USE=mysql in the normal way |
That let me build everything except mythtv itself. media-tv/mythtv-0.28.1-r1 failed with Code: | libavcodec/libfaac.c: In function ‘Faac_encode_init’:
libavcodec/libfaac.c:117:13: error: ‘struct faacEncConfiguration’ has no member named ‘allowMidside’ | but thats not an arm64 issue.
The hard one is dev-qt/qtwebkit which needs MAKEOPTS="-j1" and distcc disabled to build on a Raspberry Pi 3 in arm64 mode. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
|
|