Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Disable the Forced PIE with Profile 17
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
FR3141
n00b
n00b


Joined: 13 Jan 2018
Posts: 39

PostPosted: Sat Jan 13, 2018 4:25 pm    Post subject: Disable the Forced PIE with Profile 17 Reply with quote

We need a thread on how to disable or workaround the forced PIE with profile 17.0. A minority of Gentoo users are dissasified with this change and the needs of this minority should be addressed.

Thanks to posters on other forum threads, I have found what seems to be the basic workaround:

Add the line "sys-devel/gcc -pie" to /etc/portage/profile/package.use.force

Add "-pie" to the USE variable in /etc/portage/make.conf

Add "-fno-pie" to the CFLAGS variable in /etc/portage/make.conf

Does this represent a complete and trouble-free solution?

Please do not comment on why PIE may be advisable. Some users just don't want it and the desires of these users should be respected.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54096
Location: 56N 3W

PostPosted: Sat Jan 13, 2018 5:25 pm    Post subject: Reply with quote

FR3141,

Welcome to the forums.

If you want to revert to the /13.0/ profile behaviour, only set USE=-pie on gcc to start with, then rebuild gcc.
This will give you a gcc that by default builds code with -pie.

"-fno-pie" in CFLAGS is neither desireable nor required. With the above gcc rebuild, gcc does it anyway.
CFLAGS can be stripped in ebuilds, so the "-fno-pie" may not be respected.

Regardless of the above, your shared libraries will be built with -fpie (pie on) since they need to be able to load and run anywhere in RAM.

There are a small number of other packages that accept the USE=pie flag but -fpie or -fno-pie is mostly determined by how gcc is built.
You will probably want -pie in your global USE but see what the flag does on a case by case basis first.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
wrc1944
Advocate
Advocate


Joined: 15 Aug 2002
Posts: 3432
Location: Gainesville, Florida

PostPosted: Sat Jan 13, 2018 7:14 pm    Post subject: Reply with quote

Neddy,
Just to clarify, on a profile 13 ~amd64 system, if we have:
Code:
 
amd64 /home/wrc # equery hasuse pie
 * Searching for USE flag pie ...
[IP-] [  ] net-misc/openssh-7.6_p1-r1:0
[IP-] [  ] sys-devel/gcc-7.2.0-r1:7.2.0
[IP-] [  ] sys-libs/pam-1.3.0-r2:0

when moving to 17 should we still honor this by enabling pie for at least pam and openssh (which were built with pie using profile 13) in /etc/portage, or would it really matter?

What's a bit confusing is that whereas pam and openssh both show pie enabled, gcc-7.2.0 on profile 13 doesn't show pie enabled, but also shows -pie not enabled. :roll:
Code:
Calculating dependencies... done!
[ebuild   R    ] sys-devel/gcc-7.2.0-r1:7.2.0::gentoo  USE="cxx fortran (multilib) nls nptl openmp pch sanitize ssp vtv (-altivec) (-awt) -cilk -debug -doc (-fixed-point) (-gcj) -go -graphite (-hardened) (-jit) (-libssp) -mpx -objc -objc++ -objc-gc -pgo (-pie) -regression-test -vanilla" 0 KiB
[ebuild   R    ] sys-libs/pam-1.3.0-r2::gentoo  USE="berkdb cracklib filecaps nls pie -audit -debug -nis (-selinux) {-test} -vim-syntax" ABI_X86="32 (64) (-x32)" 0 KiB
[ebuild   R    ] net-misc/openssh-7.6_p1-r1::gentoo  USE="X ldap pam pie ssl -X509 -audit -bindist -debug -hpn -kerberos -ldns -libedit -libressl -livecd -sctp (-selinux) -skey -static {-test}" 0 KiB

If we change to profile 17 as first post says (and without "-fno-pie" in CFLAGS as per your advice), will "sys-devel/gcc -pie" in /etc/portage/profile/package.use.force override any /etc/portage/ pie settings for pam and openssh, and/or will equery hasuse pie then not list gcc as before?

Additionally, will emerge -pv gcc then report -pie enabled, even though I'm using profile 17?
_________________
Main box- AsRock x370 Gaming K4
Ryzen 7 3700x, 3.6GHz, 16GB GSkill Flare DDR4 3200mhz
Samsung SATA 1000GB, Radeon HD R7 350 2GB DDR5
OpenRC Gentoo ~amd64 plasma, glibc-2.36-r7, gcc-13.2.1_p20230304
kernel-6.7.2 USE=experimental python3_11
Back to top
View user's profile Send private message
FR3141
n00b
n00b


Joined: 13 Jan 2018
Posts: 39

PostPosted: Sat Jan 13, 2018 7:17 pm    Post subject: Reply with quote

NeddySeagoon wrote:

If you want to revert to the /13.0/ profile behaviour, only set USE=-pie on gcc to start with, then rebuild gcc.
This will give you a gcc that by default builds code with -pie.


For some reason this will not workk on my system. Unless I add the "sys-devel/gcc -pie" line to the
/etc/portage/profile/package.use.force file emerge wants to build gcc with the "pie" flag regardless
of the USE=-pie :

# USE="-pie" emerge -pv gcc
[ebuild R ] sys-devel/gcc-7.2.0-r1:7.2.0::gentoo USE="... (pie*) ... " 60,862 KiB

I've also noticed that masking the "pie" USE flag in /etc/portage/profile/mask.use can also accomplish the same thing, but the USE setting alone does not seem to work.

But as long as something does the job I am satisfied.

Thanks for your response. I am a long-time Gentoo user and plan on using it a long time into the future.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54096
Location: 56N 3W

PostPosted: Sat Jan 13, 2018 7:33 pm    Post subject: Reply with quote

FR3141,

The (flag) or (-flag) meas that the setting is forced by your profile and that lower level attempts to change in will be ignored.

You fix that in /etc/portage/profile/package.use.mask, here is a small snippet of one of mine
Code:
# this file inverts profile settings. That a PITA for upstreaming
# enable Videocore 4 support
# this is only for Paspberry Pi

media-libs/mesa -video_cards_vc4
x11-libs/libdrm -video_cards_vc4


You would need an entry like
Code:
 sys-devel/gcc -pie
to remove the forcing.
Now you can set the pie flag normally.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
wrc1944
Advocate
Advocate


Joined: 15 Aug 2002
Posts: 3432
Location: Gainesville, Florida

PostPosted: Sat Jan 13, 2018 8:48 pm    Post subject: Reply with quote

Neddy,
Your last post confused me ("You fix that in /etc/portage/profile/package.use.mask," and, this file inverts profile settings), and then:
Code:
you would need an entry like
Code:   
 sys-devel/gcc -pie   
to remove the forcing.
Now you can set the pie flag normally.


Why would I want to remove the forcing of -pie? I thought what I needed to do was:
Quote:

Add the line "sys-devel/gcc -pie" to /etc/portage/profile/package.use.force

Add "-pie" to the USE variable in /etc/portage/make.conf

And then:
1.Change to profile 17
2.Rebuild gcc
3. emerge -epv1 @world (and since my system is already built with -pie by profile 13, expect essentially no rebuilds will be needed)

4. Possibly (not sure) enable pie for pam and openssh in /etc/portage/package.use.

Now I'm not sure I really understand correctly what needs to be done. What am I missing here? :roll:
_________________
Main box- AsRock x370 Gaming K4
Ryzen 7 3700x, 3.6GHz, 16GB GSkill Flare DDR4 3200mhz
Samsung SATA 1000GB, Radeon HD R7 350 2GB DDR5
OpenRC Gentoo ~amd64 plasma, glibc-2.36-r7, gcc-13.2.1_p20230304
kernel-6.7.2 USE=experimental python3_11


Last edited by wrc1944 on Sat Jan 13, 2018 9:29 pm; edited 1 time in total
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54096
Location: 56N 3W

PostPosted: Sat Jan 13, 2018 9:04 pm    Post subject: Reply with quote

wrc1944,

In the stacking profiles, you invert whatever you inherit.

The /17.0/ profile has forced pie, denoted by (pie) on consumers.
Setting -pie is therefore a two stage thing.

Step 1, remove the forcing
Step 2, set pie the way you like it.

/etc/portage/profile/package.use.mask:
sys-devel/gcc -pie
removes the forcing.
It does not change the flag. The parentheses will disappear.

I've just tested your
wrc1944 wrote:
Add the line "sys-devel/gcc -pie" to /etc/portage/profile/package.use.force

Add "-pie" to the USE variable in /etc/portage/make.conf

That works too.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
wrc1944
Advocate
Advocate


Joined: 15 Aug 2002
Posts: 3432
Location: Gainesville, Florida

PostPosted: Sat Jan 13, 2018 9:24 pm    Post subject: Reply with quote

Neddy,
Thanks very much for the clarification. :) Much appreciated!
_________________
Main box- AsRock x370 Gaming K4
Ryzen 7 3700x, 3.6GHz, 16GB GSkill Flare DDR4 3200mhz
Samsung SATA 1000GB, Radeon HD R7 350 2GB DDR5
OpenRC Gentoo ~amd64 plasma, glibc-2.36-r7, gcc-13.2.1_p20230304
kernel-6.7.2 USE=experimental python3_11
Back to top
View user's profile Send private message
wrc1944
Advocate
Advocate


Joined: 15 Aug 2002
Posts: 3432
Location: Gainesville, Florida

PostPosted: Mon Jan 15, 2018 5:23 pm    Post subject: Reply with quote

Neddy,
Sorry to keep beating a dead horse, but just to be crystal-clear on these points, does adding the line "sys-devel/gcc -pie" to /etc/portage/profile/package.use.force do the same thing as adding "sys-devel/gcc -pie" to etc/portage/profile/package.use.mask. Correct?

In other words, if I do:
Code:
Add the line "sys-devel/gcc -pie" to /etc/portage/profile/package.use.force

Add "-pie" to the USE variable in /etc/portage/make.conf

that would eliminate the need to do your Step 1, remove the forcing of pie in Profiles 17.0?
NeddySeagoon wrote:
Quote:
etc/portage/profile/package.use.mask:
sys-devel/gcc -pie
removes the forcing.


So to summarize, to move from profile 13 to 17 and maintain @world built with -pie (except for pam & openssh which profile 13 built WITH pie by default), this procedure is functional:

1. eselect profile set default/linux/amd64/17.0/desktop/plasma
2. Add the line "sys-devel/gcc -pie" to /etc/portage/profile/package.use.force
3. Add "-pie" to the USE variable in /etc/portage/make.conf
4. Set pie for pam & openssh in /etc/portage/package.use
5.Rebuild gcc (which will build gcc in profile 17 with -pie)
6. emerge -e1 @world


One last question I'm not clear on:
Since gcc will now be built with -pie, will the pie setting for pam & openssh in /etc/portage/package.use be overridden?
_________________
Main box- AsRock x370 Gaming K4
Ryzen 7 3700x, 3.6GHz, 16GB GSkill Flare DDR4 3200mhz
Samsung SATA 1000GB, Radeon HD R7 350 2GB DDR5
OpenRC Gentoo ~amd64 plasma, glibc-2.36-r7, gcc-13.2.1_p20230304
kernel-6.7.2 USE=experimental python3_11
Back to top
View user's profile Send private message
wrc1944
Advocate
Advocate


Joined: 15 Aug 2002
Posts: 3432
Location: Gainesville, Florida

PostPosted: Mon Jan 15, 2018 7:17 pm    Post subject: Reply with quote

OK- I set profile 17 and added the new file entries (steps 1,2,3,&4 I posted above). Emerge --info reports profile 17, and no pie USE flag.

emerge -epv1 @world reports: Total: 1231 packages (5 upgrades, 1226 reinstalls, and no new "pie" USE flags enabled, and pie is still set for pam & openssh in /etc/portage/package.use) Size of downloads: 27,243 KiB (thought I was fully current, but apparently not- )

Just to check gcc, I did:
emerge gcc -pv1 (without package.use.force)
Calculating dependencies... done!
[ebuild R ] sys-devel/gcc-7.2.0-r1:7.2.0::gentoo USE="cxx fortran (multilib) nls nptl openmp pch (pie*) sanitize ssp vtv (-altivec) (-awt) -cilk -debug -doc (-fixed-point) (-gcj) -go -graphite (-hardened) (-jit) (-libssp) -mpx -objc -objc++ -objc-gc -pgo -regression-test -vanilla" 0 KiB (shows pie, which was expected)

emerge gcc -pv1 (with package.use.force)
Calculating dependencies... done!
[ebuild R ] sys-devel/gcc-7.2.0-r1:7.2.0::gentoo USE="cxx fortran (multilib) nls nptl openmp pch sanitize ssp vtv (-altivec) (-awt) -cilk -debug -doc (-fixed-point) (-gcj) -go -graphite (-hardened) (-jit) (-libssp) -mpx -objc -objc++ -objc-gc -pgo -pie -regression-test -vanilla" 0 KiB (shows no pie enabled, so guess the settings for profile 17 with -pie are working correctly)

amd64 /home/wrc # emerge -upvDN1 @world, and got the following. I seem to recall reading something about possible problems with icu updates and profile 17 (pie), so I'm wondering if this output has anything to do with the profile change, or is just a normal icu update, and a coincidence. Before doing anything else, I guess perhaps rebuilding gcc is in order, or NOT, since it already is built with profile 13's -pie?

Code:
These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U  ] dev-libs/libatomic_ops-7.6.2::gentoo [7.6.0::gentoo] ABI_X86="32 (64) (-x32)" 486 KiB
[ebuild     U  ] dev-libs/mpc-1.1.0-r1:0/3::gentoo [1.1.0:0/3::gentoo] USE="-static-libs" ABI_X86="32 (64) (-x32)" 0 KiB
[ebuild     U  ] dev-db/unixODBC-2.3.5::gentoo [2.3.4-r1::gentoo] USE="minimal unicode -odbcmanual -static-libs" ABI_X86="32 (64) (-x32)" 1,596 KiB
[ebuild  r  U  ] dev-libs/icu-60.2:0/60.2::gentoo [58.2-r1:0/58.2::gentoo] USE="-debug -doc -examples -static-libs" ABI_X86="32 (64) (-x32)" 22,772 KiB
[ebuild     U  ] dev-libs/boehm-gc-7.6.2:0/2.1::gentoo [7.6.0:0/0::gentoo] USE="cxx threads -static-libs" ABI_X86="32 (64) (-x32)" 1,094 KiB
[ebuild  rR    ] dev-db/sqlite-3.21.0:3::gentoo  USE="icu readline -debug -doc -secure-delete -static-libs -tcl {-test} -tools" ABI_X86="32 (64) (-x32)" 0 KiB
[ebuild  rR    ] dev-libs/boost-1.65.0:0/1.65.0::gentoo  USE="icu nls threads -context -debug -doc -mpi -python -static-libs -tools" ABI_X86="32 (64) (-x32)" PYTHON_TARGETS="python2_7 python3_5 -python3_4 -python3_6" 0 KiB
[ebuild  rR    ] dev-libs/re2-0.2017.03.01:0/gentoo-2017-03-01::gentoo  USE="icu" ABI_X86="32 (64) (-x32)" 0 KiB
[ebuild  rR    ] media-libs/libfreehand-0.1.2::gentoo  USE="-doc -static-libs {-test}" 0 KiB
[ebuild  rR    ] media-libs/libzmf-0.0.2::gentoo  USE="-debug -doc {-test} -tools" 0 KiB
[ebuild  rR    ] media-libs/libcdr-0.1.4::gentoo  USE="-doc -static-libs {-test}" 0 KiB
[ebuild  rR    ] app-text/libmspub-0.1.3::gentoo  USE="-doc -static-libs" 0 KiB
[ebuild  rR    ] dev-libs/libxml2-2.9.7:2::gentoo  USE="icu python readline -debug -examples -ipv6 -lzma -static-libs {-test}" ABI_X86="32 (64) (-x32)" PYTHON_TARGETS="python2_7 python3_5 -python3_4 -python3_6" 0 KiB
[ebuild  rR    ] media-libs/libvisio-0.1.6::gentoo  USE="-doc -static-libs {-test} -tools" 0 KiB
[ebuild  rR    ] media-libs/raptor-2.0.15:2::gentoo  USE="curl unicode -debug -json -static-libs" 0 KiB
[ebuild  rR    ] app-text/libebook-0.1.3::gentoo  USE="-doc {-test} -tools" 0 KiB
[ebuild  rR    ] dev-libs/libical-2.0.0-r3:0/2::gentoo  USE="-doc -examples -static-libs" 0 KiB
[ebuild  rR    ] dev-qt/qtcore-5.9.3:5/5.9::gentoo  USE="icu -debug -systemd {-test}" 0 KiB
[ebuild  rR    ] media-libs/harfbuzz-1.7.4:0/0.9.18::gentoo  USE="cairo glib graphite icu introspection truetype -debug -fontconfig -static-libs {-test}" ABI_X86="32 (64) (-x32)" 0 KiB
[ebuild  rR    ] dev-qt/qtwebkit-5.9.1:5/5.9::gentoo  USE="jit opengl qml -debug -geolocation (-gles2) -gstreamer -multimedia -orientation -printsupport {-test} -webchannel -webp" 0 KiB
[ebuild  rR    ] dev-qt/qtwebengine-5.9.3:5/5.9::gentoo  USE="alsa system-ffmpeg system-icu widgets -bindist -debug -geolocation -pax_kernel -pulseaudio {-test}" 0 KiB
[ebuild  rR    ] app-office/libreoffice-5.4.4.2::gentoo  USE="bluetooth branding cups dbus gtk -coinmp -collada -debug -eds -firebird -gltf -googledrive -gstreamer -gtk3 -java -jemalloc -kde -libressl -mysql -odk -pdfimport -postgres -quickstarter {-test} -vlc" LIBREOFFICE_EXTENSIONS="-nlpsolver -scripting-beanshell -scripting-javascript -wiki-publisher" PYTHON_SINGLE_TARGET="python3_5 -python2_7 -python3_4 -python3_6" PYTHON_TARGETS="python2_7 python3_5 -python3_4 -python3_6" 0 KiB

Total: 22 packages (5 upgrades, 17 reinstalls), Size of downloads: 25,946 KiB

The following packages are causing rebuilds:

  (dev-libs/icu-60.2:0/60.2::gentoo, ebuild scheduled for merge) causes rebuilds for:
    (dev-libs/re2-0.2017.03.01:0/gentoo-2017-03-01::gentoo, ebuild scheduled for merge)
    (media-libs/libvisio-0.1.6:0/0::gentoo, ebuild scheduled for merge)
    (dev-qt/qtwebkit-5.9.1:5/5.9::gentoo, ebuild scheduled for merge)
    (dev-qt/qtwebengine-5.9.3:5/5.9::gentoo, ebuild scheduled for merge)
    (media-libs/libcdr-0.1.4:0/0::gentoo, ebuild scheduled for merge)
    (media-libs/libzmf-0.0.2:0/0::gentoo, ebuild scheduled for merge)
    (dev-db/sqlite-3.21.0:3/3::gentoo, ebuild scheduled for merge)
    (dev-qt/qtcore-5.9.3:5/5.9::gentoo, ebuild scheduled for merge)
    (dev-libs/libical-2.0.0-r3:0/2::gentoo, ebuild scheduled for merge)
    (dev-libs/libxml2-2.9.7:2/2::gentoo, ebuild scheduled for merge)
    (media-libs/raptor-2.0.15:2/2::gentoo, ebuild scheduled for merge)
    (media-libs/harfbuzz-1.7.4:0/0.9.18::gentoo, ebuild scheduled for merge)
    (dev-libs/boost-1.65.0:0/1.65.0::gentoo, ebuild scheduled for merge)
    (app-text/libebook-0.1.3:0/0::gentoo, ebuild scheduled for merge)
    (app-text/libmspub-0.1.3:0/0::gentoo, ebuild scheduled for merge)
    (media-libs/libfreehand-0.1.2:0/0::gentoo, ebuild scheduled for merge)
    (app-office/libreoffice-5.4.4.2:0/0::gentoo, ebuild scheduled for merge)

_________________
Main box- AsRock x370 Gaming K4
Ryzen 7 3700x, 3.6GHz, 16GB GSkill Flare DDR4 3200mhz
Samsung SATA 1000GB, Radeon HD R7 350 2GB DDR5
OpenRC Gentoo ~amd64 plasma, glibc-2.36-r7, gcc-13.2.1_p20230304
kernel-6.7.2 USE=experimental python3_11
Back to top
View user's profile Send private message
Naib
Watchman
Watchman


Joined: 21 May 2004
Posts: 6051
Location: Removed by Neddy

PostPosted: Mon Jan 15, 2018 8:42 pm    Post subject: Re: Disable the Forced PIE with Profile 17 Reply with quote

FR3141 wrote:
We need a thread on how to disable or workaround the forced PIE with profile 17.0. A minority of Gentoo users are dissasified with this change and the needs of this minority should be addressed.

Thanks to posters on other forum threads, I have found what seems to be the basic workaround:

Add the line "sys-devel/gcc -pie" to /etc/portage/profile/package.use.force

Add "-pie" to the USE variable in /etc/portage/make.conf

Add "-fno-pie" to the CFLAGS variable in /etc/portage/make.conf

Does this represent a complete and trouble-free solution?

Please do not comment on why PIE may be advisable. Some users just don't want it and the desires of these users should be respected.


fyi a while back the desire of a few users was to have PIE and they used it. As things have progressed and the buildability of code showed PIE as a default was viable, it was set as a default.
This isn't some sort of community where a vocal minority demands to be listened & catered for, this is gentoo where you can do whatever you like with your system.

If you want -PIE you can do it, if you want LTO you can do it. A better way to confront this would have been "how can I disable this" rather than demand your position is catered for (when it is) by others.
_________________
Quote:
Removed by Chiitoo
Back to top
View user's profile Send private message
wrc1944
Advocate
Advocate


Joined: 15 Aug 2002
Posts: 3432
Location: Gainesville, Florida

PostPosted: Mon Jan 15, 2018 11:21 pm    Post subject: Reply with quote

After updating to icu-6.0.2, and a few other packages which seemed to go fine, on the emerge @preserved-rebuild I'm having a problem.

Code:
*      used by /usr/lib64/libmspub-0.1.so.1.0.3 (app-text/libmspub-0.1.3)
 *      used by /usr/lib64/libraptor2.so.0.0.0 (media-libs/raptor-2.0.15)
 *      used by 2 other files
 *  - /usr/lib64/libicui18n.so.58
 *  - /usr/lib64/libicui18n.so.58.2
 *      used by /usr/lib64/libQt5WebEngineCore.so.5.9.3 (dev-qt/qtwebengine-5.9.3)
 *      used by /usr/lib64/libcdr-0.1.so.1.0.4 (media-libs/libcdr-0.1.4)
 *      used by /usr/lib64/libmspub-0.1.so.1.0.3 (app-text/libmspub-0.1.3)
 *      used by 3 other files
Use emerge @preserved-rebuild to rebuild packages using these libraries

 * IMPORTANT: 26 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.

amd64 /home/wrc # emerge @preserved-rebuild -pv

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R    ] media-libs/libzmf-0.0.2::gentoo  USE="-debug -doc {-test} -tools" 0 KiB
[ebuild   R    ] net-wireless/bluez-5.47-r1:0/3::gentoo  USE="alsa cups mesh obex readline udev -debug -deprecated -doc -experimental -extra-tools (-selinux) -systemd {-test} -test-programs -user-session" ABI_X86="32 (64) (-x32)" PYTHON_TARGETS="python2_7" 0 KiB
[ebuild   R    ] app-text/libmspub-0.1.3::gentoo  USE="-doc -static-libs" 0 KiB
[ebuild   R    ] media-libs/libcdr-0.1.4::gentoo  USE="-doc -static-libs {-test}" 0 KiB
[ebuild   R    ] dev-qt/qtwebengine-5.9.3:5/5.9::gentoo  USE="alsa system-ffmpeg system-icu widgets -bindist -debug -geolocation -pax_kernel -pulseaudio {-test}" 0 KiB
[ebuild   R    ] media-libs/raptor-2.0.15:2::gentoo  USE="curl unicode -debug -json -static-libs" 0 KiB
[ebuild   R    ] media-libs/libvisio-0.1.6::gentoo  USE="-doc -static-libs {-test} -tools" 0 KiB

Total: 7 packages (7 reinstalls), Size of downloads: 0 KiB

 * IMPORTANT: 26 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.

amd64 /home/wrc #


OK, looked reasonable, but it immediately bails with:
Code:
* --------------------------------------------------------------------------------
 * The ebuild phase 'unpack' has exited unexpectedly. This type of behavior
 * is known to be triggered by things such as failed variable assignments
 * (bug #190128) or bad substitution errors (bug #200313). Normally, before
 * exiting, bash should have displayed an error message above. If bash did
 * not produce an error message above, it's possible that the ebuild has
 * called `exit` when it should have called `die` instead. This behavior
 * may also be triggered by a corrupt bash binary or a hardware problem
 * such as memory or cpu malfunction. If the problem is not reproducible or
 * it appears to occur randomly, then it is likely to be triggered by a
 * hardware problem. If you suspect a hardware problem then you should try
 * some basic hardware diagnostics such as memtest. Please do not report
 * this as a bug unless it is consistently reproducible and you are sure
 * that your bash binary and hardware are functioning properly.

>>> Failed to emerge media-libs/libcdr-0.1.4, Log file:

>>>  '/var/tmp/portage/media-libs/libcdr-0.1.4/temp/build.log'

Code:
emerge bash gives similar results:  * --------------------------------------------------------------------------------
 * The ebuild phase 'unpack' has exited unexpectedly. This type of behavior
 * is known to be triggered by things such as failed variable assignments
 * (bug #190128) or bad substitution errors (bug #200313). Normally, before
 * exiting, bash should have displayed an error message above. If bash did
 * not produce an error message above, it's possible that the ebuild has
 * called `exit` when it should have called `die` instead. This behavior
 * may also be triggered by a corrupt bash binary or a hardware problem
 * such as memory or cpu malfunction. If the problem is not reproducible or
 * it appears to occur randomly, then it is likely to be triggered by a
 * hardware problem. If you suspect a hardware problem then you should try
 * some basic hardware diagnostics such as memtest. Please do not report
 * this as a bug unless it is consistently reproducible and you are sure
 * that your bash binary and hardware are functioning properly.

>>> Failed to emerge app-shells/bash-4.4_p12, Log file:

>>>  '/var/tmp/portage/app-shells/bash-4.4_p12/temp/build.log'
Maybe rebuild toolchain would help? I thought since my entire system was built with profile 13 -pie except pam and openssh, and the other few updates along with icu-6.0.2 went OK, I was OK, but now I'm thinking this might become a big mess. :roll: Any advice?

UPDATE:
Well, it's a mystery to me. but somehow in /etc/portage/profile/ I had wound up with both package.use.force, AND package.use.mask. duh :oops:
I removed package.use.mask, and then opened a new instance of konsole, and emerged bash, no problem. Then I tried the failed emerge @preserved-rebuild again, and it's currently on 6 of 7, which is the fairly long compile of dev-qt/qtwebengine-5.9.3 (even with a ryzen 1600 and 16GB RAM). Obviously, problem was between user and keyboard, but could anyone clue me in as to how having both package.use.force, AND package.use.mask would cause such results, where portage strongly suggested a hardware problem?
BTW, emerge @preserved-rebuild completed, and emerge -epDNv1 @world now reports: Total: 1191 packages (1191 reinstalls), Size of downloads: 1,298 KiB, no pie USE flags, except for what profile 13 set for pam and openssh.
Revdep-rebuild says: "Your system is consistent" :D I conclude that the move to Profile 17 with -pie apparently has been succesful.
_________________
Main box- AsRock x370 Gaming K4
Ryzen 7 3700x, 3.6GHz, 16GB GSkill Flare DDR4 3200mhz
Samsung SATA 1000GB, Radeon HD R7 350 2GB DDR5
OpenRC Gentoo ~amd64 plasma, glibc-2.36-r7, gcc-13.2.1_p20230304
kernel-6.7.2 USE=experimental python3_11
Back to top
View user's profile Send private message
assemblerhead
n00b
n00b


Joined: 23 Jan 2016
Posts: 24
Location: TX,US

PostPosted: Tue Jan 16, 2018 2:14 pm    Post subject: Thanks to NeddySeagoon Reply with quote

@ NeddySeagoon

Just read a posting about dev-lisp/clisp on gentoo-users mailing list.
The Profile 17 forced PIE forced an old bug to resurface.
Quote:
# Bug 618170. If anyone has a better idea...
append-flags -fno-pie

clisp-2.49-r9
The package does NOT have a "pie" USE flag.
I hope this is the answer.
The "package.env" method of removing PIE didn't work.
Will try to build it with the "/etc/portage/profile/package.use.mask" setting changed.
Back to top
View user's profile Send private message
FR3141
n00b
n00b


Joined: 13 Jan 2018
Posts: 39

PostPosted: Tue Jan 16, 2018 4:46 pm    Post subject: Reply with quote

wrc1944 wrote:
I conclude that the move to Profile 17 with -pie apparently has been succesful.


For me the transition was straightforward and very smooth. There were no problems of any kind.

First I just switched to profile 17 with eselect.

Then, I modified the files as described in my original post.

Then I rebuilt gcc-7.2 which compiled as follows:

# gcc -v
Configured with: ... --disable-default-pie ...

Then I did " emerge --sync && emerge -pvDu world"

Because it had been 3-4 days since my last sync only a few files needed updating and these were just a normal part of the rolling update process.

It could not have been easier.
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