Greg
animals brewing
food and drink fiction
gardening general
health history
language music
multimedia opinion
photography politics
Stones Road house technology
Greg's diary
recent entries
Translate this page
Select day in February 2020:
Su Mo Tu We Th Fr Sa
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
Select month:
2019 May Jun Jul Aug
2019 Sep Oct Nov Dec
2020 Jan Feb Mar Apr
Today's diary entry
Diary index
About this diary
Greg's home page
Greg's photos
Network link stats
Greg's other links
Copyright information
    
Groogle

Wednesday, 19 February 2020 Dereel Images for 19 February 2020
Top of page
next day
last day

Rebuilding firefox
Topic: technology, opinion Link here

Yvonne off shopping today, plenty of time for me to build the firefox port.

First, though, a couple of symlinks. I don't want to check out the entire ports tree to lagoon when I already have one on eureka. In addition, it seems that I was duplicating packages on lagoon, so:

=== root@lagoon (/dev/pts/0) ~ 75 -> ln -s /src/FreeBSD/svn/ports /usr
=== root@lagoon (/dev/pts/0) ~ 76 -> ln -s /eureka/home/var/cache/pkg/ /var/cache

The first issue was:

===> Fetching all distfiles required by firefox-73.0.1,1 for building
===>  Extracting for firefox-73.0.1,1
=> SHA256 Checksum OK for firefox-73.0.1.source.tar.xz.
===>  Patching for firefox-73.0.1,1
===>  Applying FreeBSD patches for firefox-73.0.1,1
1 out of 1 hunks failed--saving rejects to gfx/webrender_bindings/RenderThread.cpp.rej
1 out of 1 hunks failed--saving rejects to gfx/webrender_bindings/src/bindings.rs.rej
=> FreeBSD patch patch-bug1511726 failed to apply cleanly.
=> Patch(es)  patch-addon-search patch-browser-app-nsBrowserApp.cpp patch-bug1269654_comment5 patch-bug1288587 patch-bug1504834_comment10 patch-bug1504834_comment5 patch-bug1504834_comment7 patch-bug1504834_comment9 applied cleanly.
*** Error code 1

What went wrong there? That's the file /usr/ports/www/firefox/files/patch-bug1519629. Checking the log, I got the information “File is not under version control”. How can that be? Where did it come from? I certainly didn't put it there. And shouldn't it have been removed if it were once there and had been removed from the repository? At the very least I would expect to find some find of revision history there.

OK, rename files to filed and do an svn up in the parent directory. That worked, checking out a new files directory and showing that a number of other files that also shouldn't have been there.

On to build the dependencies.

===>   nss-3.50 depends on file: /usr/local/sbin/pkg - found
=> nss-3.50.tar.gz doesn't seem to exist in /eureka/home/src/FreeBSD/svn/ports/distfiles/.
=> Attempting to fetch https://download.cdn.mozilla.net/pub/security/nss/releases/NSS_3_50_RTM/src/nss-3.50.tar.gz
nss-3.50.tar.gz                                         74 MB 2522 kBps    30s
===> Fetching all distfiles required by nss-3.50 for building
...
===>  Installing for nss-3.50
===>  Checking if nss is already installed
===>   An older version of nss is already installed (nss-3.47.1)
      You may wish to ``make deinstall'' and install this port again
      by ``make reinstall'' to upgrade it properly.
      If you really wish to overwrite the old port of nss
      without deleting it first, set the variable "FORCE_PKG_REGISTER"
      in your environment or the "make install" command line.
*** Error code 1

So it built a newer version of a package without comment, and then tripped over its own lack of caution at the end. That's make deinstall; make reinstall, but I had to do it manually. And not just for this package.

And then there were unexpected dependencies:

===>   Returning to build of firefox-73.0.1,1
===>   firefox-73.0.1,1 depends on executable: nasm - not found
*** Error code 1
<i>(later)</i>
===>   firefox-73.0.1,1 depends on executable: zip - not found
*** Error code 1

Why not build the thing? Again, it worked manually.

Later it wanted to build llvm90, a compiler suite that I swear spends most of its time building itself. I didn't even give that one a chance: abort the build and install the package.

The same happened with rust, but this time it wanted to install rust-1.41, and the packages were still at rust-1.40. So I had to build manually, in the process admiring once again cmake's one-sided view of the environment:


https://lemis.nyc3.digitaloceanspaces.com/grog/Photos/20200219/big/cmake-filth.png
Image title: cmake filth          Dimensions:          929 x 1030, 21 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Make this image small again Display small version of all images on this page
All images taken on Wednesday, 19 February 2020, thumbnails          All images taken on Wednesday, 19 February 2020, small
Diary entry for Wednesday, 19 February 2020 Complete exposure details

 


https://lemis.nyc3.digitaloceanspaces.com/grog/Photos/20200219/small/cmake-filth-detail.png
Image title: cmake filth detail          Dimensions:          1716 x 157, 92 kB
Make a single page with this image Hide this image
Make this image a thumbnail Make thumbnails of all images on this page
Display small version of all images on this page
All images taken on Wednesday, 19 February 2020, thumbnails          All images taken on Wednesday, 19 February 2020, small
Diary entry for Wednesday, 19 February 2020 Complete exposure details

 

Why do the same people who think that coloured output is a good idea also not understand that text is normally dark on light, not the other way round? If my xterm background had been white rather than beige, the text would have been completely invisible.

More dependencies that don't get built:

===>   Returning to build of py37-sphinx-1.6.5_2,1
===>   py37-sphinx-1.6.5_2,1 depends on package: py37-docutils>=0.11 - not found
*** Error code 1

And finally, in late afternoon:

Generating unstable book md files (x86_64-unknown-freebsd)
thread 'main' panicked at 'fs::remove_dir_all(dir) failed with Directory not empty (os error 66)', src/bootstrap/lib.rs:1247:9
stack backtrace:
   0: <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt
   1: core::fmt::write
   2: std::io::Write::write_fmt
   3: std::panicking::default_hook::{{closure}}
   4: std::panicking::default_hook
   5: std::panicking::rust_panic_with_hook
   6: std::panicking::continue_panic_fmt
   7: std::panicking::begin_panic_fmt
   8: bootstrap::Build::remove_dir
             at src/bootstrap/lib.rs:1247
   9: <bootstrap::doc::UnstableBookGen as bootstrap::builder::Step>::run
             at src/bootstrap/doc.rs:735
  10: bootstrap::builder::Builder::ensure
             at src/bootstrap/builder.rs:1302
  11: <bootstrap::doc::UnstableBook as bootstrap::builder::Step>::run
             at src/bootstrap/doc.rs:97
  12: bootstrap::builder::Builder::ensure
             at src/bootstrap/builder.rs:1302
  13: <bootstrap::doc::UnstableBook as bootstrap::builder::Step>::make_run
             at src/bootstrap/doc.rs:91
  14: bootstrap::builder::StepDescription::maybe_run
             at src/bootstrap/builder.rs:184
  15: bootstrap::builder::StepDescription::run
             at src/bootstrap/builder.rs:208
  16: bootstrap::builder::Builder::run_step_descriptions
             at src/bootstrap/builder.rs:557
  17: bootstrap::builder::Builder::default_doc
             at src/bootstrap/builder.rs:553
  18: <bootstrap::dist::Docs as bootstrap::builder::Step>::run
             at src/bootstrap/dist.rs:98
  19: bootstrap::builder::Builder::ensure
             at src/bootstrap/builder.rs:1302
  20: <bootstrap::install::Docs as bootstrap::builder::Step>::run
             at src/bootstrap/install.rs:191
  21: bootstrap::builder::Builder::ensure
             at src/bootstrap/builder.rs:1302
  22: <bootstrap::install::Docs as bootstrap::builder::Step>::make_run
             at src/bootstrap/install.rs:176
  23: bootstrap::builder::StepDescription::maybe_run
             at src/bootstrap/builder.rs:184
  24: bootstrap::builder::StepDescription::run
             at src/bootstrap/builder.rs:208
  25: bootstrap::builder::Builder::run_step_descriptions
             at src/bootstrap/builder.rs:557
  26: bootstrap::builder::Builder::execute_cli
             at src/bootstrap/builder.rs:547
  27: bootstrap::Build::build
             at src/bootstrap/lib.rs:445
  28: bootstrap::main
             at src/bootstrap/bin/main.rs:15
  29: std::rt::lang_start::{{closure}}
             at /wrkdirs/usr/ports/lang/rust-bootstrap/work-amd64/rustc-1.40.0-src/src/libstd/rt.rs:61
  30: std::panicking::try::do_call
  31: __rust_maybe_catch_panic
  32: std::rt::lang_start_internal
  33: std::rt::lang_start
             at /wrkdirs/usr/ports/lang/rust-bootstrap/work-amd64/rustc-1.40.0-src/src/libstd/rt.rs:61
  34: main
  35: _start
             at /usr/src/lib/csu/amd64/crt1.c:76
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
Traceback (most recent call last):
  File "x.py", line 11, in <module>
    bootstrap.main()
  File "/eureka/home/src/FreeBSD/svn/ports/lang/rust/work/rustc-1.41.0-src/src/bootstrap/bootstrap.py", line 912, in main
    bootstrap(help_triggered)
  File "/eureka/home/src/FreeBSD/svn/ports/lang/rust/work/rustc-1.41.0-src/src/bootstrap/bootstrap.py", line 898, in bootstrap
    run(args, env=env, verbose=build.verbose)
  File "/eureka/home/src/FreeBSD/svn/ports/lang/rust/work/rustc-1.41.0-src/src/bootstrap/bootstrap.py", line 141, in run
    raise RuntimeError(err)
RuntimeError: failed to run: /eureka/home/src/FreeBSD/svn/ports/lang/rust/work/rustc-1.41.0-src/build/bootstrap/debug/bootstrap install --config=config.toml --jobs=4
*** Error code 1

Note particularly the:

note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

The mind boggles. But what does all this crap mean? To me, it means that, after 25 years, the FreeBSD ports collection is still broken. A whole day wasted, and I didn't even manage to build the tools to build firefox!

On a hunch, tried installing the firefox package again. It ran! Some of the people watching on IRC saw this as success. I see it as abject failure, worked around. I still don't know why it now works.

People, can't we do better than this? We have people who codify the Makefiles so that you need to understand 20 different variables just to specify the URL of the source tarballs, but these kinds of bug still slip through. I despair.


Chrome: listen to me!
Topic: technology, general, opinion Link here

While watching TV this evening, the full-screen image turned to a framed image (coincidentally the same size). Before I could ponder what was causing that, a message appeared: “Can't update Chrome”.

What's that nonsense? I didn't ask Chrome to update, and it should know that it's too stupid to perform its own update under FreeBSD. But what kind of mindset causes programmers to interrupt whatever else is going on on a computer to deliver what proves to be a completely boring and unwelcome message?


Thursday, 20 February 2020 Dereel → Ballarat → Dereel Images for 20 February 2020
Top of page
previous day

More grid power fluctuations
Topic: Stones Road house, general, opinion Link here

I had more or less planned to separate my reports of grid power problems into two kinds. The inverter doesn't report an “Off-grid” condition until there has been at least 1 second of power outage, and for most outages it never gets that far. So it seems reasonable to separate reports into “transient” outages where the inverter doesn't report “Off-grid”, and those where it does. Both could result in problems for unprotected devices, but I don't have a way to know how long the transients last.

But this morning at 01:32:02 we had a different situation. Normally after an outage, the inverter goes into a “Waiting to connect” state for 60 seconds before reconnecting. Today it lasted 120 seconds. Why? The obvious guess is that further transients occurred, and the inverter waited until there were 60 seconds of stable grid power before reconnecting. How do I report that?


First tomato of summer
Topic: gardening Link here

We have a tomato!

 
https://lemis.nyc3.digitaloceanspaces.com/grog/Photos/20200220/small/First-tomato-of-summer.jpeg
Image title: First tomato of summer
Complete exposure details
Dimensions: 600 x 450, 90 kB
Dimensions of original: 5184 x 3888, 2888 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Thursday, 20 February 2020:
thumbnails    small images    diary entry

That's the first one that has ripened this summer, 9 days before the beginning of autumn, and fully 45 days later than last year. Why? Despite the international attention that our bushfires have attracted, it has been a relatively cool summer. There are more fruit on their way, but I don't see us having a bumper crop either.


More mouse problems
Topic: technology, opinion Link here

A month ago I gave up with the problems I was having with my Logitech M705 MARATHON mouse: it had a tendency to paste data in unrelated windows. Instead I went back to my old el-cheapo Jenkins mouse.

But that, too, wasn't without its problems. This one did the opposite, marking portions of windows when I deiconified them. At least for the moment that proves to be more irritating (I had difficulty marking text, going to another window and pasting it), so I'm back to the Logitech for the time being.

But what's causing this? My guess is button bounce: the driver accepts every change of state, even if it's really short. It should ignore any transition that last less than mumble ms, where mumble could be in the range 10 to 40. Maybe I can brave the emetic code again.


A new range hood?
Topic: food and drink, general, opinion, animals Link here

I've complained about our horrible SMEG range hood almost since we moved in. The only reason we didn't complain earlier was because Jim Lannen forgot to install it, and we had to get Corey Spiteri to tidy up the mess Jim left behind.

We've given up trying to get the thing replaced. Specs? Who cares about specs? Sue us! But we've experienced continual death of the silly halogen light bulbs and the great difficulty in replacing them. Finally it happened as it had to: the sockets for the lamps are wearing out, and they no longer make contact.

OK, it's our money, but also our piece of mind. Buy a new one. But which? What do we want?

I had spent some time looking at specs online, in the process confirming my opinion that people don't really understand how to replace the showroom feel. The only way to find out about specific features is to look at the device, and the images provided online are inadequate. So today we decided to go into town and take a look at the showrooms.

Which showrooms? Basically there's only The Good Guys and maybe Harvey Norman. Off to the Good Guys first, where I confirmed that I could get all my requirements—only not on any one hood. Many still have halogen lighting, though it seems that they will be banned from September. Otherwise this one could have been suitable:

 
https://lemis.nyc3.digitaloceanspaces.com/grog/Photos/20200220/small/Range-hood-1.jpeg
Image title: Range hood 1
Display location on map
Complete exposure details
Dimensions: 606 x 446, 47 kB
Dimensions of original: 4694 x 3456, 1910 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Thursday, 20 February 2020:
thumbnails    small images    diary entry
 
https://lemis.nyc3.digitaloceanspaces.com/grog/Photos/20200220/small/Range-hood-2.jpeg
Image title: Range hood 2
Display location on map
Complete exposure details
Dimensions: 606 x 446, 56 kB
Dimensions of original: 4694 x 3456, 2040 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Thursday, 20 February 2020:
thumbnails    small images    diary entry

Frustrated, off to Harvey Norman. They had a much more uniform range: all over $1,000, all with halogen lighting. Goodbye, Harvey Norman. But that was it. Nothing useful at all.

We took the dogs with us to town, and first for a walk in the Botanical Gardens, then on to the Delacombe Town Centre to wash them. The place is directly opposite Bunnings, and Yvonne told me that it would take her 30 minutes to wash them, so I went into Bunnings to see what they had in the way of range hoods. In fact, not too bad:

 
https://lemis.nyc3.digitaloceanspaces.com/grog/Photos/20200220/small/Range-hood-4-detail.jpeg
Image title: Range hood 4 detail
Display location on map
Complete exposure details
Dimensions: 738 x 366, 47 kB
Dimensions of original: 4430 x 2196, 1149 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Thursday, 20 February 2020:
thumbnails    small images    diary entry
 
https://lemis.nyc3.digitaloceanspaces.com/grog/Photos/20200220/small/Range-hood-5.jpeg
Image title: Range hood 5
Display location on map
Complete exposure details
Dimensions: 671 x 402, 98 kB
Dimensions of original: 3670 x 2198, 1675 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Thursday, 20 February 2020:
thumbnails    small images    diary entry

But it was only 60 cm wide. OK, we've installed two range hoods back to back before, and there's space either side of the current hood. How about two hoods side by side?

Back to PETstock to get some video of washing the dogs. No luck. I had only been gone 10 minutes, but they were finished—quite the reverse of the pain I went through as a boy, where my mother continually took 3 times as long to do anything as she said she would.

Back home: the gap for the range hood is 108 cm, and we would have needed 120 cm. So no go with the 2 hood idea. Why is this all so difficult?


Microwave oven limitations
Topic: food and drink, opinion Link here

One of the good features of “inverter” microwave ovens is that you can use them to soften butter, and I frequently do this. But today things went wrong:

 
https://lemis.nyc3.digitaloceanspaces.com/grog/Photos/20200220/small/Microwaved-butter-2.jpeg
Image title: Microwaved butter 2
Complete exposure details
Dimensions: 600 x 450, 68 kB
Dimensions of original: 5185 x 3888, 2230 kB
Display this image:
thumbnail    hidden   alone on page
Display all images on this page as:
thumbnails    this size
Show for Thursday, 20 February 2020:
thumbnails    small images    diary entry

How did that happen? I had the oven (Sharp R350EW) set to 100 W. Did I set it incorrectly? No, then it would have melted the butter, not just bored a hole, and the rest of the butter was relatively firm. My best guess is that the very centre of the cavity has a hot spot, and moving the butter around on the carousel won't help if part of it is over the centre. So: offset the butter, or put it in the Panasonic, which so far has not caused any such problems—or both.


This page contains (roughly) yesterday's and today's entries. I have a horror of reverse chronological documents, so all my diary entries are chronological. This page normally contains the last two days, but if I fall behind it may contain more. You can find older entries in the archive. Note that I often update a diary entry a day or two after I write it.     Do you have a comment about something I have written? This is a diary, not a “blog”, and there is deliberately no provision for directly adding comments. It's also not a vehicle for third-party content. But I welcome feedback and try to reply to all messages I receive. See the diary overview for more details. If you do send me a message relating to something I have written, please indicate whether you'd prefer me not to mention your name. Otherwise I'll assume that it's OK to do so.


Greg's home page This month Greg's photos Greg's links

RSS 2.0 Valid XHTML 1.0!