[gentoo-user] Re: gentoo-sources-6.7.7 build error

2024-03-02 Thread Holger Hoffstätte

On 2024-03-02 18:12, ralfconn wrote:

I have a build error with latest gentoo-sources (~amd64): # eix -I
gentoo-sources Installed versions: 6.7.6(6.7.6)^bs(10:37:31
02/24/24)(-build -experimental -symlink) 6.7.7(6.7.7)^bs(18:43:20
03/01/24)(-build -experimental -symlink) # eix -I gcc Installed
versions: 13.2.1_p20240210(13)^t(17:09:30 02/18/24)(cet cxx
default-stack-clash-protection default-znow fortran hardened nls
openmp pie sanitize ssp -ada -custom-cflags -d -debug -doc
-fixed-point -go -graphite -ieee-long-double -jit -libssp -lto
-modula2 -multilib -objc -objc++ -objc-gc -pch -pgo -systemtap -test
-valgrind -vanilla -vtv -zstd) fs/ntfs3/frecord.c: In function
‘ni_read_frame’: fs/ntfs3/frecord.c:2460:16: error: unused variable
‘i_size’ [-Werror=unused-variable]  2460 | loff_t i_size =
i_size_read(>vfs_inode);

This is on a gentoo box with mixed profile
(local:no-multilib-hardened-desktop (dev)). The vanilla kernel
downloaded from kernel.org - with same config - has the same build
error. I thought it could be a hardened-related issue, but a
different gentoo box with an hardened-dektop profile builds fine. The
kernel config is different, though. By the way, looking at the
failing source it seems to me that the error is a false positive. I
suppose nobody else is seeing this, I see no reports on the net. Any
hints? Should I file a bug upstream? thanks, raffaele


Already known:
https://lore.kernel.org/stable/2024030214-scratch-compactly-638f@gregkh/

So either set CONFIG_NTFS3_LZX_XPRESS=y or just wait.

-h



[gentoo-user] Re: Activating BMQ CPU Scheduler

2023-05-06 Thread Holger Hoffstätte

On 2023-05-06 14:07, Nikos Chantziaras wrote:

On 03/05/2023 20:11, Holger Hoffstätte wrote:

On 2023-05-02 21:19, Nikos Chantziaras wrote:

On 02/05/2023 09:53, Holger Hoffstätte wrote:

[...] BMQ has severe issues. When emerging something while I
play a game (either native or through wine-proton,) there's
long lag spikes and freezes. Even worse, there's bugs like
the system completely hanging on shutdown, or "umount"
hanging with 100% CPU use by two kernel threads.

[...]


Check first if you had CONFIG_PSI enabled. The setting will work in
any case, but if you already had it disabled/missing then there's
no need to try again.


It was enabled so now I disabled it. I'm not even sure why it was
enabled in the first place, it sounds useless and is documented as
"Say N if not sure." Haven't had any issues to far.


Great! PSI is extremely useful, but was made primarily for servers,
though there are potentially interesting use cases for dektop systems
as well. It does come at a slight cost at runtime though, so unless you're
using it it's probably better to just disable it.

See https://www.kernel.org/doc/html/latest/accounting/psi.html and
https://facebookmicrosites.github.io/psi/docs/overview for more.

Unfortunately it seems that a recent change in the mainline kernel
introduced a bit of an incompatibility, which is why the BMQ/PDS patch
now turns it off. We're trying to get that incompatibility fixed.

Anyway: glad you're up and running now!

cheers
Holger



[gentoo-user] Re: Activating BMQ CPU Scheduler

2023-05-03 Thread Holger Hoffstätte

On 2023-05-02 21:19, Nikos Chantziaras wrote:

On 02/05/2023 09:53, Holger Hoffstätte wrote:

[...]
Switched back to the default (called "CFS" I think.)

BMQ has severe issues. When emerging something while I play a game
(either native or through wine-proton,) there's long lag spikes and
freezes. Even worse, there's bugs like the system completely hanging
on shutdown, or "umount" hanging with 100% CPU use by two kernel
threads.


Can you try booting with psi=0 and check if that helps? There's a known
bad interaction with the PSI (Pressure Stall Information) mechanism,
which is active by default in many kernel configs. The latest version
of the BMQ patch makes sure to turn it off, you may not have that version
yet. BMQ (and PDS) works fine and has done so for quite a while.


Will have to rebuild again. Does that work on 6.1 kernels? (I only use LTS 
nowadays.)


Check first if you had CONFIG_PSI enabled. The setting will work in any case,
but if you already had it disabled/missing then there's no need to try again.

cheers
Holger



[gentoo-user] Re: Activating BMQ CPU Scheduler

2023-05-02 Thread Holger Hoffstätte

On 2023-05-01 22:24, Nikos Chantziaras wrote:

On 26/04/2023 23:06, Holger Hoffstätte wrote:

On 2023-04-26 18:15, Nikos Chantziaras wrote:

So I wanted to try the BMQ scheduler in gentoo-sources. Is just
enabling it in the kernel build all that's needed? I did so,
booted, and:

$ dmesg | grep -i bmq [0.100284] sched/bmq: BMQ CPU Scheduler
v6.1-r4 by Alfred Chen.

That's all and it's in use now? Or do I need to toggle anything
else?


That's all you need to do, right. You can slso alternatively switch
to PDS under the "General setup > Scheduler features" kernel-config
menu, which is slightly better for throughput and "more correct"
when many tasks have varying priorities - beefy workstation or
server. BMQ is kind of simplistic (in an elegant way), but that's
why it is so effective for low-end systems and desktops. Run iperf3
over loopback (i.e. both server and client) to see the difference.


Switched back to the default (called "CFS" I think.)

BMQ has severe issues. When emerging something while I play a game
(either native or through wine-proton,) there's long lag spikes and
freezes. Even worse, there's bugs like the system completely hanging
on shutdown, or "umount" hanging with 100% CPU use by two kernel
threads.


Can you try booting with psi=0 and check if that helps? There's a known
bad interaction with the PSI (Pressure Stall Information) mechanism,
which is active by default in many kernel configs. The latest version
of the BMQ patch makes sure to turn it off, you may not have that version
yet. BMQ (and PDS) works fine and has done so for quite a while.

-h



[gentoo-user] Re: Activating BMQ CPU Scheduler

2023-04-26 Thread Holger Hoffstätte

On 2023-04-26 18:15, Nikos Chantziaras wrote:

So I wanted to try the BMQ scheduler in gentoo-sources. Is just enabling it in 
the kernel build all that's needed? I did so, booted, and:

   $ dmesg | grep -i bmq
   [    0.100284] sched/bmq: BMQ CPU Scheduler v6.1-r4 by Alfred Chen.

That's all and it's in use now? Or do I need to toggle anything else?


That's all you need to do, right. You can slso alternatively switch to PDS under
the "General setup > Scheduler features" kernel-config menu, which is slightly 
better
for throughput and "more correct" when many tasks have varying priorities - 
beefy
workstation or server.
BMQ is kind of simplistic (in an elegant way), but that's why it is so effective
for low-end systems and desktops.
Run iperf3 over loopback (i.e. both server and client) to see the difference.

cheers
Holger



[gentoo-user] Re: Openrc service crash

2023-04-08 Thread Holger Hoffstätte

On 2023-04-08 10:41, Michael wrote:

On Saturday, 8 April 2023 09:33:23 BST Michael wrote:

On Saturday, 8 April 2023 09:32:31 BST Michael wrote:

On Saturday, 8 April 2023 09:28:16 BST Arve Barsnes wrote:

On Sat, 8 Apr 2023 at 10:00, Michael  wrote:

It was probably the addition of IPv6 - as a workaround I added 'sleep
5s'
before the gatling init.d exec command and it now starts normally.


If it was indeed the network that was missing, you could try changing
the service from "need" to "after" starting the net service.

Add to /etc/rc.conf:
rc_gatling_after="net"

Regards,
Arve


Thanks Arve, I will try it.  Should this replace the "need net" string
here, or added somewhere else?

depend() {

 need net

}


Oops!  Please ignore my question ... I didn't have enough coffee yet.  :-)


OK, I added rc_gatling_after="net" in rc.conf, but it didn't work.  gatling
crashed.  However, adding 'sleep 5s' in its init.d startup script works.  What
might be causing this discrepancy?


Without having more information, I wouldn't be surprised if it's the notorious
IPv6 DAD delay:

https://bugs.gentoo.org/831743

cheers
Holger



[gentoo-user] Re: error: template with C linkage

2023-01-09 Thread Holger Hoffstätte

On 2023-01-07 18:20, Helmut Jarausch wrote:

Hi,
for some of my (older) local ebuild I get the error
template with C linkage

What is the reason for this message?
How can I change "C linkage" to "C++ linkage"


Your C++ code opens an 'extern "C" { ..' block (maybe via included header)
but apparently does not close it correctly. Defining a C++ template in a
C-linkage scope makes no sense, hence the complaint.
To fix you need to find the 'extern "C"' section and make sure it is closed.

cheers
Holger



[gentoo-user] Re: Clock font in "xfce-base/xfce4-panel" version 4.17.4

2022-11-29 Thread Holger Hoffstätte

On 2022-11-29 17:03, Dr Rainer Woitok wrote:

Greetings,

after upgrading "xfce-base/xfce4-panel" from version 4.17.3 to 4.17.4 my
digital clock uses a tiny font which I cannot change.  Whatever font and
font size I select  in its "Property" dialog is ignored.   It stubbornly
stays with "Sans Regular 8 px".

Searching the web did not turn up anything relevant and new.  Is anybody
else using the digital clock in "xfce4-panel"?


I am using the digital clock as well and also noticed that it had  changed
its font recently. However I could change it back to my preferred font without
problem, simply via right click -> Properties -> Font.
Maybe just try and change it manually by editing the config in
~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml?
It might be necessary to do so when logged out of xfce, or it might
overwrite the config again.

cheers
Holger



[gentoo-user] Re: x11-base/xorg-x11 masked

2022-10-04 Thread Holger Hoffstätte

On 2022-10-04 08:40, w...@op.pl wrote:

Hello everyone!
Upon upgrade, portage told me that x11-base/xorg-x11 is masked and will
be removed from the repo on November 1st. I thought "ok, why not do it
now", so I have typed:
# emerge -W x11-base/xorg-x11
# emerge -cav
and there was a surprise (not a pleasant one). Since xorg-x11 is a
metapackage it pulled so many things I would like to have still here.
Is there any reasonable way to put all those packages to my world file,
so I can easily remove xorg-x11 without deleting half of my desktop
apps?


Please see discussions in:

https://bugs.gentoo.org/872119
https://bugs.gentoo.org/873973

cheers,
Holger



[gentoo-user] Re: Screen/driver/xserver freezing after suspension

2021-01-11 Thread Holger Hoffstätte
On Mon, 11 Jan 2021 15:01:41 +0100, J. Roeleveld wrote:

> On Monday, January 11, 2021 2:22:27 PM CET Holger Hoffstätte wrote:
>> On Mon, 11 Jan 2021 13:49:35 +0100, Igor Mróz wrote:
>> > I don't really know - I haven't installed anything. Now I'm not really
>> > sure if this is problem with suspension or just screen resuming after
>> > "turning" it off. I also don't have Nvidia card.
>> > 
>> > Igor
>> 
>> Try running xorg-server with +suid.
> 
> That should not be necessary for suspend/resume.
> I have that flag disabled (as per default) on my laptop and that one gets 
> suspended regularly.

That's great, and yet for me wakeup from suspend does not work properly
with my old r600 Radeon card using xf86-video-ati and xorg-server -suid.
There are other people who have the same issue after the xorg-server
migration to elogind, hence the suggestion.

-h




[gentoo-user] Re: Screen/driver/xserver freezing after suspension

2021-01-11 Thread Holger Hoffstätte
On Mon, 11 Jan 2021 13:49:35 +0100, Igor Mróz wrote:

> I don't really know - I haven't installed anything. Now I'm not really sure 
> if this is problem with suspension or just screen resuming after "turning" it 
> off. I also don't have Nvidia card.
> 
> Igor

Try running xorg-server with +suid.

-h




[gentoo-user] Re: "emerge --jobs=1 ..." vs "MAKEOPTS=-j1 emerge ..."

2020-06-21 Thread Holger Hoffstätte

On 2020-06-21 11:53, Dr Rainer Woitok wrote:

Greetings,

is there any difference between running "emerge --jobs=1 ..."  and runn-
ing "MAKEOPTS=-j1 emerge ..."?


--jobs=1 starts one package build at a time, possibly using many parallel
processes - depending on MAKEOPTS and how the build works.

MAKEOPTS sets the number of parallel processes within one package build.

They are complementary, and you can combine them. However frequently
a series of packages have dependencies (a before b before c), so starting
multiple --jobs may not have any effect. Or it may, e.g. in the case of
rebuilds or independent packages that often only use one process to build,
e.g. perl modules or something smaller. --jobs can really make a difference
since otherwise you would suffer from portage/script/shell overhead relative
to the actual work being performed.

make offers the -l parameter that constrains the number of processes by
load, and adjusts them accordingly. As an example, with 8 cores you could
use MAKEOPTS="-j8 -l8" to enable inter-ebuild parallelism and a max. load
for one package, then start several --jobs to build independent packages
without waiting for each other.

Hope this helps.

-h



[gentoo-user] Re: Gcc-10.1.0, anyone?

2020-05-08 Thread Holger Hoffstätte

On 5/8/20 2:18 PM, Peter Humphrey wrote:

Afternoon all,

Today's update included this latest version of gcc. I installed it, switched
to it and rebuilt @system and the kernel. On booting, The system hung at its
very first loading: as soon as I selected the kernel to boot, I got the usual
"SHA256 validated" message, but it never went away.


Yup, known problem.


For the time being I've reverted to gcc-9.3.0. Is my experience of 10.1.0
typical?


For the kernel you need [1], which is not yet in any released versions or
even Linus' main tree. With it it works fine - using it right now.

Most user-space packages should build & work fine; the ones that do not
typically rely on bad legacy C behaviour that was previously permitted,
but now leads to errors. That's a good thing.

-h

[1] 
https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=f670269a42bfdd2c83a1118cc3d1b475547eac22




[gentoo-user] Re: Understanding fstrim...

2020-04-13 Thread Holger Hoffstätte

On 4/13/20 1:55 PM, Michael wrote:

I have noticed when prolonged fstrim takes place on an old SSD drive of mine
it becomes unresponsive.  As Rich said this is not because data is being
physically deleted, only a flag is switched from 1 to 0 to indicate its
availability for further writes.


This is all true and while the exact behaviour depends on the drive model,
nevertheless a common problem is that the drive's request queue is flooded
during whole-drive fstrim and that can lead to unresponsiveness, especially
when you're using the deadline (or mq-deadline these days) scheduler, which
by nature has a tendency to starve readers when continuous long chains of
writes happen. One can tune the read/write ratio to be more balanced.

A better way to help the block layer out is by either permanently switching
to bfq on these (presumably lower-endish) devices, or - my approach - just 
during
scheduled fstrim. I've written a script to do just that and have been using
it on all my machines (server, workstation, laptop) for a long time now.
Switching to a fair I/O scheduler during scheduled fstrim *completely*
fixed the system-wide lag for me.

I suggest you try bfq for fstrim; if you'd like the script just let me know.

cheers
Holger



[gentoo-user] Re: zoom?

2020-03-27 Thread Holger Hoffstätte

On 3/27/20 12:36 AM, Michael wrote:


More info on the participation Zoom users /enjoy/, whether they like it and
have agreed to it, or not:

https://www.vice.com/en_us/article/k7e599/zoom-ios-app-sends-data-to-facebook-even-if-you-dont-have-a-facebook-account


No need to rely on vague reports from third parties, just inspect the binary:

holger>strings zoom | sort | uniq | grep facebook
_uri=https://www.facebook.com/connect/login_success.html=
@chat.facebook.com
facebookLogin
feature.login.disable.facebook
http://graph.facebook.com/
http://www.facebook.com/xmpp/messages
https://dev.zoom.us/facebook/oauth
https://dev.zoom.us/facebook/oauth/client?mode=token
https://devfacebook.zoom.us
https://facebook.zoom.us
https://www.facebook.com/
https://www.facebook.com/ZoomInc
https://www.facebook.com/logout.php?access_token=
https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fzoom.us
https://www.facebook.com/v3.2/dialog/oauth
https://zoom.us/facebook/oauth
https://zoom.us/facebook/oauth/client?mode=token
nofacebook
slt_facebookUrlChanged
user_facebook_login_token

Someone up for an automated hex editor script to remove this shit?
Alternatively I guess the time has come to simply hard-block facebook.com
in DNS. This is easy to do with dnsmasq or dnsdist as local
proxy/cache/multiplexer.

-h



[gentoo-user] Re: Desktop-no-multilib profile - possible?

2020-03-14 Thread Holger Hoffstätte



Hey Francesco -

On 2/20/20 11:22 AM, Francesco Turco wrote:

On Wed, Feb 19, 2020, at 22:21, Holger Hoffstätte wrote:

I will never ever run 32bit software again and would really like to have
a desktop-no-multilib profile, in sync with the regular desktop but simply
without the multilib goop. My server is running precisely as I want with
plain no-multilib, and I know I could just copy my USE flags over and
maintain my own "self-made-desktop" settings, but that would mean I'd lose
all the defaults and ongoing updates, which *are* kind of nice.


I think you should try creating a local custom combined profile.

For example I needed to create a systemd + no-multilib profile.
I called this custom profile "fturco" (my username, but of course you can 
choose any name).

I created the /var/db/repos/fturco/profiles/fturco/parent file with the 
following lines:


../../../gentoo/profiles/default/linux/amd64/17.1/systemd
../../../gentoo/profiles/default/linux/amd64/17.1/no-multilib


/var/db/repos/fturco is the directory with my local custom gentoo repository.
../../../gentoo points to /var/db/repos/gentoo, which is the official gentoo 
repository.

I also needed to create the 
/var/dotfiles/db/repos/fturco/profiles/profiles.desc file with the following 
line:


amd64 fturco stable


At this point you can set your profile with eselect profile, and then update 
the system with:

emerge -uDNav @world


I finally got around to trying this and just wanted to thank you for the 
detailed
instructions. Since I already had an overlay it was a breeze, and worked right 
away.
The only weird occurrence was a revdep-rebuild cycle thanks to go (of course 
!"§$% go)
keeping some glibc remnants in /lib alive with a cyclic dependency; this was 
easily
fixed by quickpkg/uninstall/reinstall.

No more 32bit! \o/

cheers,
Holger



[gentoo-user] Desktop-no-multilib profile - possible?

2020-02-19 Thread Holger Hoffstätte

Hi,

I will never ever run 32bit software again and would really like to have
a desktop-no-multilib profile, in sync with the regular desktop but simply
without the multilib goop. My server is running precisely as I want with
plain no-multilib, and I know I could just copy my USE flags over and
maintain my own "self-made-desktop" settings, but that would mean I'd lose
all the defaults and ongoing updates, which *are* kind of nice.

Suggestions and dirty hacks welcome. :)

thanks,
Holger



[gentoo-user] Re: problem with Fetchmail

2019-12-10 Thread Holger Hoffstätte

On 12/10/19 11:03 PM, Philip Webb wrote:

A few days ago, I updated Fetchmail to the latest stable 6.4.1 .
Immediately, it stopped fetching mail from one of my mail forwarders ;
the other one still worked, as I found by test-mailing to myself.
When I reverted to 6.3.26-r4 , everything worked properly again.


I had the same problem after updating to 6.4 and managed to fix it by
adding the "sslproto ''" option to each poll section. This immediately
made things work again, both when piping through POPFile and fetching
from GMail. See the 6.4.x man page for changes regarding the --sslproto
option and what it means.

hth,
Holger



[gentoo-user] Re: problem dropping Python 2.7

2019-09-12 Thread Holger Hoffstätte

On 9/12/19 10:13 AM, Nikos Chantziaras wrote:

As for getting around the first 3, you need to uninstall everything
that depends on them and then unmerge them. I don't know how feasible
that is, because some important packages probably depend on LLVM? Not
sure. Right now, Python 2.7 is required for a useful desktop machine
because important packages like Mesa probably depend on something
that in turn uses Python 2.7. For a minimal system without X11 though
you can probably do it.


Even on headless systems it's not completely possible at the moment.

At least spidermonkey aka mozjs is required by polkit and only builds
with python-2.7, thanks to their own !"§$% home-grown build system.
Mozilla are working on it and it should be fixed "by the end of the year".

Same for llvm-8 which still has a hard dependency on 2.7 as well.
The pending llvm-9 release will supposedly work with 3.x.

-h



[gentoo-user] Re: openjdk?

2019-04-25 Thread Holger Hoffstätte

On 4/25/19 3:17 AM, Paul B. Henson wrote:

On 4/23/2019 4:31 PM, Holger Hoffstätte wrote:


since JDK9+, nothing else. There is no notable difference between
oracle-jdk-8, icedtea-8 or openjdk-8 other than IcedTea (being the JDK-8
LTS maintained by RedHat) also containing the (awesome) Shenandoah GC -
which was also merged into the official upstream JDK12.


Ah, ok; so icedtea-3.11.0 is actually jdk 8? And would be a
reasonable "swap in place" for oracle-jdk-bin-1.8.0.202?


Yup, or openjdk-bin-8.


What's the difference between icedtea-bin and openjdk-bin? Which one


Increasingly little, other than "being built and provided by different
people" - after all they are built from the same code base.
IcedTea is way older than the AdoptOpenJDK initiative and the non-bin
version also provides Shenandoah via additional patches applied for the
build process, and some other USE flags for optional capabilities and
dependencies.


is going to be the better long-term replacement for the proprietary
Oracle jdk? Unless it is labeled differently it doesn't seem any
other distribution is using icedtea, all of their packages are
labeled openjdk.


I believe several other Linux distributions used to use icedtea
for licensing reasons before AdoptOpenJDK was around.

hth,
Holger



[gentoo-user] Re: openjdk?

2019-04-23 Thread Holger Hoffstätte

On 4/24/19 12:23 AM, Paul B. Henson wrote:

So Oracle java has a crappy license now, and I see on the dev list
they're even talking about removing it from portage. However, openjdk
has no stable version, and the ebuild contains:

if use gentoo-vm ; then
ewarn "WARNING! You have enabled the gentoo-vm USE flag, making
this JDK"
ewarn "recognised by the system. This will almost certainly
break things."

Which doesn't build confidence as far as using it 8-/. icedtea is pretty
old. What are people doing for java needs currently? Abusing the Oracle
license? Running old icedtea versions? Ignoring the openjdk warning?


The warning in this form is nonsense and only ever applied to JDK > 8,
since ebuilds containing java bits *might* fail due to the module system
since JDK9+, nothing else. There is no notable difference between
oracle-jdk-8, icedtea-8 or openjdk-8 other than IcedTea (being the JDK-8
LTS maintained by RedHat) also containing the (awesome) Shenandoah GC -
which was also merged into the official upstream JDK12.

IcedTea will probably (from my reading on the list) just continue the
3.x series for JDK8 and get a new series 4.x for JDK11 (since it's LTS).
I offered to help with maintenance & testing but for some reason they were
not interested. ¯\(ツ)/¯

It is perfectly "safe" to unmask the gentoo-vm USE flag and set openjdk-bin-8
as system VM. It is also perfectly "safe" to install openjdk-11 in parallel
with said flag enabled as long as you don't set it as system VM or know
what you're doing.

As it happens I was just copying the openjdk-bin-11 ebuild into my local overlay
as openjdk-bin-12 (because I need Shenandoah) with the gentoo-vm flag enabled
and it eselects, integrates and works fine just as well.

hth :)
Holger



[gentoo-user] Re: PSA: openrc-0.41 system borkage & ro root fs on next boot

2019-02-24 Thread Holger Hoffstätte


Update: looks like ~0.41.1 has fixed the problem.

-h




[gentoo-user] PSA: openrc-0.41 system borkage & ro root fs on next boot

2019-02-23 Thread Holger Hoffstätte


Last night openrc was updated to ~0.41, supposedly fixing [1].

Unfortunately it seems it had the opposite effect and made things worse
compared to the previous 0.42.3 - the deptree is broken, rc-status
remains confused and a reboot results in a read-only root fs because
(I think) the runlevels are all mixed up, esp. /etc/runlevels/boot.

Restoring /etc/runlevels from backup & downgrade to 0.40.3 fixed it.

If someone can reproduce this in a VM (I cannot do so right now) please
file a bug with more information.

hth,
Holger

[1] https://bugs.gentoo.org/659906




[gentoo-user] Comparatively slow clang startup vs. gcc - reasons?

2018-10-09 Thread Holger Hoffstätte


(paging Michał Górny..)

I've noticed that clang has gotten really slow, and while it does
great analysis during the various compilation stages (which is fine),
the startup itself is a major contributor to perceived slowness.

Nothing demonstrates this better than running ./configure in a random
project - here nghttp2:

$time ./configure
./configure  5.83s user 1.10s system 100% cpu 6.866 total
./configure  5.73s user 1.04s system 101% cpu 6.669 total
./configure  5.74s user 1.04s system 101% cpu 6.671 total

$time ./configure CC=clang CXX=clang++
./configure CC=clang CXX=clang++  21.43s user 2.56s system 99% cpu 24.011 total
./configure CC=clang CXX=clang++  21.37s user 2.61s system 100% cpu 23.911 total
./configure CC=clang CXX=clang++  21.56s user 2.51s system 100% cpu 23.995 total

That's almost 3 times slower doing not much at all.

A major contributor to this is the relatively large number of shared
objects being loaded as a consequence of building llvm with shared objects,
incurring large relocation costs compared to short-lived runs.
gcc on the other hand consists of mostly-monolithic binaries, minus the
few usual suspects like zlib etc.

A brief run with "perf record" compiling helloworld.c and comparing
the "perf report" output between gcc and clang confirms that clang
spends the vast majority of its time in ld.so.

Can we do something about this? I remember that llvm had optional static
libs, which apparently were removed completely. Is there something
that can be done with linker tricks (better relocation info?) when
building llvm/clang to speed up the .so loading?

curious,
Holger




[gentoo-user] Re: Skypeforlinux does not start

2018-10-04 Thread Holger Hoffstätte
On Thu, 04 Oct 2018 16:09:51 +0300, gevisz wrote:

> I have just installed skypeforlinux-8.30.0.50.
> 
> After starting from command line, it successfully does nothing.
> I even do not get "permission denied" message.

https://bugs.gentoo.org/666396

For some reasons 8.30.x relies on elogind. Just emerge it
and it should work; it did for me.

-h




[gentoo-user] Re: chrony-3.3 hangs at boot

2018-09-03 Thread Holger Hoffstätte
On Mon, 03 Sep 2018 22:23:18 +0100, Mick wrote:

> On Monday, 3 September 2018 19:10:52 BST Holger Hoffstätte wrote:
>> On Mon, 03 Sep 2018 17:48:53 +0100, Mick wrote:
>> > I just noticed today chronyd hangs during boot for a minute and a half. 
>> > The logs do not reveal anything amiss.  I suspect it waits for a network
>> > connection, which is not yet up when chronyd launches.
>> > 
>> > Sep  3 17:38:26 asus syslog-ng[1858]: syslog-ng starting up;
>> > version='3.13.2' Sep  3 17:38:26 asus chronyd[1930]: chronyd version 3.3
>> > starting (+CMDMON +NTP +REFCLOCK +RTC -PRIVDROP +SCFILTER -SIGND
>> > +ASYNCDNS -SECHASH +IPV6 -DEBUG) Sep  3 17:38:26 asus chronyd[1930]:
>> > Frequency -13.776 +/- 1.023 ppm read from /var/lib/chrony/drift
>> > Sep  3 17:38:26 asus acpid[1894]: starting up with netlink and the input
>> > layer Sep  3 17:38:26 asus acpid[1894]: 1 rule loaded
>> > Sep  3 17:38:26 asus acpid[1894]: waiting for events: event logging is off
>> > Sep  3 17:40:57 asus kernel: random: crng init done
>> > Sep  3 17:40:57 asus kernel: random: 3 urandom warning(s) missed due to
>> > ratelimiting
>> > Sep  3 17:40:57 asus chronyd[1930]: Loaded dump file for 10.10.10.1
>> > 
>> > 
>> > Have you noticed the same?
>> > 
>> > Is there a fix/workaround for this?
>> 
>> Yes and yes; countless people have been hit by this, I was probably the
>> first to notice/debug it. It happens due to changes in Linux' random number
>> generator, which is now slowly making it into older kernels as well.
>> 
>> If you're interested in the gory details you can read about them
>> in the thread "Chrony vs. Linux RNG" at [1] or just update to chrony-3.4rc1
>> which contains the "fix". Despite being an rc1 it works fine as usual,
>> so short of applying the patch to your local build this is the easiest
>> option.
>> 
>> cheers,
>> Holger
>> 
>> [1]
>> https://listengine.tuxfamily.org/chrony.tuxfamily.org/chrony-users/2018/04/
>> threads.html#00036
> 
> Thanks for this Holger, I had noticed in the logs a message just before 
> chronyd started the kernel reporting "3 urandom warning(s) missed due to 
> ratelimiting" but as this has been happening since the upgrade to 4.14.65-
> gentoo I didn't think it was kernel related.
> 
> Anyway, I can confirm 3.4_pre1 available in the tree starts up fine with no 
> delays.
> 
> However, while shutting down I noticed:
> 
> * Stopping chronyd ...
> * Error: chronyd failed to stop
> 
> This is repeatable if I try to stop it manually.  Version 3.3 didn't have 
> this 
> problem.

Ah yes, that's from upgrading. Apologies for the misleading advice,
I fixed that locally and forgot. :}

1) Edit /etc/init.d/chronyd and change occurrences of /run/chronyd.pid to
/run/chrony/chronyd.pid (i.e. add the subdirectory).

2) file a bug so that the init file gets fixed in portage as well. :)

cheers
Holger




[gentoo-user] Re: chrony-3.3 hangs at boot

2018-09-03 Thread Holger Hoffstätte
On Mon, 03 Sep 2018 17:48:53 +0100, Mick wrote:

> I just noticed today chronyd hangs during boot for a minute and a half.  The 
> logs do not reveal anything amiss.  I suspect it waits for a network 
> connection, which is not yet up when chronyd launches.
> 
> Sep  3 17:38:26 asus syslog-ng[1858]: syslog-ng starting up; version='3.13.2'
> Sep  3 17:38:26 asus chronyd[1930]: chronyd version 3.3 starting (+CMDMON 
> +NTP 
> +REFCLOCK +RTC -PRIVDROP +SCFILTER -SIGND +ASYNCDNS -SECHASH +IPV6 -DEBUG)
> Sep  3 17:38:26 asus chronyd[1930]: Frequency -13.776 +/- 1.023 ppm read from 
> /var/lib/chrony/drift
> Sep  3 17:38:26 asus acpid[1894]: starting up with netlink and the input layer
> Sep  3 17:38:26 asus acpid[1894]: 1 rule loaded
> Sep  3 17:38:26 asus acpid[1894]: waiting for events: event logging is off
> Sep  3 17:40:57 asus kernel: random: crng init done
> Sep  3 17:40:57 asus kernel: random: 3 urandom warning(s) missed due to 
> ratelimiting
> Sep  3 17:40:57 asus chronyd[1930]: Loaded dump file for 10.10.10.1
> 
> 
> Have you noticed the same?
> 
> Is there a fix/workaround for this?

Yes and yes; countless people have been hit by this, I was probably the first
to notice/debug it. It happens due to changes in Linux' random number
generator, which is now slowly making it into older kernels as well.

If you're interested in the gory details you can read about them
in the thread "Chrony vs. Linux RNG" at [1] or just update to chrony-3.4rc1
which contains the "fix". Despite being an rc1 it works fine as usual,
so short of applying the patch to your local build this is the easiest
option.

cheers,
Holger

[1] 
https://listengine.tuxfamily.org/chrony.tuxfamily.org/chrony-users/2018/04/threads.html#00036




[gentoo-user] Re: Is --changed-deps going to be *that* useless?

2018-02-26 Thread Holger Hoffstätte
On Mon, 26 Feb 2018 09:46:00 -0500, Mike Gilbert wrote:

> On Mon, Feb 26, 2018 at 2:36 AM, Nikos Chantziaras  wrote:
>> I've been using --changed-deps when doing a world upgrade ever since the
>> news item that recommended it.
>>
>> However, today, this is what --changed-deps resulted in:
>>
>>   https://pastebin.com/raw/7RBx6zzt
>>
>> What... the actual... fuck.
>>
>> This is not OK. What the hell? This is just plain broken.
> 
> Someone probably changed a dependency in a commonly used eclass. I
> would guess portage is operating as expected.

As the pastebin log says it's automake-1.16 for ~arch, and
since automake is used everywhere..

-h




[gentoo-user] Re: Rebuilding all dependants of a package

2018-02-20 Thread Holger Hoffstätte
On Tue, 20 Feb 2018 22:55:45 +, Neil Bothwick wrote:

> On Tue, 20 Feb 2018 21:29:42 + (UTC), Holger Hoffstätte wrote:
> 
>> > That was useful and saved me the time to sed & grep my way through the
>> > equery output. Turning this into a generic script is easy enough.  
>> 
>> For the peanut gallery..
>> 
>> Turns out it's not so clear-cut since equery d finds *all possible*
>> dependants, including those for unset USE flags.
>> 
>> Oh well..depclan & grep here we go..
>> 
> What's wrong with qdepends, which has an option to query reverse
> dependencies and uses the installed package databas for its information
> so it correctly considers USE flags?
> 
> qdepends is part f portage-utils, which you should have installed already.

Interesting! It seems there is nothing wrong with it other than the
fact that I didn't know about it, so thanks for the pointer!
qdepends -Q does indeed seem to do the same thing as my own script,
which of course I finished just 5 minutes ago. :)
It's also a lot faster than --depclean munging since it seems to
simply grep through the DEPEND/USE variables in one go. Nice!

Thanks!
Holger




[gentoo-user] Re: Rebuilding all dependants of a package

2018-02-20 Thread Holger Hoffstätte
On Tue, 20 Feb 2018 09:56:15 +, Holger Hoffstätte wrote:

> On Mon, 19 Feb 2018 15:29:52 +0100, Branko Grubic wrote:
> 
>> On Mon, 19 Feb 2018 12:55:08 +0000 (UTC)
>> Holger Hoffstätte <hol...@applied-asynchrony.com> wrote:
>> 
>>> Hey,
>>> 
>>> I'm not exactly new to portage, but one thing that I cannot seem to
>>> figure out is how to rebuild all dependants of a package. Not
>>> *dependencies*, dependants: packages that require said package.
>>> 
>>> As a recent example: whenever go (the language) is updated to a new
>>> version (say from 1.9 to 1.10, as it happended recently), I'd like to
>>> rebuild docker & friends - or more specifically 'things that are
>>> compiled with go'.
>>> 
>>> The --changed-deps option doesn't seem to do the trick, so instead I
>>> manually do a -vp --depclean on go and manually --oneshot all
>>> installed packages that have their hands on it. This is obviously
>>> stupid and error-prone.
>>> 
>>> Am I missing something or is this really not easily possible?
>>> Basically I'm looking for a hard --oneshot --revdep-rebuild with a
>>> package argument.
>>> 
>>> thanks,
>>> Holger
>>> 
>>> 
>> 
>> I never needed this, so I don't know how to do it directly with emerge
>> (is it possible?), but you can use equery like this to get a list:
>> 
>> equery -q d dev-lang/go
>> 
>> -q/--quiet (minimal output)
>> (d)epends (list all packages directly depending on ATOM)
>> 
>> to get a list of packages installed which depend on dev-lang/go
>> you can filter versions out of it and feed that to 'emerge -av1'.
>> 
>> Or if you trust this ugly one-liner without filtering (probably ugliest
>> thing, but seems to do the job):
>> 
>> emerge -av1 $(for i in $(equery -q d sys-apps/util-linux); do echo
>> "=$i"; done)
> 
> That was useful and saved me the time to sed & grep my way through the
> equery output. Turning this into a generic script is easy enough.

For the peanut gallery..

Turns out it's not so clear-cut since equery d finds *all possible*
dependants, including those for unset USE flags.

Oh well..depclan & grep here we go..

-h




[gentoo-user] Re: Rebuilding all dependants of a package

2018-02-20 Thread Holger Hoffstätte
On Mon, 19 Feb 2018 17:05:03 +0200, Alan McKinnon wrote:

> On 19/02/2018 14:55, Holger Hoffstätte wrote:
>> Hey,
>> 
>> I'm not exactly new to portage, but one thing that I cannot seem to figure
>> out is how to rebuild all dependants of a package. Not *dependencies*,
>> dependants: packages that require said package.
>> 
>> As a recent example: whenever go (the language) is updated to a new version
>> (say from 1.9 to 1.10, as it happended recently), I'd like to rebuild docker
>> & friends - or more specifically 'things that are compiled with go'.
>> 
>> The --changed-deps option doesn't seem to do the trick, so instead I manually
>> do a -vp --depclean on go and manually --oneshot all installed packages that
>> have their hands on it. This is obviously stupid and error-prone.
>> 
>> Am I missing something or is this really not easily possible?
>> Basically I'm looking for a hard --oneshot --revdep-rebuild with a package
>> argument.
> 
> 
> There isn't really a one-shot way to do this easily. Ebuilds do not 
> contain dependants, they contain dependencies and that is a one-way 
> arrow. So you end up having to walk the tree to get the information you 
> are after.

There are numerous cases where portage/equery already do that and
perform the equivalent of a grep throug the entire tree.

> I have to question though why you think you need to do this. If you want

Because of static linking. In this case go embeds the runtime (esp.
the gc) into executables, so the only way to get improvements into
existing binaries is to rebuild. Neither subslots nor changed-deps do
this, esp. not on demand.
 
I can think of numerous opther cases where this is necessary (mostly
related to C++ and/or static linking) but really don't have the time
or patience right now.

cheers
Holger




[gentoo-user] Re: Rebuilding all dependants of a package

2018-02-20 Thread Holger Hoffstätte
On Mon, 19 Feb 2018 15:29:52 +0100, Branko Grubic wrote:

> On Mon, 19 Feb 2018 12:55:08 + (UTC)
> Holger Hoffstätte <hol...@applied-asynchrony.com> wrote:
> 
>> Hey,
>> 
>> I'm not exactly new to portage, but one thing that I cannot seem to
>> figure out is how to rebuild all dependants of a package. Not
>> *dependencies*, dependants: packages that require said package.
>> 
>> As a recent example: whenever go (the language) is updated to a new
>> version (say from 1.9 to 1.10, as it happended recently), I'd like to
>> rebuild docker & friends - or more specifically 'things that are
>> compiled with go'.
>> 
>> The --changed-deps option doesn't seem to do the trick, so instead I
>> manually do a -vp --depclean on go and manually --oneshot all
>> installed packages that have their hands on it. This is obviously
>> stupid and error-prone.
>> 
>> Am I missing something or is this really not easily possible?
>> Basically I'm looking for a hard --oneshot --revdep-rebuild with a
>> package argument.
>> 
>> thanks,
>> Holger
>> 
>> 
> 
> I never needed this, so I don't know how to do it directly with emerge
> (is it possible?), but you can use equery like this to get a list:
> 
> equery -q d dev-lang/go
> 
> -q/--quiet (minimal output)
> (d)epends (list all packages directly depending on ATOM)
> 
> to get a list of packages installed which depend on dev-lang/go
> you can filter versions out of it and feed that to 'emerge -av1'.
> 
> Or if you trust this ugly one-liner without filtering (probably ugliest
> thing, but seems to do the job):
> 
> emerge -av1 $(for i in $(equery -q d sys-apps/util-linux); do echo
> "=$i"; done)

That was useful and saved me the time to sed & grep my way through the
equery output. Turning this into a generic script is easy enough.

Thank you very much!

cheers
Holger




[gentoo-user] Rebuilding all dependants of a package

2018-02-19 Thread Holger Hoffstätte
Hey,

I'm not exactly new to portage, but one thing that I cannot seem to figure
out is how to rebuild all dependants of a package. Not *dependencies*,
dependants: packages that require said package.

As a recent example: whenever go (the language) is updated to a new version
(say from 1.9 to 1.10, as it happended recently), I'd like to rebuild docker
& friends - or more specifically 'things that are compiled with go'.

The --changed-deps option doesn't seem to do the trick, so instead I manually
do a -vp --depclean on go and manually --oneshot all installed packages that
have their hands on it. This is obviously stupid and error-prone.

Am I missing something or is this really not easily possible?
Basically I'm looking for a hard --oneshot --revdep-rebuild with a package
argument.

thanks,
Holger




[gentoo-user] WARNING: DO NOT update to sys-apps/attr-2.4.48

2018-01-09 Thread Holger Hoffstätte

Desaster Warning Time!

Unless you enjoy restoring from backups in the most creative ways,
DO NOT casually install today's update of sys-apps/attr-2.4.48, or
your box WILL be hosed.

If you are on ~arch pmask that thing _right now_:

 $echo "=sys-apps/attr-2.4.48" >> /etc/portage/package.mask

See https://bugs.gentoo.org/644048 for more.

-h




[gentoo-user] Re: microcode applied?

2018-01-09 Thread Holger Hoffstätte
On Tue, 09 Jan 2018 14:21:10 +, Holger Hoffstätte wrote:

> On Mon, 08 Jan 2018 11:53:58 +, Mick wrote:
> 
>> On Monday, 8 January 2018 09:05:02 GMT Max Zettlmeißl wrote:
>>> It seems like there are no microcode updates for your specific CPU
>>> bundled in linux-firmware.
>> 
>> Only two out of three Intel boxen here report an early update of microcode 
>> in 
>> dmesg.  Even when they do, it is not certain the latest firmware has brought 
>> new code:
>> 
>> [0.00] microcode: microcode updated early to revision 0x7, date = 
>> 2013-08-20
>> 
>> This date above puzzles me.  Is it that on this PC's CPU the Intel bugs 
>> cannot 
>> be ameliorated by the latest intel-ucode release, or is it that Intel have 
>> not 
>> bothered to release microcode revisions for all their products.
> 
> The latter - older CPUs simply don't get updates. My server & workstation
> are i5/i7 SandyBridge built in early 2012, and their last microcode updates
> are from 2013 as well.
> 
>> Therefore if microcode for my CPU was included in intel-ucode releases since 
>> 2017-01-01, is this the same unchanged microcode being released since the 
>> date 
>> reported in dmesg of 2013-08-20?
> 
> Seems like it.

Just read that Intel plans to ship microcode updates for CPUs built in and
after *2013*, so I guess that means anything after & including Ivy Bridge.

Announcement: https://www.youtube.com/watch?v=RlJ9zB74G_U

All my machines will be running AMD very soon. I need more cores anyway.

-h




[gentoo-user] Re: microcode applied?

2018-01-09 Thread Holger Hoffstätte
On Mon, 08 Jan 2018 11:53:58 +, Mick wrote:

> On Monday, 8 January 2018 09:05:02 GMT Max Zettlmeißl wrote:
>> It seems like there are no microcode updates for your specific CPU
>> bundled in linux-firmware.
> 
> Only two out of three Intel boxen here report an early update of microcode in 
> dmesg.  Even when they do, it is not certain the latest firmware has brought 
> new code:
> 
> [0.00] microcode: microcode updated early to revision 0x7, date = 
> 2013-08-20
> 
> This date above puzzles me.  Is it that on this PC's CPU the Intel bugs 
> cannot 
> be ameliorated by the latest intel-ucode release, or is it that Intel have 
> not 
> bothered to release microcode revisions for all their products.

The latter - older CPUs simply don't get updates. My server & workstation
are i5/i7 SandyBridge built in early 2012, and their last microcode updates
are from 2013 as well.

> Therefore if microcode for my CPU was included in intel-ucode releases since 
> 2017-01-01, is this the same unchanged microcode being released since the 
> date 
> reported in dmesg of 2013-08-20?

Seems like it.

-h




[gentoo-user] Re: old kernels are installed during the upgrade

2018-01-04 Thread Holger Hoffstätte
On Wed, 03 Jan 2018 15:53:07 -0500, Rich Freeman wrote:

> On Wed, Jan 3, 2018 at 3:35 PM, Wols Lists  wrote:
>>
>> And as I understand it the code can be disabled with either a compile
>> time option or command line switch to the kernel.
> 
> I suspect the compile-time option is PAGE_TABLE_ISOLATION (which was
> newly added in 4.14.11).  The command line option nopti will disable
> it at runtime.
> 
> Rumor has it that it will be disabled on AMD CPUs in 4.14.12, but I

That's not a rumor and it can be easily verified either here:

https://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git/tree/queue-4.14/x86-cpu-x86-pti-do-not-enable-pti-on-amd-processors.patch

or in mainline git, respectively.

-h




[gentoo-user] Re: Will profile 17.0 break 3rd party binaries?

2017-12-04 Thread Holger Hoffstätte
On Mon, 04 Dec 2017 22:42:45 +, Grant Edwards wrote:

> There are a number of third-party binary executables that I use
> regularly on my Gentoo systems.  These are dynamically linked, x86-64,
> programs that typically depend on various X11 and Qt/Gtk libraries.
> They were either extracted from .rpm/.deb files or distributed as
> shell-archive self-installers by their respective vendors.
> 
> Is switching to the new 17.0 profile likely to break them?

Good question. I've been using a pie-enabled gcc 7.2 for months before
the 17.0 profile switch and both acroread and skype (the new one) still
work, so chances are your stuff will too.

-h




[gentoo-user] Re: world rebuild with gcc-6.3.0 - not completely there yet

2017-05-08 Thread Holger Hoffstätte
On Mon, 08 May 2017 11:57:50 +, J. Roeleveld wrote:

> Only recently got my desktop converted to 5.4.
> Next is my laptop. 
> 
> When that is done, I could risk 6 on my desktop. But if Dev is thinking of 
> skipping it

Don't bother with 6, go straight to 7. I had at least one library (libxcb)
where 6.x generates broken x86 ABI code (needed to build with clang instead),
whereas 7.1 works fine again.

-h




[gentoo-user] Re: Latest LLVM wants to pollute my machine with VIM stuff.....

2017-03-15 Thread Holger Hoffstätte
On Wed, 15 Mar 2017 22:33:10 +0800, Andrew Lowe wrote:

> Hi all,
>   I'm still trying to come to grips with understanding ebuilds so please 
> bear with me if this is a simple question. I've just sync'd and then 
> done an
> 
>   emerge --ask -NuD world
> 
> I have LLVM/clang installed and upon browsing the updates saw 
> app-vim/llvm-vim. This is some sort of syntax highlighting thingy for 
> Vim. I don't have Vim installed so went into the llvm-4.0.0 ebuild and 
> saw the line
> 
> PDEPEND="app-vim/llvm-vim
> 
> My understanding is that PDEPEND means that something, in this case 
> llvm-vim, will be installed after the update of llvm - correct? If so, I 
> can't see any way of "turning this off" as I don't want even more junk 
> installed on my machine.
> 
>   Have I understood the ebuild correctly and it could do with a "fiddle" 
> so that it doesn't force this install?

Yes, it could - I wondered the same thing. File an enhancement request
in bugzilla so that vim support can be optional via the already existing
"vim" USE flag.

In the meantime try:
$echo "app-vim/llvm-vim-" >> /etc/portage/profile/package.provided

This tells portage that the package is installed as version , so
any future llvm/clang updates won't try to update it.

-h




[gentoo-user] Re: should everything compile?

2016-12-26 Thread Holger Hoffstätte
On Mon, 26 Dec 2016 22:25:59 +0100, lee wrote:

> Holger Hoffstätte <hol...@applied-asynchrony.com> writes:
> 
>> On Mon, 26 Dec 2016 21:09:08 +0100, lee wrote:
>>
>>> Hi,
>>> 
>>> there are some things that refuse to compile.  One of them is
>>> openimageio.
>>> 
>>> Is this a bug, or am I missing something?  Do I need to update something
>>> else first?
>>
>> The latter, sort of. The error in question..
>>
> 
>> [...]
>>> | ../libOpenImageIO/libOpenImageIO.so.1.6.13: undefined reference to 
>>> `Imf_2_1::Header::name[abi:cxx11]() const'
>>> | ../libOpenImageIO/libOpenImageIO.so.1.6.13: undefined reference to 
>>> `Imf_2_1::Header::setType(std::__cxx11::basic_string<char, 
>>> std::char_traits, std::allocator > const&)'
>>> | ../libOpenImageIO/libOpenImageIO.so.1.6.13: undefined reference to
>>> | `Imf_2_1::TypedAttribute<std::__cxx11::basic_string<char,
>>> | std::char_traits, std::allocator >
>>> | >::writeValueTo(Imf_2_1::OStream&, int) const'
>>> | collect2: error: ld returned 1 exit status
>> [..]
>>
>> ..indicates a mismatch in C++11 ABI which changed in gcc5. What happens is 
>> that one the
>> dependencies of openimageio was built against the old C++11 std::string ABI 
>> (hence the
>> link errors), and needs to be rebuilt. It looks to be "Imf" aka libIlmImf,
>> whatever that is. Try to rebuild it with --oneshot and it should work.
>> If a similar error pops up for a different dependency, repeat. :)
> 
> Hm, this is really bad because it's difficult to figure out what needs
> to be rebuilt.  Is there a way to rebuild everything in some order that
> works?

equery b  or epm -qif tells you which package a file belongs to.
Purely by searching vie emerge -s it looks like libIlmImf could be
media-libs/ilmbase.

A full-system approach (probably better in your case) is explained here:
https://wiki.gentoo.org/wiki/Upgrading_from_gcc-4.x_to_gcc-5.x

> Here's the next one already, and what would I need to rebuild for that?

That looks like a completely different problem (hard to tell from the error)
but in any case _fix one problem at a time_.

-h




[gentoo-user] Re: should everything compile?

2016-12-26 Thread Holger Hoffstätte
On Mon, 26 Dec 2016 21:09:08 +0100, lee wrote:

> Hi,
> 
> there are some things that refuse to compile.  One of them is
> openimageio.
> 
> Is this a bug, or am I missing something?  Do I need to update something
> else first?

The latter, sort of. The error in question..

[..]
> | [100%] Linking CXX executable oiiotool
> | cd 
> /var/tmp/portage/media-libs/openimageio-1.6.13/work/openimageio-1.6.13_build/src/oiiotool
>  && /usr/bin/cmake -E cmake_link_script CMakeFiles/oiiotool.dir/link.txt 
> --verbose=1
> | ccache /usr/bin/x86_64-pc-linux-gnu-g++   -O2 -pipe -march=westmere -mmmx 
> -msse -msse2 -msse3 -mssse3 -mcx16 -msahf -maes -mpclmul -mpopcnt -msse4.2 
> -msse4.1 -mfxsr --param l1-cache-size=32 --param l1-cache-line-size=64 
> --param l2-cache-s
> | ize=12288 -mtune=westmere -fomit-frame-pointer -fno-stack-protector
> -Wl,-O1 -Wl,--as-needed CMakeFiles/oiiotool.dir/oiiotool.cpp.o 
> CMakeFiles/oiiotool.dir/diff.cpp.o CMakeFiles/oiiotool.dir/imagerec.cpp.o 
> CMakeFiles/oiiotool.dir/printi
> | nfo.cpp.o  -o oiiotool -rdynamic ../libOpenImageIO/libOpenImageIO.so.1.6.13 
> -lboost_filesystem-mt -lboost_regex-mt -lboost_system-mt -lboost_thread-mt 
> -lboost_chrono-mt -lboost_date_time-mt -lboost_atomic-mt -lrt -ldl -lssl 
> -lcrypto -lfre
> | etype -lpng -lz -ltiff -ljpeg -lIlmImf -lImath -lIex -lHalf -lIlmThread 
> -lpthread -lopenjpeg -lwebp -lgif -lz -ltiff -ljpeg -lIlmImf -lImath -lIex 
> -lHalf -lIlmThread -lpthread -lopenjpeg -lwebp -lgif -lpugixml 
> -Wl,-rpath,/var/tmp/portage/
> | 
> media-libs/openimageio-1.6.13/work/openimageio-1.6.13_build/src/libOpenImageIO:
>  
> | ../libOpenImageIO/libOpenImageIO.so.1.6.13: undefined reference to 
> `Imf_2_1::TypedAttribute std::char_traits, std::allocator >, 
> std::allocator | char_traits, std::allocator > > > 
> >::writeValueTo(Imf_2_1::OStream&, int) const'
> | ../libOpenImageIO/libOpenImageIO.so.1.6.13: undefined reference to 
> `Imf_2_1::TypedAttribute std::char_traits, std::allocator > 
> >::readValueFrom(Imf_2_1::IStream&, int, int)'
> | ../libOpenImageIO/libOpenImageIO.so.1.6.13: undefined reference to 
> `Imf_2_1::Header::type[abi:cxx11]() const'
> | ../libOpenImageIO/libOpenImageIO.so.1.6.13: undefined reference to 
> `Imf_2_1::TypedAttribute std::char_traits, std::allocator >, 
> std::allocator | char_traits, std::allocator > > > 
> >::readValueFrom(Imf_2_1::IStream&, int, int)'
> | ../libOpenImageIO/libOpenImageIO.so.1.6.13: undefined reference to 
> `Imf_2_1::TypedAttribute std::char_traits, std::allocator > >::staticTypeName()'
> | ../libOpenImageIO/libOpenImageIO.so.1.6.13: undefined reference to 
> `Imf_2_1::TypedAttribute std::char_traits, std::allocator >, 
> std::allocator | char_traits, std::allocator > > > >::staticTypeName()'
> | ../libOpenImageIO/libOpenImageIO.so.1.6.13: undefined reference to 
> `Imf_2_1::Header::name[abi:cxx11]() const'
> | ../libOpenImageIO/libOpenImageIO.so.1.6.13: undefined reference to 
> `Imf_2_1::Header::setType(std::__cxx11::basic_string std::char_traits, std::allocator > const&)'
> | ../libOpenImageIO/libOpenImageIO.so.1.6.13: undefined reference to 
> `Imf_2_1::TypedAttribute std::char_traits, std::allocator > 
> >::writeValueTo(Imf_2_1::OStream&, int) const'
> | collect2: error: ld returned 1 exit status
[..]

..indicates a mismatch in C++11 ABI which changed in gcc5. What happens is that 
one the
dependencies of openimageio was built against the old C++11 std::string ABI 
(hence the
link errors), and needs to be rebuilt. It looks to be "Imf" aka libIlmImf,
whatever that is. Try to rebuild it with --oneshot and it should work.
If a similar error pops up for a different dependency, repeat. :)

-h




[gentoo-user] Re: Heads Up - net-misc/netifrc-0.5.0

2016-10-25 Thread Holger Hoffstätte
On Wed, 26 Oct 2016 07:32:17 +0800, Bill Kenworthy wrote:

> On 26/10/16 07:16, Peter Humphrey wrote:
>> On Tuesday 25 Oct 2016 13:49:44 Andrés Becerra Sandoval wrote:
>>> Hello,
>>>
>>> net-misc/netifrc-0.5.0  was installed today as part of my upgrade and the
>>> network (static) was broken.  I had to mask the package and go back to
>>> 0.4.0 to fix it!
>> 
>> Likewise here.
> 
> uhmm, "broken" can mean many things, so can you be more specific?

Probably referring to https://bugs.gentoo.org/show_bug.cgi?id=598078

-h




[gentoo-user] portage in git: egencache not honoring --jobs, only using single core

2016-08-18 Thread Holger Hoffstätte

Hopefully easy question about portage via git (from Github); didn't
find anything in bugzilla.

Have been using it for a while and everything works, but the
slow metadata cache updates are annoying, so I dug into the script
call chain, ended up in egencache and for the life of me can't figure
out why it only uses a single core, despite the fact that $(nproc)
is passed as --jobs argument. Even calling it manually with --jobs=8
only uses a single core, regardless of python version (tried 2.7
and 3.5).

Does this work for anyone, or is it a known bug/lack of
implementation?

Holger




[gentoo-user] Re: Missing CPU options in make menuconfig

2016-07-20 Thread Holger Hoffstätte
On Wed, 20 Jul 2016 18:50:56 +0100, Neil Bothwick wrote:

> I'm trying to do something with a vanilla kernel from kernel.org. Under
> Processor type and features/Processor family, there are only a handful of
> choices, whereas my portage-installed gentoo-sources lists many more.
> 
> The help page on the vanilla sources shows the full list, but they are
> not available to pick and the help does not mentions an option to enable
> to show these.
> 
> What do I need to enable?

https://github.com/graysky2/kernel_gcc_patch

is what's missing in mainline but part of -gentoo.

-h




[gentoo-user] Re: Is "-fomit-frame-pointer" a gcc default?

2016-07-12 Thread Holger Hoffstätte
On Mon, 11 Jul 2016 19:23:24 -0600, "J." García wrote:

> El lun, 11-07-2016 a las 20:47 -0400, waltd...@waltdnes.org escribió:
>> On Tue, Jul 12, 2016 at 01:48:37AM +0200, Volker Armin Hemmann wrote
>> 
>> > so it is not turned on on x86. Not sure about amd64. IIRC it is
>> > default
>> > on amd64, but I am not sure and too lazy to google. Just like the
>> > thread
>> > starter.
>> 
>>   Actually, I did Google.  So did another particpant in the Pale Moon
>> forum.  We got different answers, and various other people chimed in.
>> That's why I posted here.  BTW, "gcc -O2 -Q --help=optimizers"
>> returns
>> 
>>   -fomit-frame-pointer  [disabled]
>> 
>> ...in both my real 64-bit Gentoo install and my 32-bit VM Gentoo.
>> 
> I made a mistake, I didn't ran the 'gcc -Q .." command correctly, a
> typo, so I didn't really checked just got the list of optimizers, but
> checking again I also have it disabled by default:
> 
> $ gcc -c   -march=core2 -O2 -Q --help=optimizers  |\
>   grep fomit-frame-pointer
>   -fomit-frame-pointer[disabled]

No, gcc is just lying. See this reddit comment thread for details:
https://www.reddit.com/r/Cprog/comments/2iv09b/frame_pointer_omission_fpo_optimization_and/

Running the 'gcc -v' snippet shows that -fomit-frame-pointer is indeed
enabled by default on amd64.

-h




[gentoo-user] Re: Symbols missing from Firefox

2016-06-01 Thread Holger Hoffstätte
On Wed, 01 Jun 2016 17:02:24 +0100, Peter Humphrey wrote:

>> Do you use NoScript? If yes, does it allow webfonts?
> 
> I should have said that the only extra I have is AdBlock Plus. Disabling it 
> makes no difference. And your hint reminded me to install YesScript, which 
> also makes no difference.

Check:

Preferences -> Content -> Fonts:
"Allow pages to choose their own fonts, instead of my selections above"

If you want to toggle between sane (i.e. your) fonts and random web crap
you can install the "Document Font Toggle" extension.

-h




[gentoo-user] Re: Thunderbird 45.0 unreadable fonts

2016-04-22 Thread Holger Hoffstätte
On Sat, 23 Apr 2016 02:38:00 +0300, Nikos Chantziaras wrote:

> I upgraded thunderbird-bin from 38.7.0 to 45.0 and all window fonts 
> became extremely washed-out, thin and generally unreadable. I then wiped 
> the configuration files (mv ~/.thunderbird ~/tb_backup), but got the 
> same issue.

It has nothing to do with the configuration of Thunderbird; the reason is
simply that TB 45 was ported to use GTK3.

> Anyone else with the same problem? I searched a lot, but I didn't find 
> any reports for this, let alone a fix.

Same. I expected something like that and pkgbuilt a package of the previous
version, which I then downgraded to. Other GTK3 apps like xfce-powermanager
or pavucontrol have exactly the same fonts like the rest of my desktop (XFCE).

-h




[gentoo-user] Re: Failed to set XATTR_PAX markings

2016-03-07 Thread Holger Hoffstätte
On Mon, 07 Mar 2016 10:54:56 +, Martin Vaeth wrote:

> the...@sys-concept.com  wrote:
>>
>> grep CONFIG_TMPFS_XATTR /usr/src/linux/.config
>> CONFIG_TMPFS_XATTR=y
> 
> Does your compilation happen on a temp file system?
> You can configure XATTR for each file system type individually.

If the final filesystem is ext4 then CONFIG_EXT4_FS_SECURITY must also
be set, otherwise you'll get the error again.

-h




[gentoo-user] Re: portage 2.2.21: rsync_excludes no longer taken into account

2015-09-22 Thread Holger Hoffstätte
On Tue, 22 Sep 2015 13:38:20 -0400, Mike Gilbert wrote:

> On Tue, Sep 22, 2015 at 12:28 PM, Holger Hoffstätte
> <holger.hoffstae...@googlemail.com> wrote:
>>
>> After today's update to ~portage-2.2.21 rsync gives more more than I
>> asked for on repo update; it seems rsync_excludes is no longer read
>> or observed.
>>
>> It's specified in PORTAGE_RSYNC_EXTRA_OPTS and of course the file
>> with the exclusions exists etc. This has worked for aeons.
>>
>> Does anybody know what's up here? The release notes don't mention
>> anything related (or I missed it).
> 
> rsync has no option called rsync_excludes. Exactly what options are
> you specifying in PORTAGE_RSYNC_EXTRA_OPTS?

No, it hasn't - I understand that. I understand rsync better than I
want to, trust me.. :)

$grep RSYNC /etc/portage/make.conf
PORTAGE_RSYNC_EXTRA_OPTS="--compress --exclude-from=/etc/portage/rsync_excludes"

This is the way documented on the Gentoo wiki, and broke today (with .21).
Hence I was thinking that maybe this now needs to go into the repos.conf
config or got broken some other way. Just figured I ask before filing an
unnecessary bug.

thanks

-h




[gentoo-user] portage 2.2.21: rsync_excludes no longer taken into account

2015-09-22 Thread Holger Hoffstätte

After today's update to ~portage-2.2.21 rsync gives more more than I
asked for on repo update; it seems rsync_excludes is no longer read
or observed.

It's specified in PORTAGE_RSYNC_EXTRA_OPTS and of course the file
with the exclusions exists etc. This has worked for aeons.

Does anybody know what's up here? The release notes don't mention
anything related (or I missed it).

thanks,
Holger




[gentoo-user] Re: testing system + gcc-5.2 anyone?

2015-08-12 Thread Holger Hoffstätte
On Tue, 11 Aug 2015 12:01:50 +0200, Helmut Jarausch wrote:

 On 08/10/2015 05:29:04 PM, James wrote:
 Hello,
 
 Just for grins, I'm thinking about installing a gentoo system
 that is (~) testing and newer codes and setting gcc-.5.2 as the
 default compiler. Anyone doing this yet? Will it mostly work
 or should I wait? Workstation with lxqt-0.9x.
 
 I don't use lxqt here, but ...
 I'm using gcc-5.2.0 very successfully here. I am not aware of a single 
 package which doesn't compile with this version.
 And the kernel itself compiles just fine (currentlich running 4.2.0-rc6 
 compiled with gcc-5.2.0)

+1

I just updated all my ~amd64 multilib systems to 5.2 and everything still works
without a hitch, including acroread  skype. 4.9.3 is gone. :)

 One caveat though when upgrading a system which has been built with gcc-x for 
 x  5.
 The (pure) C++ libraries aren't compatible with older versions so that all 
 packages which link to
 libstdc++ or libsupc++ have to be rebuilt. Packages which just use C aren't 
 effected at all.

Interestingly I didn't have to rebuild anything (yet), which I find surprising
given the changes in the ABI and std::string. I expected at least a few 
problems,
but so far - nothing.

-h





[gentoo-user] Re: testing system + gcc-5.2 anyone?

2015-08-12 Thread Holger Hoffstätte
On Wed, 12 Aug 2015 05:18:54 -0400, covici wrote:

 Holger Hoffstätte wrote:
 
 On Tue, 11 Aug 2015 12:01:50 +0200, Helmut Jarausch wrote:
 
  On 08/10/2015 05:29:04 PM, James wrote:
  Hello,
  
  Just for grins, I'm thinking about installing a gentoo system that
  is (~) testing and newer codes and setting gcc-.5.2 as the default
  compiler. Anyone doing this yet? Will it mostly work or should I
  wait? Workstation with lxqt-0.9x.
  
  I don't use lxqt here, but ...
  I'm using gcc-5.2.0 very successfully here. I am not aware of a
  single package which doesn't compile with this version.
  And the kernel itself compiles just fine (currentlich running
  4.2.0-rc6 compiled with gcc-5.2.0)
 
 +1
 
 I just updated all my ~amd64 multilib systems to 5.2 and everything
 still works without a hitch, including acroread  skype. 4.9.3 is gone.
 :)
 
  One caveat though when upgrading a system which has been built with
  gcc-x for x  5.
  The (pure) C++ libraries aren't compatible with older versions so
  that all packages which link to libstdc++ or libsupc++ have to be
  rebuilt. Packages which just use C aren't effected at all.
 
 Interestingly I didn't have to rebuild anything (yet), which I find
 surprising given the changes in the ABI and std::string. I expected at
 least a few problems,
 but so far - nothing.
 
 I can't even emerge gcc-5.2.0 because of missing keyword, as of a sync
 of yesterday, so what is happening with that?

The ebuild currently doesn't have any keywords, so enable them:

$grep gcc /etc/portage/profile/package.accept_keywords
=sys-devel/gcc-5.2.0 ** (or your specific arch instead of **)

Enjoy. :)

-h




[gentoo-user] Re: Installing BTRFS on MBR with OpenRC

2015-08-06 Thread Holger Hoffstätte
On Thu, 06 Aug 2015 07:18:08 -0400, Rich Freeman wrote:

 I'll skip the bits that were already dealt with.
 
 On Thu, Aug 6, 2015 at 5:19 AM, Peter Humphrey pe...@prh.myzen.co.uk wrote:

 First, btrfs balance. I had no idea that was needed, so of course I didn't
 include it in my attempts. Could that be why, on booting, the kernel couldn't
 mount the file system?
 
 It isn't necessarily essential, but btrfs fi df /mnt/gentoo will show
 you that before the balance there are still some chunks in single mode
 - it seems like mkfs creates the first device and adds the second one,
 leaving some residual non-RAID chunks (that hopefully will never have
 data written to them).  The balance of an empty filesystem is really
 fast and completely converts it to raid1, so I figured it would be
 cleaner to do it this way.  I have no idea what happens if those
 single chunks remain and you degrade the array.

Btw this should be fixed in btrfs-progs 4.1.3, hopefully out soon.
I have the necessary patch in my local overlay and no longer see
leftover single chunks after mkfs.

-h




[gentoo-user] Re: plugin-containers missing libraries

2015-05-26 Thread Holger Hoffstätte
On Wed, 27 May 2015 09:54:33 +1000, Adam Carter wrote:

 Is this working looking into? The programs generally work ok, so this is
 more for interests sake.
 
 # ldd /usr/lib64/firefox/plugin-container | grep not
 libmozalloc.so = not found
 libxul.so = not found

This is normal, look at e.g. /usr/bin/firefox-bin to see why it works
as expected.

 So the libraries are there but not in the list of directories searched. I
 could do something like
 # echo /usr/lib64/firefox  /etc/ld.so.conf.d/06firefox.conf  env-update
 
 but then thunderbird may get firefox's version of libxul which may be
 incompatible, right?

Yes. Don't do that.

-h




[gentoo-user] Re: CFLAGs for kernel compilation

2015-04-29 Thread Holger Hoffstätte
On Wed, 29 Apr 2015 15:18:23 +0200, Ralf wrote:

 Damn, you're absolutely right.
 
 I just tested it using make V=1.
 kernel make does override CFLAGs from the outside.
 
 But that's interesting: my processor supports -march=core-avx2 and none
 of the linux kernel processor family uses this flag...

https://github.com/graysky2/kernel_gcc_patch

-h





[gentoo-user] Re: Easy (cough) way to build earlier gentoo-sources 3.18.x kernel?

2015-03-31 Thread Holger Hoffstätte
On Tue, 31 Mar 2015 09:47:24 +0100, Bob Wya wrote:

 @Holger, that's my symptoms to tee... :-)
 
 Strangely it doesn't effect Arch Linux - running on the same box - with a
 newer 3.19.2 kernel. So they must have a patch for the issue (but I can't
 figure out what). Perhaps I'll check through the (stock) kernel
 configuration as well - to check it matches mine.
 
 Thanks

You're welcome. As I said I don't really have a good fix either and
the posting to the nfs list went unanswered, so if you find out more I'd
appreciate a mail.

-h




[gentoo-user] Re: This nite's switch to full multilib

2015-03-30 Thread Holger Hoffstätte
On Mon, 30 Mar 2015 12:14:29 +0200, Alan McKinnon wrote:

 OK, then so why do I have to edit files to tell the system to USE this
 and that after the system tells me it needs that ... ?
 
 Why isn't this taken care of within portage itself?
 
 I don't *want* to decide 32bit or not ... (I like that I *can* ...)
 
 I want a (mostly) stable and current linux system with the necessary
 choices done by the maintainers ... if Skype needs it ... ok, then make
 that a dependency/requirement somewhere ... but why force me to set that
 (for so many packages) ?
 
 OK, think it through first.

Sure thing.

 You want skype. Skype is 32bit. So far, we're good. You put an entry in
 package.use to enable abi_x86_32 for skype.

Except..at that point you would have already failed.

There is no good reason whatsoever why portage shouldn't be able to treat
this like a transitive required USE flag requirement, percolating through
all libs from the toplevel requirement's dependency tree.

In fact it should do so automatically when the ebuild declares the abi_x86_32
constraint from the start, without requiring the user to do anything.

There are other reasons why coupling the native and 32-bit worlds together is
a bad idea in the long-term, regardless of understandable technical reasons
and good intentions.

So yeah: think it through first.

-h




[gentoo-user] Re: Moving from no-multilib to (true) multilib

2015-03-30 Thread Holger Hoffstätte
On Mon, 30 Mar 2015 11:20:23 +0100, Mick wrote:

 Given that the emul-linux-x86 package sets are now deprecated and we can now 
 with USE=abi_x86_32 emerge our own 32bit libraries where needed, is it now 
 easier to move from a no-multilib to a multilib environment, or will it still 
 require a complete reinstall?

My understanding is that this has not changed, i.e. the move from prebuilt
emul-linux package to abi_x86_32 only applies to existing multilib systems.
Moving from plain aka non-multilib to multilib is still more or less
unsupported/impossible and requires a reinstall.

-h




[gentoo-user] Re: This nite's switch to full multilib

2015-03-30 Thread Holger Hoffstätte
On Mon, 30 Mar 2015 13:44:59 +0100, Neil Bothwick wrote:

 On Mon, 30 Mar 2015 12:15:01 + (UTC), Holger Hoffstätte wrote:
 
  Portage does not override your choices, and it certainly does not
  allow one single ebuild to automagically change the behaviour of
  multiple other ebuilds. The correct way to bring about changes in
  behaviour is to add your global choices to make.conf (which is
  outside the control of the tree), or to add your explicit changes to
  package.*  
 
 ..that just shows the root of the problem: the ABI is not handled
 consistently, but rather as a per-package configuration choice.
 
 The news item also showed how to make it a global choice, avoiding the
 need to multiple per-package directories.

I'm not sure that's a solution to the problem at all (which is why I
didn't do it on my machines either). Apart from always wasting much more
work  resources than necessary for no good reason it doesn't answer the
question what happens as soon as I want to build a package that is
64-bit-only - in which case you'd end up in the same situation we have
now, just mirrored.

-h




[gentoo-user] Re: This nite's switch to full multilib

2015-03-30 Thread Holger Hoffstätte
On Mon, 30 Mar 2015 13:14:55 +0200, Alan McKinnon wrote:

 On 30/03/2015 12:42, Holger Hoffstätte wrote:
 You want skype. Skype is 32bit. So far, we're good. You put an entry in
 package.use to enable abi_x86_32 for skype.
 
 Except..at that point you would have already failed.
 
 That does not compute. Please explain.

That was my somewhat categorical way of saying that you'd be repeating
yourself with no benefit. The ebuild already knows that it's 32-bit only,
so making e.g. the user declare the same thing again would be wrong to begin
with. I realize of course that's not how it is done, and that the abi
constraint is a required part of the ebuild for precisely that reason.

That the current transitional situation is a bit messy - fine.

 There is no good reason whatsoever why portage shouldn't be able to treat
 this like a transitive required USE flag requirement, percolating through
 all libs from the toplevel requirement's dependency tree.
 
 Correct, there is no good reason why portage *can't* do that.
 There is a very good reason why portage *won't* do that, it is not the
 gentoo way and it goes against gentoo's social contract.

That sounds great until you realize that selective capability configuration
(aka USE flags, which I love and agree with!) is not the same as multilib
profile selection.

I really do understand the *idea* of strictly driving system capabilities
from user-defined USE flags, so when you say:

 Portage does not override your choices, and it certainly does not allow
 one single ebuild to automagically change the behaviour of multiple
 other ebuilds. The correct way to bring about changes in behaviour is to
 add your global choices to make.conf (which is outside the control of
 the tree), or to add your explicit changes to package.*

..that just shows the root of the problem: the ABI is not handled
consistently, but rather as a per-package configuration choice.

I already *collectively opted into* the 32-bit parallel universe by
*choosing multilib*. All the current way is doing is repeating that choice
without accomplishing anything, esp. since I cannot reasonably NOT make that
choice. It's a hard requirement if I want to run a certain application.

It's great that Gentoo gives me choice, but I hope you can see how
not having a certain capability or not runnig an application at all are
two very different shoes.

 I get the sense that those who are complaining about abi_x86_32 in this
 thread are mostly not complaining about what portage does, they are
 complaining about the number of entries they have to make to portage.use

No, they are complaining about the effects of the conflation of concepts,
which ends up first in their config file (either manually or by portage),
and eventually in their face, increasing the possibility of making completely
unrelated mistakes later on.

It also gives the false impression that this is a configuration choice, which
it really isn't (see above).

This also alludes to the secondary aspect I mentioned. Tightly coupling
configuration choices possible in one world to the parallel world is going
to be a real problem moving forward, precisely for the same reason:
conflating a single mechanism for two different worlds with possibly
different hard requirements.

 In fact it should do so automatically when the ebuild declares the abi_x86_32
 constraint from the start, without requiring the user to do anything.
 
 So you want a single ebuild to trigger a tree-wide change in behaviour?

Yes, *because I chose multilib*. That is *exactly* what I want, and - judging
by some of the posts here and in the forums - also what most people seem to
expect.

I'm starting to wonder if it wouldn't be much more economical to provide
prebuilt stacked layers of Docker images for 32-bit compatibility.
That would solve several classes of problems at once, and not pollute the
native Gentoo way with ultimately unsolvable problems.

-h




[gentoo-user] Re: Easy (cough) way to build earlier gentoo-sources 3.18.x kernel?

2015-03-30 Thread Holger Hoffstätte
On Mon, 30 Mar 2015 23:22:58 +0100, Bob Wya wrote:

 I'm getting a bit bogged down trying to build an early release of the 3.18
 kernel. Since I can't automatically go back before 3.18.9 now (using
 portage anyway)...
 
 Basically I trying to check if a suspend/resume issue I've got was
 introduced after the 3.18 kernel was released (or was in the base release).
 I've got a reproduce-able failure to suspend-to-ram with =3.18.x gentoo
 kernel sources. However this issue is not present with the gentoo kernel
 sources =3.17.x. (A systemd nfs client mount problem - which blocks the
 suspend-to-ram process.)

You are probably looking at this bug:
http://thread.gmane.org/gmane.linux.nfs/69717

This was introduced in 3.18.9 (as you found out), so simply using vanilla
3.18.8 should fix it; I don't remember seeing it before.
I never bothered to try and now just stop NFS before suspend. 3.19.x gained
the same problem.

-h




[gentoo-user] Re: [NOTE] New default behavior in latest nfs-utils (1.3.2-r1)

2015-02-02 Thread Holger Hoffstätte
On Mon, 02 Feb 2015 16:33:53 +0100, Stefan G. Weichinger wrote:

 didn't read the whole thread, sorry ... but I also noticed my
 nfsv4-server stopped working with that latest update.
 
 Some systemd-service-files were renamed and/or removed, right?

No, it's (ironically) a systemd-specific bug. openrc was fixed in -r1.

 Any working howtos anywhere?

https://bugs.gentoo.org/show_bug.cgi?id=538372

Explanations  fixes.I have it running on both server  client (with 
openrc). Refusing to set NFS_V4_2 on the client may break things since 
it's apparently the default for protocol negotiation, but that seems to 
fail when it's not even enabled in the kernel. So just set it.

-h




[gentoo-user] Re: per-package CFLAGS

2015-01-27 Thread Holger Hoffstätte
On Tue, 27 Jan 2015 14:35:35 +0100, Raffaele BELARDI wrote:

 I have a package failing build (media-tv/mythtv). One resource on the 
 net suggests using the -fno-devirtualize gcc flag. Google tells me that 
 the way to do that would be something like
 
 $ echo CFLAGS=\${CFLAGS} -fno-devirtualize\  
 /etc/portage/env/media-tv/mythtv
 
 but the references are pretty old. Is this still the preferred way?

This alone won't work and might also be more confusing than necessary, as
the package-hierarchy-like naming is not required.

It's all documented here:
http://wiki.gentoo.org/wiki//etc/portage/env

-h




[gentoo-user] Re: ceph on gentoo?

2014-12-24 Thread Holger Hoffstätte
On Tue, 23 Dec 2014 22:24:30 -0500, Rich Freeman wrote:

 On Tue, Dec 23, 2014 at 4:08 PM, Holger Hoffstätte
 holger.hoffstae...@googlemail.com wrote:
 On Tue, 23 Dec 2014 21:54:00 +0100, Stefan G. Weichinger wrote:

 In the other direction: what protects against these errors you
 mention?

 ceph scrub :)


 Are you sure about that?  I was under the impression that it just
 checked that everything was retrievable.  I'm not sure if it compares
 all the copies of everything to make sure that they match, and if they
 don't match I don't think that it has any way to know which one is
 right.  I believe an algorithm just picks one as the official version,
 and it may or may not be identical to the one that was originally
 stored.

There's light and deep scrub; the former does what you described,
while deep does checksumming. In case of mismatch it should create
a quorum. Whether that actually happens and/or works is another
matter. ;)

Unfortunately a full point-in-time deep scrub and the resulting creation 
of checksums is more or less economically unviable with growing amounts 
of data; this really should be incremental. All distributed databases 
suffer from the same problem, and the better ones eventually adopted the 
incremental approach.

http://ceph.com/docs/master/rados/configuration/osd-config-ref/#scrubbing

I know how btrfs scrub works, but it too (and in fact every storge system)
suffers from the problem of having to decide which copy is good; they 
all have different points in their timeline where they need to make a 
decision at which a checksum is considered valid. When we're talking 
about preventing bitrot, just having another copy is usually enough.

On top of that btrfs will at least tell you which file is suspected, 
thanks to its wonderful backreferences.

-h




[gentoo-user] Re: ceph on gentoo?

2014-12-23 Thread Holger Hoffstätte
On Tue, 23 Dec 2014 21:54:00 +0100, Stefan G. Weichinger wrote:

 At least for the future ... now that btrfs is declared stable at least

Yeah, no. 3.18 is finally OK-ish (after they missed the .17 merge window 
with a huge number of fixes) but you really want to wait for 3.19.

 In the other direction: what protects against these errors you mention?

ceph scrub :)

-h




[gentoo-user] Re: Q: How is that terminus technicus for...

2014-11-16 Thread Holger Hoffstätte
On Sun, 16 Nov 2014 14:49:02 +0100, meino.cramer wrote:

 I connected a Arietta.G25 via Ethernet over USB (using a simple USB
 cable and hardware USB-Ethernet Adaptor to my Gentoo PC. I can ssh
 on that little tiny board. Now I want to access the internat from
 within the Arietta.  Therefore all requests need to be transfered from
 the Arietta board to my PC, which then plays the role of an ISP to
 the Arietta board and itself places the requests to the internet
 instead of the Arietta board itself.
 
 But this is a too longish explanation to be put into a google request.

:)

 Is there any name for that...so I am able to find the tutorials/howtos
 myself?

If I understood this correctly this should do what you want:

- on the board set the default route to the PC

- on the PC set up packet forwarding

That's the best explanation I can give you without writing a full-blown
tutorial, but searching for that should get you going. :)

-h




[gentoo-user] Re: Do I really need to install new packages during upgrade?

2014-08-26 Thread Holger Hoffstätte
On Tue, 26 Aug 2014 12:21:35 +0300, Gevisz wrote:

 I have just tried to upgrade my system (which I do almost every day) and
 found out that portage wants to install 6 new python packages that seem
 to be unnecessary because for example
   # equery depends dev-python/pyopenssl
 reports that no other package depends on this one.

..*at the moment*. In this case pyopenssl is required for ssl-fetch, 
which - at least here - is used by e.g. layman. One or more new packages 
can also come in as part of an update, e.g. when that package gains new 
capabilities. I suspect in your case that's mirrorselect.

Unless you start emerging random packages by yourself (thereby adding 
them to @world) portage usually does the right thing.

-h




[gentoo-user] Re: re: which NTPd package to use?

2014-07-26 Thread Holger Hoffstätte
On Sat, 26 Jul 2014 15:05:23 +0300, Alexander Kapshuk wrote:

 Which NTPd package would the list recommend using, ntp, openntpd, or
 some other package?

chrony - no competition, even for servers. ntpd is way overrated,
unnecessarily hard to setup correctly, fragile and contrary to
popular belief not even that accurate, unless you use external
HW clocks. Chrony is maintained by Red Hat in cooperation with the
timekeeping code in the kernel.

 openntpd seems to be easier to set up according to wiki.gentoo.org.

Many many years ago I helped port openntpd to Linux. It was OK-ish at
the time and easier/less hassle than ntpd, but the portable version for
Linux stopped working reliably many years ago due to kernel changes.
IMHO it really should no longer be in the tree since it gives a false
sense of accuracy.

just my 0.01€..

-h




[gentoo-user] Re: re: which NTPd package to use?

2014-07-26 Thread Holger Hoffstätte
On Sat, 26 Jul 2014 21:14:04 +0300, Alexander Kapshuk wrote:

 Is this gentoo wiki article still relevant when it comes to configuring
 chrony on gentoo?
 http://www.gentoo-wiki.info/Chrony
 
 Or should I stick to the instructions given here:
 /usr/share/doc/chrony-1.29.1/chrony.txt.bz2

The wiki article is from 2008 and doesn't seem too wrong,
but the current ebuilds are a bit more up to date wrt.
default config and init script. The current template config also
contains very detailed instructions and is probably the best way
to get started. How much you need to set up depends on your specific
use case - pure client, steady/interrupted connectivity, server for
other machines on the LAN..

If you only want to be a client just add one or multiple servers
to the config and you are good to go; chrony works well pretty much
out of the box.

-h




[gentoo-user] Re: cpufrequtils can't find expected /sys/devices/system/cpu/cpufreq

2014-04-24 Thread Holger Hoffstätte
On Thu, 24 Apr 2014 10:13:39 +0100, Neil Bothwick wrote:

 On Thu, 24 Apr 2014 02:27:05 -0400, Walter Dnes wrote:
 
 [aa1][root][/usr/src/linux] /etc/init.d/cpufrequtils start
  * Caching service dependencies ...  [ ok ]
  * Running cpufreq-set --governor conservative -- ...
 /usr/libexec/cpufrequtils-change.sh: line 26: cd:
 /sys/devices/system/cpu/cpufreq: No such file or directory   [ !! ]
  * ERROR: cpufrequtils failed to start
 
 I get a similar message, it appears to be looking in the wrong place.
 
 /sys/devices/system/cpu/cpufreq does not exist but
 /sys/devices/system/cpu/cpu{0..3}/cpufreq do

It depends on the CPU frequency governor. If CONFIG_X86_INTEL_PSTATE is
set and active (depending on your CPU model), the traditional governors
(like ondemand) and their correspondig sysfs entries are disabled.
For example I have the former (cpufreq) entry on my old core2 laptop,
but no such entry on my machines with i5/i7 with pstate despite the same
3.12.x kernel everywhere.
Generally pstate is much better than ondemand for both performance and
especially powersave mode.

Also AFAIK cpufrequtils are unmaintained/deprecated/dead, you should
migrate to sys-power/cpupower. It's slightly different but IIRC easy
to switch to.

-h




[gentoo-user] Re: llvm compile error

2014-01-24 Thread Holger Hoffstätte

Before this gets out of hand..

On Fri, 24 Jan 2014 19:44:38 +0100, Silvio Siefke wrote:

 llvm-3.4 is not hardmasked. It is marked ~x86 which is something very
 different.
 
 Correct, i mean Clang in version 3.4 is hardmasked. I want install clang
 alone llvm i not need. I think mesa use llvm too but i has not set the
 use flag. 

1) clang-3.4 is not hardmasked either, so you need to set ~x86 keyword
for that package as well as for llvm - because:

2) clang is only a metapackage, without any contents on its own.
The compiler binaries are part of the llvm package. You simply cannot
have clang without llvm.

3) FreeBSD indeed uses clang as default compiler, but uses 3.3 since
3.4 still has quite a few new and exciting bugs.

Hope that clears things up.

-h




[gentoo-user] Re: how to use my SSD the right way ;-)

2014-01-02 Thread Holger Hoffstätte
On Fri, 03 Jan 2014 00:59:29 +0200, Anton Shumskyi wrote:

 Hi, there is a native queuing at my INTEL SSD 64GB, so i'v set noop
 scheduler via udev rules. And it's kind a luggish when deleting a lot files
 like kernel sources (at ext4,xfs,btrfs, FS makes no difference, some cheap

That's the discard setting. Since kernel 3.8.x the block layer sends TRIMs
synchronously and this totally tanked performance. Just run without discard
and run fstrim nightly.

 hardware stuff)​. Will test some day another scheduler like deadline on

Will not help in this case.

-h




[gentoo-user] Re: out of disk space to compile webkit-gtk

2013-12-23 Thread Holger Hoffstätte
On Mon, 23 Dec 2013 00:53:16 -0700, Joseph wrote:

 I'm upgrading the system and running out of disk space to compile
 webkit-gtk
 [..]
 How do I tell the system to use /home partition to use for compiling
 temp tiles?

portage.env allows per-package environment variables.

This will use two special configurations for libreoffice:

holgergrep libreoffice /etc/portage/package.env
app-office/libreoffice clang.conf no-tmpfs.conf

A configuration is simply a set of variables:

holgercat /etc/portage/env/no-tmpfs.conf 
PORTAGE_TMPDIR=/var/tmp

So replace libreoffice with webkit-gtk and whatever path you want for 
PORTAGE_TEMPDIR.

-h