Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
New profiles, rebuild world
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
Progman3K
l33t
l33t


Joined: 03 Jan 2004
Posts: 636

PostPosted: Mon Dec 04, 2017 5:01 pm    Post subject: New profiles, rebuild world Reply with quote

Hi,

I'm following the procedure for upgrading to the new Gentoo profiles.

Part of this entails rebuilding the world, like so:
Code:
emerge -e @world


The problem is that several installed modules cannot be rebuilt with this command.

Apparently, any compilers/tools installed by crossdev? I am getting the following warnings (edited for clarity):

Code:
emerge: there are no ebuilds to satisfy "cross-i686-w64-mingw32/binutils".
emerge: there are no ebuilds to satisfy "cross-i686-w64-mingw32/gdb".
emerge: there are no ebuilds to satisfy "cross-i686-w64-mingw32/gcc".
emerge: there are no ebuilds to satisfy "cross-i686-w64-mingw32/mingw64-runtime".
emerge: there are no ebuilds to satisfy "cross-x86_64-w64-mingw32/binutils".
emerge: there are no ebuilds to satisfy "cross-x86_64-w64-mingw32/gdb".
emerge: there are no ebuilds to satisfy "cross-x86_64-w64-mingw32/gcc".
emerge: there are no ebuilds to satisfy "cross-x86_64-w64-mingw32/mingw64-runtime".
(dependency required by "@selected" [set])
(dependency required by "@world" [argument])

My question is: How do I proceed?

Do I exclude the problematic modules from the world-rebuild command with a series of --exclude X
and then re-run crossdev to bring the modules that were left out up to level?

Or is there a different, better way?

Thanks

[Moderator edit: added [code] tags to preserve output layout. -Hu]
Back to top
View user's profile Send private message
sleepingsun
Guru
Guru


Joined: 03 May 2006
Posts: 345
Location: Bosnia

PostPosted: Mon Dec 04, 2017 8:39 pm    Post subject: Reply with quote

just try to reemerge

Quote:
emerge -1 sys-devel/libtool

Then,
* Select the new profile with eselect
* Re-emerge, in this sequence, gcc, binutils, and glibc
Code:
emerge -1 sys-devel/gcc:6.4.0
    emerge -1 sys-devel/binutils
    emerge -1 sys-libs/glibc

* Rebuild your entire system
Quote:
emerge -e @world

_________________
Gentoo is Rocks
Back to top
View user's profile Send private message
Progman3K
l33t
l33t


Joined: 03 Jan 2004
Posts: 636

PostPosted: Mon Dec 04, 2017 10:55 pm    Post subject: Reply with quote

Thank you, sleepingsun

This is what I have done, but the modules I mentioned are not in the package database directly, they were added by crossdev
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 11415

PostPosted: Tue Dec 05, 2017 2:52 am    Post subject: Reply with quote

/usr/bin/crossdev should have created / updated a local overlay and placed those packages into it, then used Portage to install them from that overlay. What is the output of emerge --pretend --verbose list-of-cross-packages?
Back to top
View user's profile Send private message
Progman3K
l33t
l33t


Joined: 03 Jan 2004
Posts: 636

PostPosted: Tue Dec 05, 2017 7:30 pm    Post subject: Reply with quote

Code:
emerge --pretend --verbose cross-x86_64-w64-mingw32/gdb cross-x86_64-w64-mingw32/binutils cross-x86_64-w64-mingw32/gcc cross-x86_64-w64-mingw32/mingw64-runtime cross-i686-w64-mingw32/gdb cross-i686-w64-mingw32/mingw64-runtime cross-i686-w64-mingw32/gcc cross-i686-w64-mingw32/binutils
Code:
These are the packages that would be merged, in order:

Calculating dependencies... done!

emerge: there are no ebuilds to satisfy "cross-x86_64-w64-mingw32/gdb".
emerge: there are no ebuilds to satisfy "cross-x86_64-w64-mingw32/binutils".
emerge: there are no ebuilds to satisfy "cross-x86_64-w64-mingw32/gcc".
emerge: there are no ebuilds to satisfy "cross-x86_64-w64-mingw32/mingw64-runtime".
emerge: there are no ebuilds to satisfy "cross-i686-w64-mingw32/gdb".
emerge: there are no ebuilds to satisfy "cross-i686-w64-mingw32/mingw64-runtime".
emerge: there are no ebuilds to satisfy "cross-i686-w64-mingw32/gcc".
emerge: there are no ebuilds to satisfy "cross-i686-w64-mingw32/binutils".


[Moderator edit: changed [quote] tags to [code] tags to preserve output layout. -Hu]
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 11415

PostPosted: Wed Dec 06, 2017 3:27 am    Post subject: Reply with quote

Did you remove the overlay that crossdev used to prepare those packages? Otherwise, they should still be available, even if specific versions have aged out.
Back to top
View user's profile Send private message
Progman3K
l33t
l33t


Joined: 03 Jan 2004
Posts: 636

PostPosted: Wed Dec 06, 2017 7:25 pm    Post subject: Reply with quote

Hello Hu,

No, I'm sure I did NOT remove any overlay.
Back to top
View user's profile Send private message
cboldt
l33t
l33t


Joined: 24 Aug 2005
Posts: 769

PostPosted: Thu Dec 07, 2017 11:05 am    Post subject: Reply with quote

I'd fix the ebuild problem rather than exclude those files from an update.

Either the ebuilds exist and aren't found, or they don't exist. I assume the ebuilds are listed in var/lib/portage/world, but would confirm that.

I'd look in /usr/local/portage for cross-i686-w64-mingw32 and cross-x86_64-w64-mingw32 folders. If not /usr/local/portage, whatever the location specified in repos.conf is. Those folders should contain the ebuild files.

If you can't locate the ebuilds by looking in the usual places, use `find` or `locate` to see if your filesystem has any *mingw32.*ebuild files.

If the ebuilds are absent from the system, I'd just rebuild those overlays and associated ebuilds using the appropriate crossdev command.

If the ebuilds are present, then the problem is elsewhere, maybe some setting in make.conf of repos.conf does not match the location of the ebuilds.

I notice the crossdev ebuilds are defined by softlinks ...

Code:
ls /usr/local/portage/cross-x86_64-pc-linux-gnu -l
total 0
lrwxrwxrwx 1 root portage 31 Jan 27  2017 binutils -> /usr/portage/sys-devel/binutils
lrwxrwxrwx 1 root portage 26 Jan 27  2017 gcc -> /usr/portage/sys-devel/gcc
lrwxrwxrwx 1 root portage 26 Jan 27  2017 gdb -> /usr/portage/sys-devel/gdb
lrwxrwxrwx 1 root portage 27 Jan 27  2017 glibc -> /usr/portage/sys-libs/glibc
lrwxrwxrwx 1 root portage 37 Jan 27  2017 linux-headers -> /usr/portage/sys-kernel/linux-headers
Back to top
View user's profile Send private message
Sembiance
n00b
n00b


Joined: 03 Oct 2003
Posts: 14
Location: Asheville, NC, USA

PostPosted: Thu Dec 07, 2017 2:26 pm    Post subject: Reply with quote

Or just disable PIE.
Code:
eselect profile set <choose profile 17>
emerge --sync
mkdir -p "/etc/portage/profile/"
echo "sys-devel/gcc -pie" >> /etc/portage/profile/package.use.force

# Add "-pie" to your USE= flag in /etc/portage/make.conf (or /etc/make.conf, whichever exists)

Now just emerge update as normal, like any other sync/update operation.

No need to recompile world, deal with static lib issues, PIE incompatible packages, incompatibility with ThreadSanitizer, and documented PIE performance issues.

This is why Gentoo is great, we have options! :)
Back to top
View user's profile Send private message
Progman3K
l33t
l33t


Joined: 03 Jan 2004
Posts: 636

PostPosted: Thu Dec 07, 2017 3:27 pm    Post subject: Reply with quote

Sembiance,

I understand your point of view. It IS possible to disable PIC/PIE using the method you described and it IS sort-of like this "hardened" feature is being forced onto mainstream users, but Windows and OSX have had PIE for years as a default. The devs wish to make Gentoo just as secure.

So you might be able to hold-out for a while, but eventually, there may not be any choice.

This is why I am changing-over now.

Thanks for the info
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 11415

PostPosted: Fri Dec 08, 2017 2:07 am    Post subject: Reply with quote

Sembiance wrote:
Or just disable PIE.
Could you explain how this resolves the issue with missing ebuilds? That issue needs to be solved, whether or not OP chooses to perform a full rebuild for the PIE change. Even if he disabled PIE and skipped the rebuild, at some point he will encounter an issue that requires fixing the missing ebuilds to proceed.
Back to top
View user's profile Send private message
Progman3K
l33t
l33t


Joined: 03 Jan 2004
Posts: 636

PostPosted: Fri Dec 08, 2017 8:06 pm    Post subject: Reply with quote

Thank you, Hu

I first thought that the problem was because I skipped entering the location of the overlay in /etc/portage/make.conf.

So I removed the crossdeved-compiler
Code:
crossdev -C i686-w64-mingw32


After entering the following line in /etc/portage/make.conf
Code:
PORTDIR_OVERLAY="/usr/local/crossdev-overlay"


I re-installed it:
Code:
crossdev --ex-gdb --ov-output /usr/local/ i686-w64-mingw32


but yet,
Code:
emerge -e @world


still says (edited)

Code:
!!! Ebuilds for the following packages are either all
!!! masked or don't exist:
cross-i686-w64-mingw32/binutils:2.28
emerge: there are no ebuilds to satisfy "cross-x86_64-w64-mingw32/gcc".
emerge: there are no ebuilds to satisfy "cross-x86_64-w64-mingw32/gdb".
emerge: there are no ebuilds to satisfy "cross-x86_64-w64-mingw32/binutils".
emerge: there are no ebuilds to satisfy "cross-x86_64-w64-mingw32/mingw64-runtime".
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum