profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/cosmicexplorer/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Danny McClanahan cosmicexplorer @twitter SF https://twitter.com/hipsterelectron eng_US @twitter building open source infrastructure @pantsbuild so the shoulders of giants aren't locked away with golden handcuffs (he/him/his)

benzweig/ds4beat 1

new square press!

cosmicexplorer/.emacs.d 1

personal emacs configuration

cosmicexplorer/ceed 1

the name is funny, laugh

2016UAVClass/Firmware 0

PX4 Firmware with some SITL tweaks/add-ons: Models for UPenn F450 quadrotor, front and down cameras (use with forked mavros)

cosmicexplorer/.atom 0

atom config

cosmicexplorer/.vim 0

personal vim configuration

cosmicexplorer/.zsh 0

personal zsh configuration

Pull request review commentspack/spack

Implement CVS fetcher

 import os.path import re import shutil+import sys import tempfile import xml.etree.ElementTree +if sys.version_info >= (2, 7):

I am surprised: at least one PR submitted since #24473 has passed CI (https://github.com/spack/spack/pull/24481) so I'm wondering if there is an issue where PRs that failed due to this are difficult to correct (for the PR you linked, it hit this problem, and you pushed additional commits after it was corrected, but I see the CI fails in both cases).

eschnett

comment created time in 41 minutes

Pull request review commentspack/spack

Implement CVS fetcher

 import os.path import re import shutil+import sys import tempfile import xml.etree.ElementTree +if sys.version_info >= (2, 7):

I still see errors like the one above (e.g. at https://github.com/spack/spack/pull/24388/checks?check_run_id=2890513500). I don't think this is related to Python 2.7, because it's not the CVS-related code that is failing.

I think what is going on is the following: As part of the test suite, there is an analysis stage (related to external/_pytest) which analyzes the Python code. This analysis stage comes across the import dateutil statement and cannot handle it.

I don't know what external/_pytest does, or what analysis stage that is. But maybe it would suffice to tell this stage that dateutil is now a fine package to be imported, and to not worry about it.

eschnett

comment created time in an hour

pull request commentspack/spack

Llvm libomptarget support

Also, is there variant type which says, I don't need this feature but I won't care if the feature is present. E.g. if llvm is already installed with lldb, I think adding "-lldm" will make whole llvm be recompiled. But in cases mentioned above, it's okay if lldb is already present, but if it's absent it's not needed.

trws

comment created time in 2 hours

pull request commentspack/spack

Llvm libomptarget support

I wonder, why clang-tools-extra and targets [nvptx/amdgpu] are default true? They take up bunch of time compiling when one is say only interested in libclang/ target independent optimizations. Or alternatively is there llvm-min/clang-min package which only provides llvm utils + libllvm / clang + libclang and everything extra is à la carte? E.g. ccls, rtags, octlint and one being added barvinok.

trws

comment created time in 2 hours

Pull request review commentpantsbuild/pants

set default user-agent header on gRPC requests with Pants version

 def from_options(cls, options: OptionValueContainer) -> LocalStoreOptions:     process_execution_local_cache=True,     # Remote store setup.     remote_store_address=None,-    remote_store_headers={},+    remote_store_headers={+        "user-agent": f"pants/{VERSION}",

We should probably normalize --remote-store-headers and --remote-execution-headers to ensure all header names are lower case. Even though tonic and hyper crates will do that for us, the Rust code I wrote to extract user-agent expects it to be lower case (as per the standard).

tdyas

comment created time in 2 hours

Pull request review commentpantsbuild/pants

set default user-agent header on gRPC requests with Pants version

 def from_options(cls, options: OptionValueContainer) -> LocalStoreOptions:     process_execution_local_cache=True,     # Remote store setup.     remote_store_address=None,-    remote_store_headers={},+    remote_store_headers={+        "user-agent": f"pants/{VERSION}",

Not for HTTP/2 and thus not for gRPC. All HTTP/2 headers are lower case.

Just as in HTTP/1.x, header field names are strings of ASCII characters that are compared in a case-insensitive fashion. However, header field names MUST be converted to lowercase prior to their encoding in HTTP/2. A request or response containing uppercase header field names MUST be treated as malformed (Section 8.1.2.6).

https://datatracker.ietf.org/doc/html/rfc7540#section-8.1.2

tdyas

comment created time in 2 hours

Pull request review commentpantsbuild/pants

set default user-agent header on gRPC requests with Pants version

 def from_options(cls, options: OptionValueContainer) -> LocalStoreOptions:     process_execution_local_cache=True,     # Remote store setup.     remote_store_address=None,-    remote_store_headers={},+    remote_store_headers={+        "user-agent": f"pants/{VERSION}",

Are you sure? Curl doesn't capitalize: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent#examples_7

tdyas

comment created time in 2 hours

Pull request review commentspack/spack

Use flake8-import-order to enforce PEP-8 compliance

 exclude =  format = spack +# flake8-import-order settings+application-import-names = llnl,spack+import-order-style = google
import-order-style = pycharm
adamjstewart

comment created time in 3 hours

Pull request review commentspack/spack

Use flake8-import-order to enforce PEP-8 compliance

 exclude =  format = spack +# flake8-import-order settings+application-import-names = llnl,spack+import-order-style = google

I like pycharm mainly because I put the import statements before the from X import Y statements -- it's more readable. Also JetBrains and @alalazo usually have good taste about these things 😄

adamjstewart

comment created time in 3 hours

Pull request review commentpantsbuild/pants

set default user-agent header on gRPC requests with Pants version

 def from_options(cls, options: OptionValueContainer) -> LocalStoreOptions:     process_execution_local_cache=True,     # Remote store setup.     remote_store_address=None,-    remote_store_headers={},+    remote_store_headers={+        "user-agent": f"pants/{VERSION}",

should be capitalized: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent

tdyas

comment created time in 3 hours

PullRequestEvent

PR closed spack/spack

gsl: new release 2.7 new-version

Only a new release ; +external-cblas patch works as for release 2.6 and as @glennpj did in PR #22968. Sorry @glennpj I did not update the 2.3 patch for 2.6 since when not using +external-cblas for gsl but when using blas for a package that depends on gsl, the package "automagically" depends on the "external" blas, not the libgslcblas.so shipped with gsl ; this might interest @sethrj and he may give hints on the subject. You made it explicit @glennpj , I assume you have a need for that, but I prefer not since I may compile my code without blas for all my code but with a complete gsl. Maybe gsl developpers would have some advise about it, they say "Users who have access to other conforming CBLAS implementations can use these in place of the version provided by the library" but it is a bit short for me, I fail to understand that. Reference : https://www.gnu.org/software/gsl/doc/html/blas.html#blas-support

+1 -0

1 comment

1 changed file

cessenat

pr closed time in 3 hours

pull request commentspack/spack

gsl: new release 2.7

Close/reopen to restart CI

cessenat

comment created time in 3 hours

Pull request review commentspack/spack

genfit: Add googletest dependency

 class Genfit(CMakePackage):     depends_on('root')     depends_on('root@:6.16.00', when='@b496504a')     depends_on('eigen')+    depends_on('googletest')

We have a test deptype (which is used in some instances where googletest is declared as a dependency) but that is generally when the tests are build conditionally - it looks like as it is this package always builds the tests, so in that sense googletest is minimally a build (and possibly link) dependency (build+link is the default). If you want to run the tests on the package after building it you should also make this a run dependency like:

depends_on('googletest', type=('build', 'link', 'run'))
tmadlener

comment created time in 3 hours

pull request commentspack/spack

WIP: Add --with-env-vars flag to `spack env activate --sh`

I for one would appreciate a flag to generate a module. Roughly speaking, the situation is as follows: I intend to use Spack to generate a standard environment for users, but I don't expect them to learn Spack (and Spack doesn't really seem to support multiple users yet). My users do know how to use modules though and that might be preferable to sourcing a 'loads' script for them.

RobertRosca

comment created time in 3 hours

push eventspack/spack

eugeneswalker

commit sha 2db858e9c4fc16db4051004e4cca8b11154a3d22

filter_compiler_wrappers: include realpath of compiler wrappers (#24456)

view details

push time in 3 hours

PR merged spack/spack

filter_compiler_wrappers: include realpath of compiler wrappers

filter_compiler_wrappers : include realpath of compiler wrappers

@becker33

+5 -1

0 comment

1 changed file

eugeneswalker

pr closed time in 3 hours

push eventpantsbuild/pants

Tom Dyas

commit sha 8966adfd67a43e583254dae0f405cb2d466f5098

set default user-agent header on gRPC requests with Pants version (#12241) Set the user agent to `pants/VERSION` by default for gRPC requests.

view details

push time in 3 hours

PR merged pantsbuild/pants

Reviewers
set default user-agent header on gRPC requests with Pants version

Set the user agent to pants/VERSION by default for gRPC requests.

[ci skip-build-wheels]

+7 -2

1 comment

1 changed file

tdyas

pr closed time in 3 hours

pull request commentpantsbuild/pants

set default user-agent header on gRPC requests with Pants version

You already know this, but for posterity: note that auth plugins will be able to override this header, including inspecting the original value to mix it in.

I consider that to be fine. Users can also override it easily by using Pants configuration as for any dictionary option.

tdyas

comment created time in 4 hours

pull request commentspack/spack

CUDA: 11.0.3 (11.0 "Update 1")

Not sure if this is my local continuously updated spack, but I get this error:

==> Installing cuda-11.0.3-2zr3z6xx7rrfkosoilk2thaq6z3v3o36
==> No binary for cuda-11.0.3-2zr3z6xx7rrfkosoilk2thaq6z3v3o36 found: installing from source
==> Fetching https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda_11.0.3_450.51.06_linux.run
==> Error: OverflowError: signed integer is greater than maximum

/home/axel/src/spack/lib/spack/spack/package.py:1378, in do_fetch:
       1375
       1376        self.stage.create()
       1377        err_msg = None if not self.manual_download else self.download_instr
  >>   1378        start_time = time.time()
       1379        self.stage.fetch(mirror_only, err_msg=err_msg)
       1380        self._fetch_time = time.time() - start_time
       1381
ax3l

comment created time in 4 hours

PR opened spack/spack

CUDA: 11.0.3 (11.0 "Update 1") cuda new-version

Add CUDA 11.0.3.

This release adds new features such as NVCC flags --forward-unknown-to-host-compiler and --forward-unknown-to-host-linker

+8 -4

0 comment

2 changed files

pr created time in 4 hours

PR opened pantsbuild/pants

Reviewers
set user-agent header on gRPC requests

Set the user agent to pants/VERSION by default for gRPC requests.

[ci skip-build-wheels]

+7 -2

0 comment

1 changed file

pr created time in 5 hours

issue commentspack/spack

Installation issue: gettext (needed for python) fails on aarch64

Weird! I know I've installed Python on an Arm Mac after May 8th without this being an issue, but all of a sudden today I ran into this bug and can't manage to update my python installation though Spack.

andreipoe

comment created time in 5 hours

push eventpantsbuild/pants

Tom Dyas

commit sha b6592c9d448e51d71f255a381fe9c8fbfd93fdf4

extract user-agent header and set it on Tonic builder correctly (#12237) ## Problem The Tonic gRPC library requires that user agent headers be passed to it via the `Endpoint::user_agent`. Any `user-agent` header set as request metadata will be overwritten. See https://github.com/hyperium/tonic/blob/0c69c378fd85d754f045791a5d51b29831e4c728/tonic/src/transport/service/user_agent.rs#L43. ## Solution Extract any `user-agent` header from passed-in headers for remote store and remote execution. Then pass the user agent to Tonic as it expects. [ci skip-build-wheels]

view details

push time in 5 hours

PR merged pantsbuild/pants

Reviewers
extract user-agent header and set it on Tonic builder correctly

Problem

The Tonic gRPC library requires that user agent headers be passed to it via the Endpoint::user_agent. Any user-agent header set as request metadata will be overwritten. See https://github.com/hyperium/tonic/blob/0c69c378fd85d754f045791a5d51b29831e4c728/tonic/src/transport/service/user_agent.rs#L43.

Solution

Extract any user-agent header from passed-in headers for remote store and remote execution. Then pass the user agent to Tonic as it expects.

[ci skip-build-wheels]

+152 -7

6 comments

8 changed files

tdyas

pr closed time in 5 hours

issue openedspack/spack

Make environments scoped like mirrors, repos and configuration

<!--Please add a concise summary of your suggestion here.--> Like configuration, mirrors and repositories Spack should support to store environment definitions in a scoped fashion. This would allow users to separate their own environments from the official Spack git tree.

Rationale / Description

When creating a new environment using spack env create NEW_ENV the required file system structure is created under $SPACK/var/spack/environments/$NEW_ENV according to the documentation.

While there may exist various levels of configuration files and within those, various paths for repositories and mirrors, there currently is no way for a user or site to define environments independent of the path where the Spack installation resides.

In the end this means that a user needs write access to the Spack installation path in order to create and manage environments although this might not be possible if the Spack installation is provided by the organization running the compute system.

One might suggest to just clone another Spack installation but with that the user might loose the benefits from the centrally managed Spack instance.

General information

$ spack debug report
* **Spack:** 0.16.2-3213-7b6ca59
* **Python:** 3.6.8
* **Platform:** linux-centos7-broadwell
* **Concretizer:** original
  • [x] I have run spack --version and reported the version of Spack
  • [x] I have searched the issues of this repo and believe this is not a duplicate

<!--If you want to ask a question about the tool (how to use it, what it can currently do, etc.), try the #general channel on our Slack first. We have a welcoming community and chances are you'll get your reply faster and without opening an issue.

Other than that, thanks for taking the time to contribute to Spack! -->

created time in 5 hours

issue commentpantsbuild/pants

Add how to guides to Pants docs

A major part of this ticket is deciding how to organize the sidebar of our docs.

Another portion would be expanding and prioritizing a list of the potential howtos.

Eric-Arellano

comment created time in 5 hours

issue openedpantsbuild/pants

Add how to guides to Pants docs

https://www.youtube.com/watch?v=eWaWvUhpseM differentiates between how tos vs. guides vs. API references. Right now, Pants is missing dedicated how tos for things like:

  • adding a linter
  • setting up a test to run with Pants
    • should probably include handling hermeticity and files
  • building a PEX
  • finding your most used code

Our current docs do have elements of how-tos, but they should be more dedicated and tutorial style, e.g. that you can follow along with.

A major part of this ticket is deciding how to organize the sidebar of our docs.

created time in 6 hours

Pull request review commentpantsbuild/pants

Set up pants to use the latest version of humbug

 freezegun==1.1.0  # Note: we use humbug to report telemetry. When upgrading, ensure the new version maintains the # anonymity promise we make here: https://www.pantsbuild.org/docs/anonymous-telemetry-humbug==0.1.9+humbug==0.2.6

The CI errors are because you have to edit constraints.txt as well as requirements.txt.

zomglings

comment created time in 6 hours