View previous topic :: View next topic |
Author |
Message |
mikefot l33t
![l33t l33t](/images/ranks/rank_rect_4.gif)
Joined: 19 Nov 2014 Posts: 709
|
Posted: Fri Apr 27, 2018 10:07 am Post subject: problem emerging libtool....[SOLVED] |
|
|
Dear All,
In a recent world update (I am running amd64 testing on an amd kaveri box)
libtool has failed to emerge:
See here:
Code: | >>> Verifying ebuild manifests
>>> Emerging (1 of 1) sys-devel/libtool-2.4.6-r5::gentoo
* libtool-2.4.6.tar.xz BLAKE2B SHA512 size ;-) ... [ ok ]
>>> Unpacking source...
>>> Unpacking libtool-2.4.6.tar.xz to /var/tmp/portage/sys-devel/libtool-2.4.6-r5/work
>>> Source unpacked in /var/tmp/portage/sys-devel/libtool-2.4.6-r5/work
>>> Preparing source in /var/tmp/portage/sys-devel/libtool-2.4.6-r5/work/libtool-2.4.6 ...
* ERROR: sys-devel/libtool-2.4.6-r5::gentoo failed (prepare phase):
* eapply_user (or default) must be called in src_prepare()!
*
* Call stack:
* ebuild.sh, line 789: Called __ebuild_main 'prepare'
* phase-functions.sh, line 1058: Called __dyn_prepare
* phase-functions.sh, line 385: Called die
* The specific snippet of code:
* die "eapply_user (or default) must be called in src_prepare()!"
*
* If you need support, post the output of `emerge --info '=sys-devel/libtool-2.4.6-r5::gentoo'`,
* the complete build log and the output of `emerge -pqv '=sys-devel/libtool-2.4.6-r5::gentoo'`.
* The complete build log is located at '/var/tmp/portage/sys-devel/libtool-2.4.6-r5/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/sys-devel/libtool-2.4.6-r5/temp/environment'.
* Working directory: '/var/tmp/portage/sys-devel/libtool-2.4.6-r5/work/libtool-2.4.6'
* S: '/var/tmp/portage/sys-devel/libtool-2.4.6-r5/work/libtool-2.4.6'
>>> Failed to emerge sys-devel/libtool-2.4.6-r5, Log file:
>>> '/var/tmp/portage/sys-devel/libtool-2.4.6-r5/temp/build.log' |
The log file is posted here:
Code: | djt /etc/portage # wgetpaste /var/tmp/portage/sys-devel/libtool-2.4.6-r5/temp/build.log
Your paste can be seen here: | https://paste.pound-python.org/show/rW6oLnjYgpCrkxtajnrY/
The output of
emerge --info '=sys-devel/libtool-2.4.6-r5::gentoo'
is posted here:
https://pastebin.com/G8bB0sdE
I also ran emerge pretend on the package:
Code: | djt /etc/portage # emerge -pqv '=sys-devel/libtool-2.4.6-r5::gentoo'
[ebuild U ] sys-devel/libtool-2.4.6-r5 [2.4.6-r4] USE="vanilla"
!!! The following installed packages are masked:
- xfce-extra/xfce-theme-manager-0.3.6::gentoo (masked by: package.mask)
/usr/portage/profiles/package.mask:
# Jason Zaman <perfinion@gentoo.org> (08 Apr 2018)
# Dead upstream, for an old version of Xfce
# Masked for removal in 30 days.
For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.
djt /etc/portage # |
Perhaps I need an extra use flag here.
Comments appreciated.
Regards
MF
Last edited by mikefot on Sat Apr 28, 2018 12:04 pm; edited 1 time in total |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
krinn Watchman
![Watchman Watchman](/images/ranks/rank-G-2-watchman.gif)
![](images/avatars/gallery/Blade Runner/movie_blade_runner_howl.gif)
Joined: 02 May 2003 Posts: 7470
|
Posted: Fri Apr 27, 2018 10:54 am Post subject: |
|
|
It's an ebuild bug.
What you can do?
1/ report the bug
2/ fix the ebuild yourself
* remove "default" in src_install() in the ebuild
* run ebuild libtool-2.4.6-r5.ebuild manifest |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
fedeliallalinea Administrator
![Administrator Administrator](/images/ranks/rank-admin.gif)
![](images/avatars/161653968057192eb39329f.jpg)
Joined: 08 Mar 2003 Posts: 31021 Location: here
|
Posted: Fri Apr 27, 2018 11:16 am Post subject: |
|
|
krinn wrote: | * remove "default" in src_install() in the ebuild |
You are sure? I think that he should add default in src_prepare _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
krinn Watchman
![Watchman Watchman](/images/ranks/rank-G-2-watchman.gif)
![](images/avatars/gallery/Blade Runner/movie_blade_runner_howl.gif)
Joined: 02 May 2003 Posts: 7470
|
Posted: Fri Apr 27, 2018 11:22 am Post subject: |
|
|
fedeliallalinea wrote: | krinn wrote: | * remove "default" in src_install() in the ebuild |
You are sure? I think that he should add default in src_prepare |
From packages gentoo, you can see it "default" appears in src_prepare and src_install
and the error message is complaining that "default" should only appears in src_prepare.
hence my: remove the one from src_install
check line 71 and 118 -> https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-devel/libtool/libtool-2.4.6-r5.ebuild |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
fedeliallalinea Administrator
![Administrator Administrator](/images/ranks/rank-admin.gif)
![](images/avatars/161653968057192eb39329f.jpg)
Joined: 08 Mar 2003 Posts: 31021 Location: here
|
Posted: Fri Apr 27, 2018 11:39 am Post subject: |
|
|
Code: | die "eapply_user (or default) must be called in src_prepare()!" |
No message tell that in src_prepare should be called eapply_user (from EAPI 6 is mandatory calling it) and you do it or calling eapply_user function or calling default that has eapply_user included. _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
krinn Watchman
![Watchman Watchman](/images/ranks/rank-G-2-watchman.gif)
![](images/avatars/gallery/Blade Runner/movie_blade_runner_howl.gif)
Joined: 02 May 2003 Posts: 7470
|
Posted: Fri Apr 27, 2018 11:44 am Post subject: |
|
|
fedeliallalinea
![Wink ;)](images/smiles/icon_wink.gif) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
mikefot l33t
![l33t l33t](/images/ranks/rank_rect_4.gif)
Joined: 19 Nov 2014 Posts: 709
|
Posted: Fri Apr 27, 2018 12:20 pm Post subject: |
|
|
Many thanks for the comments and suggestions here.
I have a couple of dumb questions.
The first one is this:
In what local directory on my install here is the ebuild file that I am trying to compile likely to reside?
The second one is:
I looked at the Bugzilla page for inspiration on filing an ebuild bug correctly here:
https://wiki.gentoo.org/wiki/Bugzilla/Bug_report_guide
It says that the Bugzilla guide is for Mozilla browser bugs as far as I can see not gentoo bugs.
Where exactly do you file the gentoo ebuild bug report itself?
Do you upload it to a website?
Comments appreciated.
Regards
MF
PS Wait a minute I think I have found the gentoo bug website :
https://bugs.gentoo.org/
PPS I have found the two lines with "default" written in the code in the web link to the ebuild that krinn helpfully specified.
But surely in reality I would have to edit a copy of the file locally on my PC here and comment out these lines and then run the
ebuild test command you specify to look for the bug and fix it here?
I have posted the bug as best I can here:
https://bugs.gentoo.org/654198
Regards
MF
Last edited by mikefot on Fri Apr 27, 2018 1:07 pm; edited 1 time in total |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
krinn Watchman
![Watchman Watchman](/images/ranks/rank-G-2-watchman.gif)
![](images/avatars/gallery/Blade Runner/movie_blade_runner_howl.gif)
Joined: 02 May 2003 Posts: 7470
|
Posted: Fri Apr 27, 2018 12:58 pm Post subject: |
|
|
Code: | sed -i '118d' /usr/portage/sys-devel/libtool/libtool-2.4.6-r5.ebuild
ebuild /usr/portage/sys-devel/libtool/libtool-2.4.6-r5.ebuild manifest
|
the "sed" is just delete line 118 (something you can also have done just with nano)
the "ebuild" is to tell portage to rebuild manifest for the ebuild (because the sed edit change its content).
that's not really the "good" way of doing things, because the changes will be lost on next --sync, but i think this "tiny" bug will be catch fast (specially if you report it ) and will be fix, and on next --sync the fixed ebuild will replace your fixed version ; all good.
the proper way should be copy the ebuild in your local overlay, but you either need to emerge it from your local overlay (emerge =...-r5::localoverlayname) or revbump it to -r6, hinting portage to use that version instead.
so for such "tiny" issue, local overlay will bore you more than just editing the one from the tree with hope next --sync will get fixed version.
yep it's in bugs.gentoo.org, i don't think any dev will need more hint than just pointing him the error to fix it. it could be even already fix if the dev has tried emerge it himself. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
mikefot l33t
![l33t l33t](/images/ranks/rank_rect_4.gif)
Joined: 19 Nov 2014 Posts: 709
|
Posted: Fri Apr 27, 2018 1:11 pm Post subject: |
|
|
Many thanks again for the comments and quick fix suggestion.
This sed command thing is quite clever.
I have posted the bug and as you suggest this could result in a quick fix and updated version of the libtool ebuild.
Then I can fetch it and emerge it and the problem should be fixed.
Cheers
MF
PS
I think this could be a fix for the ebuild:
https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=17f734acf0c58267fce1a8fc89cdfab876c33068
Regards
MF
PPS
ie the use flag vanilla fixes it somehow. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
krinn Watchman
![Watchman Watchman](/images/ranks/rank-G-2-watchman.gif)
![](images/avatars/gallery/Blade Runner/movie_blade_runner_howl.gif)
Joined: 02 May 2003 Posts: 7470
|
Posted: Fri Apr 27, 2018 2:14 pm Post subject: |
|
|
this fix a different issue.
this fix is to make sure user with vanilla useflag will still get patches apply for them too, while previous ebuild version was just exiting if user use vanilla, making the "default" never run, and patches never use.
i must say i'm a bit surprise a dev as seen this error while not seen the other more obvious one.
for me the ebuild is still buggy:
* your issue remains
* ebuild also exhibit a bug for prefix users using "vanilla" (because prefix user using "vanilla" will exit because of vanilla useflag before the ebuild reach the special part for prefix users) ; i doubt prefix users couldn't use vanilla useflag. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
fedeliallalinea Administrator
![Administrator Administrator](/images/ranks/rank-admin.gif)
![](images/avatars/161653968057192eb39329f.jpg)
Joined: 08 Mar 2003 Posts: 31021 Location: here
|
Posted: Fri Apr 27, 2018 2:31 pm Post subject: |
|
|
krinn wrote: | this fix a different issue.
this fix is to make sure user with vanilla useflag will still get patches apply for them too, while previous ebuild version was just exiting if user use vanilla, making the "default" never run, and patches never use.
i must say i'm a bit surprise a dev as seen this error while not seen the other more obvious one. |
But it's the only error. Indeed mikefot enables vanilla use flag and for this he has catch the error.
I don't undestand because you say
krinn wrote: | and the error message is complaining that "default" should only appears in src_prepare. |
this is wrong, default can be called in src_install _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
mikefot l33t
![l33t l33t](/images/ranks/rank_rect_4.gif)
Joined: 19 Nov 2014 Posts: 709
|
Posted: Fri Apr 27, 2018 2:36 pm Post subject: |
|
|
Many thanks for the comments and suggestions.
When I ran emerge pretend (see above) for libtool
it does suggest running ........
I will try this and see what happens.
Regds
MF
PS I did ; it did add it to the make.conf file.
I then ran but it still crashed.
Cheers
MF
PPS
If you apply it as a patch you would make a file.patch with this code in it:
Code: | index 710968a..0146056 100644
--- a/sys-devel/libtool/libtool-2.4.6-r5.ebuild
+++ b/sys-devel/libtool/libtool-2.4.6-r5.ebuild
@@ -66,9 +66,12 @@ src_prepare() {
)
fi
- use vanilla && return 0
-
- default
+ if use vanilla ; then
+ eapply_user
+ return 0
+ else
+ default
+ fi
if use prefix ; then
# seems that libtool has to know about EPREFIX a little bit |
You then do what it says on this web page https://wiki.gentoo.org/wiki//etc/portage/patches
I assume:
Quote: | For testing, step into the package's ebuild directory and run the ebuild pcmanfm-1.2.5.ebuild clean prepare:
|
except it will be the ebuild for libtool of course and it will go into the patch directory and add the patch in automatically.
But it may still not work.
Cheers
MF
Last edited by mikefot on Fri Apr 27, 2018 3:04 pm; edited 1 time in total |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Polynomial-C Retired Dev
![Retired Dev Retired Dev](/images/ranks/rank-retired.gif)
![](images/avatars/gallery/Funny_Figure/music.gif)
Joined: 01 Jun 2003 Posts: 1432 Location: Germany
|
Posted: Fri Apr 27, 2018 2:54 pm Post subject: |
|
|
This has been fixed meanwhile... _________________ The manual said "Requires Windows10 or better" so I installed GNU/Linux...
my portage overlay
Need a stage1 tarball? (Unofficial builds) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
mikefot l33t
![l33t l33t](/images/ranks/rank_rect_4.gif)
Joined: 19 Nov 2014 Posts: 709
|
Posted: Fri Apr 27, 2018 3:08 pm Post subject: |
|
|
OK, maybe it will work....
Thanks for creating the patch.
Regards
MF |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
krinn Watchman
![Watchman Watchman](/images/ranks/rank-G-2-watchman.gif)
![](images/avatars/gallery/Blade Runner/movie_blade_runner_howl.gif)
Joined: 02 May 2003 Posts: 7470
|
Posted: Fri Apr 27, 2018 3:21 pm Post subject: |
|
|
fedeliallalinea wrote: | I don't undestand because you say
krinn wrote: | and the error message is complaining that "default" should only appears in src_prepare. |
this is wrong, default can be called in src_install |
Because i made a shortcut myself, that could be wrong, Polynomial-C will be able to tell us
The message clearly state eapply_user (or default) must be called in src_prepare()! because of vanilla "default" that appears in src_prepare wasn't call, boom
But "default" also appears in src_install, which i shortcut to "use default in src_prepare only".
It's actually possible that it might be valid to call "default" in src_prepare and once this has been made, call again "default" from elsewhere.
If this is the case, the error message is a bit misleading itself, it would had been better made with a "eapply_user (or default) must be called in src_prepare() before calling it again"
So for me, i don't see why "default" is called in src_install
Polynomial will tell us too about the case for prefix users using +vanilla, because if prefix users could use +vanilla, and prefix users need the hack seen in the ebuild, chance the hack for +vanilla for prefix users is also need ; but the ebuild will not apply it, as with vanilla, it will return 0 pior reaching the hack (the added eapply "${FILESDIR}"/${PN}-2.2.10-eprefix.patch and eprefixify m4/libtool.m4) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
fedeliallalinea Administrator
![Administrator Administrator](/images/ranks/rank-admin.gif)
![](images/avatars/161653968057192eb39329f.jpg)
Joined: 08 Mar 2003 Posts: 31021 Location: here
|
Posted: Fri Apr 27, 2018 3:39 pm Post subject: |
|
|
krinn wrote: | So for me, i don't see why "default" is called in src_install |
Because with default you call default src_install, for EAPI 6 is
Code: | src_install() {
if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]] ; then
emake DESTDIR="${D}" install
fi
einstalldocs
} |
_________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
mikefot l33t
![l33t l33t](/images/ranks/rank_rect_4.gif)
Joined: 19 Nov 2014 Posts: 709
|
Posted: Fri Apr 27, 2018 3:43 pm Post subject: |
|
|
Dear All,
I tried running the ebuild having made a patch file for the libtool ebuild using the recipe provided by polynomial:
Code: | djt /etc/portage/patches/libtool # pwd
/etc/portage/patches/libtool
djt /etc/portage/patches/libtool # ebuild sys-devel/libtool/libtool-2.4.6-r5.ebuild clean prepare
Appending /etc/portage/patches/libtool to PORTDIR_OVERLAY...
!!! Repository 'x-libtool' is missing masters attribute in '/etc/portage/patches/libtool/metadata/layout.conf'
!!! Set 'masters = gentoo' in this file for future compatibility
ebuild: /etc/portage/patches/libtool/sys-devel/libtool/libtool-2.4.6-r5.ebuild: does not exist
djt /etc/portage/patches/libtool # |
I am not sure exactly what didn't work here.....
I thought my gentoo install would sniff out and fetch a copy of the libtool ebuild file and then compile it and
add the patch in.
But it has not worked.
Comments appreciated.
Regards
MF |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
krinn Watchman
![Watchman Watchman](/images/ranks/rank-G-2-watchman.gif)
![](images/avatars/gallery/Blade Runner/movie_blade_runner_howl.gif)
Joined: 02 May 2003 Posts: 7470
|
Posted: Fri Apr 27, 2018 4:00 pm Post subject: |
|
|
Ah i could still be wrong, but i think we're not speaking about the same thing
you are speaking about "default functions set in src_install", while i'm speaking about the function name "default" (as it appears in original ebuild at line 71 and 118) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
krinn Watchman
![Watchman Watchman](/images/ranks/rank-G-2-watchman.gif)
![](images/avatars/gallery/Blade Runner/movie_blade_runner_howl.gif)
Joined: 02 May 2003 Posts: 7470
|
Posted: Fri Apr 27, 2018 4:11 pm Post subject: |
|
|
mikefot: patches couldn't be apply to any ebuild ; it's a chicken/egg problem.
ebuild can patch source file for the program (libtool), and do that if they are told to do so inside them.
i think you are trying to add a patch to an ebuild that will patch the ebuild itself.
if you want use the patch provide by polymonial-C, you must use "patch" (the program from /usr/bin/patch) to apply that patch to your ebuild ; you can also just download the "patched ebuild" directly (https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-devel/libtool/libtool-2.4.6-r5.ebuild?id=17f734acf0c58267fce1a8fc89cdfab876c33068), which would be easier, or as Polynomial-C has commit it already, just emerge --sync and you will get updated version. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
krinn Watchman
![Watchman Watchman](/images/ranks/rank-G-2-watchman.gif)
![](images/avatars/gallery/Blade Runner/movie_blade_runner_howl.gif)
Joined: 02 May 2003 Posts: 7470
|
Posted: Fri Apr 27, 2018 4:13 pm Post subject: |
|
|
I'll report anyone that will push this "tiny" issue into page 2!!! ![Very Happy :D](images/smiles/icon_biggrin.gif) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
fedeliallalinea Administrator
![Administrator Administrator](/images/ranks/rank-admin.gif)
![](images/avatars/161653968057192eb39329f.jpg)
Joined: 08 Mar 2003 Posts: 31021 Location: here
|
Posted: Fri Apr 27, 2018 4:33 pm Post subject: |
|
|
krinn wrote: | Ah i could still be wrong, but i think we're not speaking about the same thing
you are speaking about "default functions set in src_install", while i'm speaking about the function name "default" (as it appears in original ebuild at line 71 and 118) |
If you call default in any phase portage call the default function. Sorry but I don't understand your problem (blame of my lack of knowledge of English)
https://devmanual.gentoo.org/ebuild-writing/eapi/index.html wrote: |
Default Phase Functions
The default pkg_nofetch and src_* phase functions are now accessible via a function having a name that begins with default_ and ends with the respective phase function name. For example, a call to a function with the name default_src_compile is equivalent to a call to the default src_compile implementation.
The default phase functions are:
default_pkg_nofetch
default_src_unpack
default_src_prepare
default_src_configure
default_src_compile
default_src_test
Default Phase Function Alias
A function named "default" is redefined for each phase so that it will call the default_* function corresponding to the current phase. For example, a call to the function named "default" during the src_compile phase is equivalent to a call to the function named default_src_compile. |
_________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
mikefot l33t
![l33t l33t](/images/ranks/rank_rect_4.gif)
Joined: 19 Nov 2014 Posts: 709
|
Posted: Fri Apr 27, 2018 4:36 pm Post subject: |
|
|
Many thanks for the advice here.
I will run eix-sync again to get the updated ebuild and install it.......
As you say there is no need to make a mountain out of a mole hill here.
Regards
MF |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
P.Kosunen Guru
![Guru Guru](/images/ranks/rank_rect_3.gif)
Joined: 21 Nov 2005 Posts: 309 Location: Finland
|
Posted: Fri Apr 27, 2018 4:39 pm Post subject: |
|
|
fedeliallalinea wrote: | If you call default in any phase portage call the default function. |
OT: Is this documented somewhere, when i have to and when not to call it? |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
krinn Watchman
![Watchman Watchman](/images/ranks/rank-G-2-watchman.gif)
![](images/avatars/gallery/Blade Runner/movie_blade_runner_howl.gif)
Joined: 02 May 2003 Posts: 7470
|
Posted: Fri Apr 27, 2018 4:47 pm Post subject: |
|
|
fedeliallalinea wrote: | If you call default in any phase portage call the default function. Sorry but I don't understand your problem (blame of my lack of knowledge of English)
Default Phase Function Alias |
I see the light now knowing default is an alias ![Smile :)](images/smiles/icon_smile.gif) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
fedeliallalinea Administrator
![Administrator Administrator](/images/ranks/rank-admin.gif)
![](images/avatars/161653968057192eb39329f.jpg)
Joined: 08 Mar 2003 Posts: 31021 Location: here
|
Posted: Fri Apr 27, 2018 5:05 pm Post subject: |
|
|
P.Kosunen wrote: | OT: Is this documented somewhere, when i have to and when not to call it? |
You call if you want run the default installation, let us take the example src_install
Code: | src_install() {
if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; then
emake DESTDIR="${D}" install
fi
einstalldocs
} |
if your package have a makefile you can run default and then manage things, example
Code: | src_install() {
default
.... other things ...
} |
if you don't need make other manipulations you can also not add src_install in your ebuild because portage tell for you default_src_install.
In binary package default isn't called because in src_install you should only move compiled file in correct path. _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
|