fix: fix run on arm64

Make nodeSelector configurable.
Make CSI sidecar images repo and tag configurable.
Use k8s offical repo as default, as it provides muti-arch images
for Arm64.
The verfied Arm64 override values are (run on microk8s):
cat >values-arm-override.yaml<<EOF
---
image:
  repo: xin3liang

nodeSelector:
  kubernetes.io/arch: arm64

csi:
  image:
    registry: docker.io
    repo: xin3liang
  node:
    kubeletDir: /var/snap/microk8s/common/var/lib/kubelet

mayastor:
  nodeSelector:
    kubernetes.io/arch: arm64

etcd:
  image:
    repository: xin3liang/bitnami-etcd
    tag: 3.5.1-debian-10-r67
  replicaCount: 1
  volumePermissions:
    image:
      repository: xin3liang/bitnami-shell

loki-stack:
  enabled: false
EOF

Signed-off-by: Xinliang Liu<EMAIL_ADDRESS>See verified result here:
https://linaro.atlassian.net/browse/STOR-104
close https://github.com/openebs/mayastor/issues/1063

ping

@vharsh could you please take a look as well? thanks

bors try

Hmm bors seems stuck...
bors cancel
bors merge

When is the release?


read string

when I do a read_by_name and set the type to PLCTYPE_STRING i get back the first character, if I purposely tell it to read PLCTYPE_STRING *9999 something extremely I get back the characters in string plus a boat load of \x0.
I am wondering is there a method that can just return and arbitrary length string, or am I required to know the length?
Thanks

You don't need to know the length of a string. Just pass PLCTYPE_STRING and you should be fine. For further questions I kindly ask you to add a minimal reproducable code sample that demonstrates your problem.
Kind Regards
Stefan

I have a string in twincat defined as
VAR_GLOBAL
MagicID: WSTRING := "BRIDGERIG";
END_VAR
In my python code of I do
currentState=self.plc.read_by_name("GVL_ExcitAxis.MagicID", pyads.PLCTYPE_STRING)
currentState contains the letter ‘B’ only
Name
Value
Type
currentState
'B'
str
If I adjust python code to read 10 character
currentState=self.plc.read_by_name("GVL_ExcitAxis.MagicID", pyads.PLCTYPE_STRING *10 )
I get an array of letters where each letter is separated the \x0 for instance
Name
Value
Type
▶
currentState
[b'B', b'\x00', b'R', b'\x00', b'I', b'\x00', b'D', b'\x00', b'G', b'\x00']
list
So it appears the in one case it returns a list where every other item in list is the character and the other case it returns a type string of one character.
So my question still remains on how to read strings from a plc variable without know the length of the string?
Marco
From: Stefan Lehmann<EMAIL_ADDRESS>Sent: Monday, August 17, 2020 11:58 AM
To: stlehmann/pyads<EMAIL_ADDRESS>Cc: Marco Accardo<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [stlehmann/pyads] read string (#153)
You don't need to know the length of a string. Just pass PLCTYPE_STRING and you should be fine. For further questions I kindly ask you to add a minimal reproducable code sample that demonstrates your problem.
Kind Regards
Stefan
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/stlehmann/pyads/issues/153#issuecomment-674964627, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAP7VX3NELJL2Z5WS7WEPYTSBFHPHANCNFSM4PZMW2JQ.

RWDI - A Platinum Member of Canada's 50 Best Managed Companies
This communication is intended for the sole use of the party to whom it was addressed and may contain information that is privileged and/or confidential. Any other distribution, copying or disclosure is strictly prohibited. If you received this email in error, please notify us immediately by replying to this email and delete the message without retaining any hard or electronic copies of same. Outgoing emails are scanned for viruses, but no warranty is made to their absence in this email or attachments. If you require any information supplied by RWDI in a different format to facilitate accessibility, contact the sender of the email, email<EMAIL_ADDRESS>or call +1.519.823.1311.
Please be aware that when you contact us with a business query we may collect and use your details for future communications.

Ok your comment made me think..
In Twincat there is a type STRING and a type WSTRING.
I was using twincat type WSTRING when I changed it to type STRING then python got back what I was expecting and it was of type string.
So looks like the library could use a PLCTYPE_WSTRING.
Marco
From: Stefan Lehmann<EMAIL_ADDRESS>Sent: Monday, August 17, 2020 11:58 AM
To: stlehmann/pyads<EMAIL_ADDRESS>Cc: Marco Accardo<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [stlehmann/pyads] read string (#153)
You don't need to know the length of a string. Just pass PLCTYPE_STRING and you should be fine. For further questions I kindly ask you to add a minimal reproducable code sample that demonstrates your problem.
Kind Regards
Stefan
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/stlehmann/pyads/issues/153#issuecomment-674964627, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAP7VX3NELJL2Z5WS7WEPYTSBFHPHANCNFSM4PZMW2JQ.

RWDI - A Platinum Member of Canada's 50 Best Managed Companies
This communication is intended for the sole use of the party to whom it was addressed and may contain information that is privileged and/or confidential. Any other distribution, copying or disclosure is strictly prohibited. If you received this email in error, please notify us immediately by replying to this email and delete the message without retaining any hard or electronic copies of same. Outgoing emails are scanned for viruses, but no warranty is made to their absence in this email or attachments. If you require any information supplied by RWDI in a different format to facilitate accessibility, contact the sender of the email, email<EMAIL_ADDRESS>or call +1.519.823.1311.
Please be aware that when you contact us with a business query we may collect and use your details for future communications.


HSEARCH-4044 Rename JSR-352 artifacts and move them to reflect their ties to the ORM mapper

https://hibernate.atlassian.net/browse/HSEARCH-4044

Looks like this needs a rebase :)

I don't see the javadoc for this modules => Needs work

Looks good. I just added a commit to move the batch-jsr352 modules in the distribution zip.
Merging, thanks!


Create Wow

Description of change

Pre-Merge Checklist

[x] Tests and/or benchmarks are included
[x] Documentation is changed or added
[x] Lint process passed (npm run lint)
[x] Tests passed (npm run test)

Seems like spam. Closing


is USB3 SuperSpeed supported by Cynthion?

When I try to run examples/usb/superspeed/simple_device.py I get this error:
    raise ValueError(f"Platform {self.name} has no default USB3 PHY; cannot create one automatically.") ValueError: Platform Cynthion r1.4 has no default USB3 PHY; cannot create one automatically.
If want to work with USB3 & Cynthion, where should I start

Superspeed is not supported on Cynthion. Cynthion is a USB 2.0 platform: https://greatscottgadgets.com/cynthion/
SuperSpeed has been known to work on some platforms listed here: https://luna.readthedocs.io/en/latest/features.html#reference-boards


Add github action

Looks neat. I just wonder if it is the intended behavior that the toolchain and external repos are downloaded from scratch in every run?

Yes, GitHub provide fresh remote machine on each build, All necessary tool must be install each time.


Obfuscation Problem

Nerts assembly seems to be heavily obfuscated in the latest version of the game, causing Harmony to fail its patching
:(

Never mind, I didn't read the full tech report about using de4dot


[Python] Timex migration – English classes

Timex migration – English classes
Description
Based on Microsoft.Recognizers.Text.DataTypes.TimexExpression, we migrated
English folder with their respectives classes: TimexConstants, TimexConvert, and TimexRelativeConvert.
Changes made
Porting of the English classes: timex_constants, english_timex_ convert, and english_timex_relative_convert.
Find each file’ details below:
timex_constants file

days
months
date_abbreviation
hours
seasons
weeks
day_parts

english_timex_convert file

english_convert_date
convert_time
convert_duration_property_to_string
convert_timex_duration_to_string
convert_duration
convert_date_range
convert_time_range
convert_date_time
convert_date_time_range
convert_timex_to_string
convert_timex_set_to_string

english_relative_convert file

get_date_day
convert_date
convert_date_time
convert_date_range
convert_date_time_range
convert_timex_to_string_relative

See the files and folder structure in datetypes_timex_expression/english, as shown below:

@Maihav, in this case, TimexRelativeConvert and TimexConvert are not classes, they are modules.

Thanks for the clarification, Mik. I will be adding it as a Note in Changes made section, if you agree.

@Maihav sure!

Note also that:

TimexRelativeConvertEnglish and TimexConvertEnglish are not classes in Python because we emulated the JS implementation and used modules. Because of this there are changes in the naming of the files from C# to Python, as we took advantage of modules instead of classes, we had to be more specific for the imports.

Couple of changes:

in the python environment -> in python
due to we emulated the JS implementation and used of modules -> as we emulated the JS implementation and used modules
 specific for the imports  -> specific when naming the files for the imports

Import's screenshot updated and feedback applied.


npm install  Error

npm install

<EMAIL_ADDRESS>install /Users/mx/Desktop/JS/electron-demo2/node_modules/fs-xattr
node-gyp rebuild

CXX(target) Release/obj.target/xattr/src/async.o
../src/async.cc:35:15: warning: 'Call' is deprecated [-Wdeprecated-declarations]
callback->Call(1, argv);
^
../../nan/nan.h:1741:3: note: 'Call' has been explicitly marked deprecated here
NAN_DEPRECATED inline v8::Localv8::Value
^
../../nan/nan.h:106:40: note: expanded from macro 'NAN_DEPRECATED'
define NAN_DEPRECATED attribute((deprecated))
                                   ^

../src/async.cc:52:55: error: too few arguments to function call, single
argument 'context' was not specified
v8::Localv8::Object bufferObj = value->ToObject();
~~~~~~~~~~~~~~~ ^
/Users/mx/Library/Caches/node-gyp/14.15.4/include/node/v8.h:2822:3: note:
'ToObject' declared here
V8_WARN_UNUSED_RESULT MaybeLocal ToObject(
^
/Users/mx/Library/Caches/node-gyp/14.15.4/include/node/v8config.h:431:31: note:
expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT attribute((warn_unused_result))
^
../src/async.cc:129:15: warning: 'Call' is deprecated
[-Wdeprecated-declarations]
callback->Call(2, argv);
^
../../nan/nan.h:1741:3: note: 'Call' has been explicitly marked deprecated here
NAN_DEPRECATED inline v8::Localv8::Value
^
../../nan/nan.h:106:40: note: expanded from macro 'NAN_DEPRECATED'
define NAN_DEPRECATED attribute((deprecated))
                                   ^

../src/async.cc:186:15: warning: 'Call' is deprecated
[-Wdeprecated-declarations]
callback->Call(2, argv);
^
../../nan/nan.h:1741:3: note: 'Call' has been explicitly marked deprecated here
NAN_DEPRECATED inline v8::Localv8::Value
^
../../nan/nan.h:106:40: note: expanded from macro 'NAN_DEPRECATED'
define NAN_DEPRECATED attribute((deprecated))
                                   ^

3 warnings and 1 error generated.
make: *** [Release/obj.target/xattr/src/async.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/Users/mx/.nvm/versions/node/v14.15.4/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)
gyp ERR! System Darwin 20.2.0
gyp ERR! command "/Users/mx/.nvm/versions/node/v14.15.4/bin/node" "/Users/mx/.nvm/versions/node/v14.15.4/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/mx/Desktop/JS/electron-demo2/node_modules/fs-xattr
gyp ERR! node -v v14.15.4
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok

<EMAIL_ADDRESS>install /Users/mx/Desktop/JS/electron-demo2/node_modules/macos-alias
node-gyp rebuild

CXX(target) Release/obj.target/volume/src/volume.o
SOLINK_MODULE(target) Release/volume.node

<EMAIL_ADDRESS>install /Users/mx/Desktop/JS/electron-demo2/node_modules/electron-forge
node tabtab-install.js

<EMAIL_ADDRESS>postinstall /Users/mx/Desktop/JS/electron-demo2/node_modules/babel-register/node_modules/core-js
node -e "try{require('./postinstall')}catch(e){}"

Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!
The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:

https://opencollective.com/core-js
https://www.patreon.com/zloirock

Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)

<EMAIL_ADDRESS>postinstall /Users/mx/Desktop/JS/electron-demo2/node_modules/babel-runtime/node_modules/core-js
node -e "try{require('./postinstall')}catch(e){}"

<EMAIL_ADDRESS>postinstall /Users/mx/Desktop/JS/electron-demo2/node_modules/core-js
node -e "try{require('./postinstall')}catch(e){}"

<EMAIL_ADDRESS>postinstall /Users/mx/Desktop/JS/electron-demo2/node_modules/spawn-sync
node postinstall

<EMAIL_ADDRESS>postinstall /Users/mx/Desktop/JS/electron-demo2/node_modules/electron-prebuilt-compile/node_modules/electron
node install.js

(node:69870) UnhandledPromiseRejectionWarning: RequestError: connect ETIMEDOUT <IP_ADDRESS>:443
at ClientRequest. (/Users/mx/Desktop/JS/electron-demo2/node_modules/got/source/request-as-event-emitter.js:178:14)
at Object.onceWrapper (events.js:422:26)
at ClientRequest.emit (events.js:327:22)
at ClientRequest.origin.emit (/Users/mx/Desktop/JS/electron-demo2/node_modules/@szmarczak/http-timer/source/index.js:37:11)
at TLSSocket.socketErrorListener (_http_client.js:469:9)
at TLSSocket.emit (events.js:315:20)
at emitErrorNT (internal/streams/destroy.js:106:8)
at emitErrorCloseNT (internal/streams/destroy.js:74:3)
at processTicksAndRejections (internal/process/task_queues.js:80:21)
(Use node --trace-warnings ... to show where the warning was created)
(node:69870) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:69870) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
npm WARN<EMAIL_ADDRESS>No repository field.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/fs-xattr):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>install: node-gyp rebuild
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
added 1223 packages from 878 contributors and audited 1225 packages in 135.478s
48 packages are looking for funding
run npm fund for details
found 32 vulnerabilities (16 low, 7 moderate, 8 high, 1 critical)
run npm audit fix to fix them, or npm audit for details

This looks like fs-xattr is not compatible with your version of Node.js.
I would suggest installing/using Electron Forge as described at https://electronforge.io/

This looks like fs-xattr is not compatible with your version of Node.js.
I would suggest installing/using Electron Forge as described at https://electronforge.io/


Include webpackChunkName in react-async ReadMe

Description
Ran into the issue tracked in https://github.com/Shopify/sewing-kit/issues/1431 recently, while a clearer error message would be great I thought it was also a good idea to update the ReadMe so developers are less likely to run into the issue when first implementing the package.
Type of change

[x] react-async Patch: Bug/ Documentation fix (non-breaking change which fixes an issue or adds documentation)

Checklist

[ ] I have added a changelog entry, prefixed by the type of change noted above

And thank you! 😸


android 8.1 with adreno 506 can run GLES3 now. whereas poor performance.

Godot version:

godot 3.1 git@472c8a7ba1c7090679b6cc2da1abf02f621848e4
OS/device including version:

After upgrade os to android 8.1.0
Adreno 506  OpenGL ES 3.2<EMAIL_ADDRESS>(GIT@8e3df98, Ie4790512f3)(Date:04/11/18)
Issue description:

Driver set as GLES3. app can run now. but poor performance. fps < 11 when light-shadow on.fps<20 when light-shadow off.
Steps to reproduce:
just 1 plane,
4 static body cube,
4 rigid body sphere,
1 directionalLight,
1 camera.
Minimal reproduction project:

Try setting the driver to GLES2, which runs betteron mobile devices. Also, what's your device's screen resolution? You may want to set the window size to a lower resolution (such as 1280×720), set the stretch mode to viewport and stretch aspect to keep to render at a lower resolution.

you are right. still GLES3, set mode as viewport,  resolution 1024 * 600, fps upgrade to 28 when shadow on, 38 when shadow off. but screen looks glitch. rough edge. need anti-alias filter.

rough edge. need anti-alias filter.

That's mainly because the upscaling uses nearest-neighbor filtering instead of linear filtering (which is more suited to non-pixel art games). Enabling MSAA would also help, but it's likely too slow on mobile devices (except on GLES2 with very simple visuals).


No way to remove "Custom" driver information

Rancher Version: master 6/14
Steps to Reproduce:

Deactivate all drivers except one you added manually
Go to Add Host

Results: See Custom & Other available.  If I only want my user to be abel to add machine through my added driver, there is no way to remove the "Custom" option.

For this to be effective there'd have to be an API change that prevents creating registrationTokens if "Custom" is disabled.. hiding the UI just pretends that they users can't add them anymore.

Version - master 4/27
Verified fixed


connecting some guide inspector properties

fill gradient issue is covered in https://github.com/vega/lyra/pull/497/files. sorry didn't see this in time.
looks like tick padding isn't really a thing unless I am missing the vega lite equivalent.
changing title offset to dx offset and dy offset

only todo left is what is up with tick padding.

just delete the tick padding control, in that case. other stuff lgtm

done


cleaner definition of tool_responses fixes #1174

Why are these changes needed?
I couldn't replicate #1174, but I could imagine how this could have created an empty tool_responses.
I could also do a defensive dict key filter on generate_oai_reply, but feels really dirty. ideally there would be built out types and then it would work to just take the keys from the dict that are needed for the type. But that is a bigger thing.
Related issue number
Closes #1174
Checks

[x] I've included any doc changes needed for https://microsoft.github.io/autogen/. See https://microsoft.github.io/autogen/docs/Contribute#documentation to build and test documentation locally.
[x] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[ ] I've made sure all auto checks have passed.

Codecov Report
Attention: 9 lines in your changes are missing coverage. Please review.

Comparison is base (2ca8aae) 30.41% compared to head (05d75a1) 17.95%.

Files
Patch %
Lines

autogen/agentchat/conversable_agent.py
10.00%
7 Missing and 2 partials :warning:

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #1182       +/-   ##
===========================================
- Coverage   30.41%   17.95%   -12.46%
===========================================
  Files          32       32
  Lines        4301     4300        -1
  Branches      993     1044       +51
===========================================
- Hits         1308      772      -536
- Misses       2899     3434      +535
  Partials       94       94

Flag
Coverage Δ

unittests
17.95% <10.00%> (-12.42%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

I created PR #1184 today supporting streamed tool calls and I think I understand the new OpenAI API quite well now. I'll check this out carefully tomorrow, I am a bit too tired now.

Are this and #1187 both required to close the bug #1174 ?


parse thru old todos file

Plans
with no particular timeline
Tests
Needs unit tests not just manual tests.
Some clean up

replace deploy.sh with kappa Lambda
deployment/configuration tool

More commands!

/yobot help -- print (basic help).
As I add other commands, this will also contain the "advanced help" with ALL COMMANDS listed.
/yobot broadcast -- paste (basic help) text in #general. <-- DONE, but ...

TODO: need to make the CHANNEL for this CONFIGURABLE.
SLASH_COMMAND_NAME, BOT_USER_NAME; WEBHOOK_UPON_MENTION_ENABLE ...i.e.
TODO--Tutorial secition--best used to run on a schedule,
such as every Friday at 11AM. (Give people time to make a quick plan for their lunchtime
on the "casual" day.) SO ADD TUTORIAL ABOUT RUNNING THIS COMMAND WITH LAMBDA,
on schedule ...  WHICH will ALSO require some work on API gateway side and/or
the input accepted by Yobot ...

filter people with commands.

/yobot #channel. Meet people with a certain interest or on a certain team.
Best use case for MY organization: I'm remote. So doing /yobot #remote until I've met
everyone remote, would be cool. Also, I'm in America; I'd love to do /yobot #london
to meet a couple people from Across the Pond ;). Again... you COULD go look at USER LIST
and select people out, but I'm finding people like the element of chance.
/yobot timezone EST to filter to a certain timezone. Helpful if you want to meet
people on the same clock as you, in a distributed team ...

/yobot @fbar will direct messages @foo to say hi on your behalf.
This is for shy people :) It will message that user as yobot and say,
"Hi, I'm yobot. I introduce people to each other. @calling_user (real_name) wants to chat.
If you've got a moment, you should say hi!".

It would also be cool if you could just tell yobot "OK, sounds good, send them a message"
Any variation of /yobot ok.. or /yobot hi... or /yobot message...
(as in /yobot message them) were accepted to mean this. And this would be triggered.
Implementation: Yobot looks back at im.history (with the calling-user) to grab last @handle
it mentioned to calling-user.

Ensure bot name configurable. (Any user-facing text that currently says "Yobot" should be
changed to interpolate a variable. That variable should come from config. This might
already be true, but needs another pass of validation at least.)

Leaderboards
It would also be nice to have a little bit of statefulness, but I still want to avoid having a
database. I don't care about making it remember everything: I've brainstormed a lot about that,
and I don't think it's particularly useful. (Repeats are just fine.) However a short-term memory
would be good, and for that purpose, Yobot could store a short term record in direct messages
with itself. (Yep, that works actually.) Technical limitations include
Bot Users not being allowed to upload files or create "posts";
the 10,000-message-limit for free-tier Slack teams;
character limit for messages (4,000 characters).
But I think it'd be just fine to log each (caller, introduced-to) to this private channel.
Then when /yobot broadcast happens, maybe it also mentions that X people have "recently"
used /yobot and the top Y users "recently" are blah&blah&blah. Where "recently"
means "within the last month OR as far back as I can remember"

internationalization


Get rid of gtk&glib

we do not use any gtk widgets except for DrawingArea.
and we also uses cairo.
These are making rendering slow: https://discourse.gnome.org/t/scaling-images-with-cairo-is-much-slower-in-gtk4/7701/2?u=ogios
Removing gtk may reduce lots of memory usage. (and possibly some performance enhancement)
But it's HARRRRRRRD....

https://discourse.gnome.org/t/scaling-images-with-cairo-is-much-slower-in-gtk4/7701/2?u=ogios

wayland-client
rust-skia(tiny-skia if it has text support)
tokio

we need a good structure before doing this


uses old pip

in the requirements.txt it pins pip to an old version:
pip >= 1.4, < 1.5

But pip is up to version 6.0.8 https://pypi.python.org/pypi/pip
Any reason it uses an old version of pip?

This is a duplicate of #22

Hi Matthew!
I'm working on upgrading to pip 6, I think the upgrade is mostly done (at least the part without binary wheel support). The main thing that I still need to do is a lot of testing (which I've already started on). I'll try to publish the branch containing the upgrade this week so other people can play around with it as well (I've already been asked to make the work in progress changes available via personal email).
@Thomas: Thanks for linking #22 and #50 :-).

Hi again Matthew,
I just released pip-accel 0.23 which is based on pip 6.0.x so I'm closing this issue now. Please try out pip-accel 0.23, it uses the latest available version of pip (at the time of writing) and includes support for installation of wheels. If you encounter any problems feel free to report a new issue in the issue tracker here on GitHub. Thanks for the feedback!


Missing default constructor for zfparray view

In certain cases having a default constructor for the zfparray view class is helpful. For example, when the view is part of another object.

A view should be thought of as a reference that generalizes single-element access to contiguous subarray access.  Built-in references in C++ cannot be default initialized or reseated, nor is such functionality available for zfp's array::reference or STL's container references (though std::reference_wrapper supports this behavior).  As far as I know, C++'s mdspan views of multidimensional arrays do not provide this capability either.
I'm not trying to make life more difficult for zfp users, but I wonder if this capability truly is needed.  I'm also unsure what the API ought to look like.  For instance, does assigning one view to another (which I believe would be needed to reseat the view) have value or reference semantics?  Consider the analogous code snippet for references:
  type& a = b;
  a = c;

The assignment a = c actually copies the value of c to b (through the reference a) rather than reseat a to reference c.  One way around this would be to provide a new function, e.g., a.rebind(c).
It would be beneficial to see examples where this functionality is needed as well as examples of APIs that provide such functionality.


[mobx] observableArray.sort() error

[mobx] `observableArray.sort()` will not update the array in place. Use `observableArray.slice().sort()` to suppress this warning and perform the operation on a copy, or `observableArray.replace(observableArray.slice().sort())` to sort & update in place (at Proxy.sort (/Users/xxx/.vscode-insiders/extensions/vsls-contrib.gistfs-0.0.43/out/prod/extension.js:88120:21))

Yeah this should be a totally benign error. I’ll fix it so that folks don’t have their console cluttered with it, but it shouldn’t be impacting anything. Let me know if that’s not the case!

yeah no prob, i thought u might have missed it


Homie 2.0 remains forever waiting for Wi-Fi connection

I have a Homie node in operation (boot normal mode) working ok. If I press the RESET button in the ESP8266 the firmware restarts. After the initial debug messages Homie attempts to connect to WiFi but it remains there forever. This is the last debug message:
↕ Attempting to connect to Wi-Fi...
After several hours of investigation I've discovered that if I remove power supply from ESP8266, wait for a couple of minutes and power it up again, now the node works ok. It looks as if Homie get stacked in a wait loop for the wifi connection event, but this event never takes place because the wifi connection still exists (probably, the time required to reset the system is so small than the WiFi station didn't notice that the ESP8266 was disconnected and so the wifi connection was not dropped. And when the ESP8266 asks to connect to wifi it never receives a new connection as it still exists. Not sure if this is the cause but it is the only explanation I have. But I don't know how to fix this behaviour.
I also have noticed this problem when the node is in operation and I upload a new firmware (direct upload, not using OTA). After the upload is finished, ESP8266 automatically restarts and the new firmware is executed (boot normal mode). Homie attempts to connect to WiFi but it remains there forever. And the only solution is to remove power supply for a couple of minutes.
I'm using Homie 2.0 from development repo.

I believe it's a bug in the Arduino framework. Power cycling the device solves the issue. Can't find the issue though...

For now I have bypassed the problem by forcing a wifi disconnection
    `WiFi.disconnect();`

in my node setup when not in config mode

I'll take a look!

For what it's worth, I've seen the same issue when working on a reed sensor, frequent connect / disconnect. The code here didn't have the same problem, https://github.com/8n1/ESP8266-Tiny-Door-and-Window-Sensor.

I have the same issue, but only when I have a static ip configured. It cant connect after a reset (using the button on wemos) or after deep sleep. Everything works when the static ip is not configured and after a power off.

And I dont think it is related to the time the device is off. I can repower the device with only a second in delay which works and it doesn't with a reset of 2-3 seconds.

I can confirm this bug (tho I can't exactly see, what the sketches changes were that led to this bug).
In my case the workaround from cecilios did the trick, which leads me to the same idea. Maybe there are changes in Arduino, the ESP-core or it may be hardware-dependent, but it really seems, as if homie looks for a special event for wifi connections and does not poll the wifi connection state.
WiFi.status() returns 3 (= WL_CONNECTED) so everything else is working correctly.
Maybe there should be a regular polling of the wifi state in Homie's loop if Homie thinks there is no connection?

I noticed that problem also using current ‘develop-v3‘ branch

Doing some "serial print debugging" I found, that void BootNormal::_wifiConnect()is completely done. It must be in superordinate caller.

For now I have bypassed the problem by forcing a wifi disconnection
    `WiFi.disconnect();`

in my node setup when not in config mode

works still on develop-v3 as workaround.

works still on develop-v3 as workaround.

Should we create a PR to add it?

I created a PR.

Further input for this issue:

https://www.youtube.com/watch?v=OGpIy0-ewvE&lc=UgzHlFH-lhwvSbQwWdF4AaABAg
https://github.com/esp8266/Arduino/issues/5527

Workaround with WiFi.disconnect(); within setup applied to branches:

develop-v3
develop

I leave the issue open for further investigations of root causes.


Attribute module simulation support

Description
Adds simulation support to the attribute module
closes: #25

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[ ] Targeted PR against correct branch (see CONTRIBUTING.md)
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Wrote unit and integration tests
[ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/)
[ ] Added relevant godoc comments.
[ ] Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
[ ] Re-reviewed Files changed in the Github PR explorer
[ ] Review Codecov Report in the comment section below once CI passes

Further testing has exposed bugs (can't attribute a root name, and broken tests for deleting orphan attributes).


navArgsDelegate with default values from SavedStateHandle

Hi! 👋🏼 I have the following destination with navArgsDelegate
@Destination(
    navArgsDelegate = MyViewModel.ViewState::class,
)

where MyViewModel.ViewState looks similar to this
@HiltViewModel
class MyViewModel @Inject constructor(
    savedStateHandle: SavedStateHandle,
) : ViewModel() {
    private val _viewState = MutableStateFlow(savedStateHandle.navArgs<ViewState>()) // <===== Error here!
    ...
    data class ViewState(
        ...
        val noDefaultProperty: String,
        val defaultProperty: String = "",
        ...
    )
}

but I'm getting this error when I run my unit tests
'defaultProperty' argument is not mandatory and not nullable but was not present!

public object MyScreenDestination : TypedDestination<ViewState> {
    ...
override fun argsFrom(savedStateHandle: SavedStateHandle): UserVerificationPhoneNumberCodeViewState {
	    return ViewState(
			noDefaultProperty = DestinationsStringNavType.get(savedStateHandle, "noDefaultProperty") ?: throw RuntimeException("'noDefaultProperty' argument is mandatory, but was not present!"),
			defaultProperty = DestinationsStringNavType.get(savedStateHandle, "defaultProperty") ?: throw RuntimeException("'defaultProperty' argument is not mandatory and not nullable but was not present!"), // <===== Error here!
	    )
	}

this is how I initialize my unit test
        val savedStateHandle = SavedStateHandle(
            listOf(
                "noDefaultProperty" to "Something",
                // Here is where I'm not passing the value for defaultProperty and I would like to use "" since it's its default value
            ).toMap()
        )
        viewModel = MyViewModel(
            savedStateHandle = savedStateHandle,
        )

Thank you in advance! 🙌🏼

// Here is where I'm not passing the value for defaultProperty and I would like to use "" since it's its default value

Compose Destinations is meant to abstract you away from these details. You shouldn't care how stuff gets into the SavedStateHandle. So your test shouldn't populate the SavedStateHandle manually, and, if it does, then of course you need to set the default value which my library would do for you :)
Because now you are basically doing part of the job my library does (except you're not making it right, because my library would put there the default value for the other property) and then checking that it doens't work on the other end 😅
Of course that would never work ahah

Hi! I love your work, this library is generally how Google should've approached navigation in Compose at the beginning ;)
I've been thinking about similar approach for testing as @epool  have suggested  at his 1st post. ( I was thinking about using mockK to mock SavedStateHandle , but the idea is quite the same).  You wrote that:

So your test shouldn't populate the SavedStateHandle manually

So what do you suggest instead? Could you provide us with short code snippet showing how would you refactor OP's code? :)
        val savedStateHandle = SavedStateHandle(
            listOf(
                "noDefaultProperty" to "Something",
                // Here is where I'm not passing the value for defaultProperty and I would like to use "" since it's its default value
            ).toMap()
        )
        viewModel = MyViewModel(
            savedStateHandle = savedStateHandle,
        )

All the best to you 🍺

Sorry for little bit of spamming but I've realized what how it should be handled
@epool try something like this witk MockK:
    mockkObject(MyScreenDestination )
    every {
        MyScreenDestination.argsFrom(any<SavedStateHandle>())
    } answers {
        CoinDetailViewModel.MyViewModel.ViewState(
            noDefaultProperty = "noDefProp",
            // We're using regular ViewState constructor, so optional args are really optional ;)
        )
    }

    viewModel = MyViewModel(
         savedStateHandle = SavedStateHandle(),
    )

And you are good to go :)

Thank you so much guys! 🙌🏼


README.md: update repository urls

Additionaly, configured the pre-commit.ci for this repo after migration to new GH Org.


Update pybids py3.8+ constraints

Proposed changes
Updates pybids to use 0.16.0+ for python3.8+
Edit: Well broke the documentation build with this…
Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you are unsure about any of the choices, don't hesitate to ask!

[ ] Changes have been tested to ensure that fix is effective or that a feature works.
[ ] Changes pass the unit tests
[ ] I have included necessary documentation or comments (as necessary)
[ ] Any dependent changes have been merged and published

Notes
All PRs will undergo the unit testing before being reviewed. You may be requested to explain or make additional changes before the PR is accepted.

Try changing the ^3.7 python requirement to <3.8? It seems to be an issue in the way pip interprets ^, leading to a dependency contradiction

That seems to have fixed the docs - just waiting for the testing, but should be good for a review.

Did you want to do a patch release for just this, or wait for a fix for #287 as well?

I'm happy to wait for #287 unless anyone else feels like it's worth a quick patch fix. I guess it would primarily address the wildcards / filters Query issue for downstream users.


Concat js files in gulp

Use gulp-concat to combine .js files into a single dependency

Refactoring and cleaning scripts before concatenation.


⚠ Jenkins Plugins Artifactory has degraded performance

In cf4d140, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1360 ms

Resolved: Jenkins Plugins Artifactory performance has improved in a452d9a after 25 minutes.


Make BUILDEVENTS_FILE an absolute path

Often times I run a script via buildevents cmd in a directory other than my workspace root, but the command doesn't find the buildevents.txt file because the value of $BUILDEVENTS_FILE is ../buildevents.txt. It should be an absolute path instead by default to allow easily using this from any working directory.

Thanks for the report! We should be able to set this to an absolute path without much issue. We'll just have to figure out a good path.
The default value is set here: https://github.com/kvrhdn/gha-buildevents/blob/70cba094455143d466a64779533131eb1b28e105/src/buildevents.ts#L36-L37

Could just replace it with envPath = path.resolve('../buildevents.txt'). That way we'll use the exact same path we're using now, and work just fine with custom runners with their own file structure.
I'd be happy to PR this tomorrow.


feat: skip email verification

Add possibility for authorized user to skip email verification. Remember to change the secret in handler.ts. Don't leave as default value.

:tada: This PR is included in version @kuka-js/core-v1.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version @kuka-js/serverless-v1.2.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Annotation & support for properties, and constructor, on StdLib classes

constructors are set on the @elanClass - you cannot annotate constructors or constructor parameters directly in js/ts


[BUG] Volume attach API not working for RWX volume

Describe the bug
(1) Try to attach a RWX volume to a node through API, the API response status code 200, but the RWX volume is still detached:
HTTP Request:
HTTP/1.1 POST /v1/volumes/test-2?action=attach
Host: <IP_ADDRESS>:30007
Accept: application/json
Content-Type: application/json
Content-Length: 41

{

    "attachedBy": "",
    "hostId": "ip-10-0-1-55",

}

HTTP Response:
HTTP/1.1 200
connection: keep-alive
content-type: application/json
date: Thu, 13 Oct 2022 00:22:32 GMT
server: nginx/1.19.8
transfer-encoding: chunked
x-api-schemas: http://<IP_ADDRESS>:30007/v1/schemas

{

    "accessMode": "rwx",
    "actions": {
        "[activate](http://<IP_ADDRESS>:30007/v1/volumes/test-2#)": ["…/v1/volumes/test-2?action=activate"](http://<IP_ADDRESS>:30007/v1/volumes/test-2?action=activate),
        "[attach](http://<IP_ADDRESS>:30007/v1/volumes/test-2#)": ["…/v1/volumes/test-2?action=attach"](http://<IP_ADDRESS>:30007/v1/volumes/test-2?action=attach),
        "[cancelExpansion](http://<IP_ADDRESS>:30007/v1/volumes/test-2#)": ["…/v1/volumes/test-2?action=cancelExpansion"](http://<IP_ADDRESS>:30007/v1/volumes/test-2?action=cancelExpansion),
        "[detach](http://<IP_ADDRESS>:30007/v1/volumes/test-2#)": ["…/v1/volumes/test-2?action=detach"](http://<IP_ADDRESS>:30007/v1/volumes/test-2?action=detach),
        "[engineUpgrade](http://<IP_ADDRESS>:30007/v1/volumes/test-2#)": ["…/v1/volumes/test-2?action=engineUpgrade"](http://<IP_ADDRESS>:30007/v1/volumes/test-2?action=engineUpgrade),
        "[expand](http://<IP_ADDRESS>:30007/v1/volumes/test-2#)": ["…/v1/volumes/test-2?action=expand"](http://<IP_ADDRESS>:30007/v1/volumes/test-2?action=expand),
        "[pvCreate](http://<IP_ADDRESS>:30007/v1/volumes/test-2#)": ["…/v1/volumes/test-2?action=pvCreate"](http://<IP_ADDRESS>:30007/v1/volumes/test-2?action=pvCreate),
        "[pvcCreate](http://<IP_ADDRESS>:30007/v1/volumes/test-2#)": ["…/v1/volumes/test-2?action=pvcCreate"](http://<IP_ADDRESS>:30007/v1/volumes/test-2?action=pvcCreate),
        "[recurringJobAdd](http://<IP_ADDRESS>:30007/v1/volumes/test-2#)": ["…/v1/volumes/test-2?action=recurringJobAdd"](http://<IP_ADDRESS>:30007/v1/volumes/test-2?action=recurringJobAdd),
        "[recurringJobDelete](http://<IP_ADDRESS>:30007/v1/volumes/test-2#)": ["…/v1/volumes/test-2?action=recurringJobDelete"](http://<IP_ADDRESS>:30007/v1/volumes/test-2?action=recurringJobDelete),
        "[recurringJobList](http://<IP_ADDRESS>:30007/v1/volumes/test-2#)": ["…/v1/volumes/test-2?action=recurringJobList"](http://<IP_ADDRESS>:30007/v1/volumes/test-2?action=recurringJobList),
        "[replicaRemove](http://<IP_ADDRESS>:30007/v1/volumes/test-2#)": ["…/v1/volumes/test-2?action=replicaRemove"](http://<IP_ADDRESS>:30007/v1/volumes/test-2?action=replicaRemove),
        "[updateAccessMode](http://<IP_ADDRESS>:30007/v1/volumes/test-2#)": ["…/v1/volumes/test-2?action=updateAccessMode"](http://<IP_ADDRESS>:30007/v1/volumes/test-2?action=updateAccessMode),
        "[updateDataLocality](http://<IP_ADDRESS>:30007/v1/volumes/test-2#)": ["…/v1/volumes/test-2?action=updateDataLocality"](http://<IP_ADDRESS>:30007/v1/volumes/test-2?action=updateDataLocality),
        "[updateReplicaAutoBalance](http://<IP_ADDRESS>:30007/v1/volumes/test-2#)": ["…/v1/volumes/test-2?action=updateReplicaAutoBalance"](http://<IP_ADDRESS>:30007/v1/volumes/test-2?action=updateReplicaAutoBalance),
    },
    "backingImage": "",
    "backupStatus": [ ],
    "cloneStatus": {
        "snapshot": "",
        "sourceVolume": "",
        "state": "",
    },
    "conditions": {
        "restore": {
            "lastProbeTime": "",
            "lastTransitionTime": "2022-10-13T00:09:12Z",
            "message": "",
            "reason": "",
            "status": "False",
            "type": "restore",
        },
        "scheduled": {
            "lastProbeTime": "",
            "lastTransitionTime": "2022-10-13T00:09:12Z",
            "message": "",
            "reason": "",
            "status": "True",
            "type": "scheduled",
        },
        "toomanysnapshots": {
            "lastProbeTime": "",
            "lastTransitionTime": "2022-10-13T00:09:12Z",
            "message": "",
            "reason": "",
            "status": "False",
            "type": "toomanysnapshots",
        },
    },
    "controllers": [ ],
    "created": "2022-10-13 00:09:11 +0000 UTC",
    "currentImage": "longhornio/longhorn-engine:v1.3.2-rc2",
    "dataLocality": "disabled",
    "dataSource": "",
    "disableFrontend": false,
    "diskSelector": [ ],
    "encrypted": false,
    "engineImage": "longhornio/longhorn-engine:v1.3.2-rc2",
    "fromBackup": "",
    "frontend": "blockdev",
    "id": ["test-2"](http://<IP_ADDRESS>:30007/v1/volumes/test-2),
    "kubernetesStatus": {
        "lastPVCRefAt": "",
        "lastPodRefAt": "",
        "namespace": "",
        "pvName": "",
        "pvStatus": "",
        "pvcName": "",
        "workloadsStatus": null,
    },
    "lastAttachedBy": "",
    "lastBackup": "",
    "lastBackupAt": "",
    "links": {
        "self": ["…/v1/volumes/test-2"](http://<IP_ADDRESS>:30007/v1/volumes/test-2),
    },
    "migratable": false,
    "name": "test-2",
    "nodeSelector": [ ],
    "numberOfReplicas": 3,
    "purgeStatus": null,
    "ready": true,
    "rebuildStatus": [ ],
    "recurringJobSelector": null,
    "replicaAutoBalance": "ignored",
    "replicas": [ ],
    "restoreRequired": false,
    "restoreStatus": [ ],
    "revisionCounterDisabled": false,
    "robustness": "unknown",
    "shareEndpoint": "",
    "shareState": "stopped",
    "size": "21474836480",
    "staleReplicaTimeout": 20,
    "standby": false,
    "state": "detached",
    "type": "volume",

}

(2) Using Longhorn python client API can get the same result:
==> try to attach a RWX volume
https://github.com/longhorn/longhorn-tests/blob/master/manager/integration/tests/test_basic.py#L4599
==> the RWX volume is still detached
https://ci.longhorn.io/job/public/job/master/job/sles/job/amd64/job/longhorn-tests-sles-amd64/lastCompletedBuild/testReport/tests/test_basic/test_backup_volume_restore_with_access_mode_s3_rwx_rwo_/
(3) If try to attach a RWX volume directly through Longhorn UI, the Maintenance checkbox is automatically checked, and the volume can be attached successfully, but from API, cannot find this Maintenance field.
To Reproduce
Steps to reproduce the behavior:

Create a RWX volume
Try to attach this volume to a node through API

Expected behavior
The volume can be attached
Log or Support bundle
If applicable, add the Longhorn managers' log or support bundle when the issue happens.
You can generate a Support Bundle using the link at the footer of the Longhorn UI.
Environment

Longhorn version: v1.3.2-rc2, master
Installation method (e.g. Rancher Catalog App/Helm/Kubectl): kubectl
Kubernetes distro (e.g. RKE/K3s/EKS/OpenShift) and version:

Number of management node in the cluster:
Number of worker node in the cluster:

Node config

OS type and version:
CPU per node:
Memory per node:
Disk type(e.g. SSD/NVMe):
Network bandwidth between the nodes:

Underlying Infrastructure (e.g. on AWS/GCE, EKS/GKE, VMWare/KVM, Baremetal):
Number of Longhorn volumes in the cluster:

Additional context
Add any other context about the problem here.

Duplicated of https://github.com/longhorn/longhorn/issues/4653, let's work on the test case fix in 4653 instead.


this isn't working for me :(

This used to work for me like a charm, now it's not :(  I know there's a newer script for python3 but that one has never worked for me.
Traceback (most recent call last):
File "isup.py", line 13, in
print "\n".join(isup(d) for d in sys.argv[1:])
File "isup.py", line 13, in
print "\n".join(isup(d) for d in sys.argv[1:])
File "isup.py", line 7, in isup
resp = urlopen("http://www.isup.me/%s" % domain).read()
File "/usr/lib/python2.7/urllib.py", line 87, in urlopen
return opener.open(url)
File "/usr/lib/python2.7/urllib.py", line 213, in open
return getattr(self, name)(url)
File "/usr/lib/python2.7/urllib.py", line 350, in open_http
h.endheaders(data)
File "/usr/lib/python2.7/httplib.py", line 1038, in endheaders
self._send_output(message_body)
File "/usr/lib/python2.7/httplib.py", line 882, in _send_output
self.send(msg)
File "/usr/lib/python2.7/httplib.py", line 844, in send
self.connect()
File "/usr/lib/python2.7/httplib.py", line 821, in connect
self.timeout, self.source_address)
File "/usr/lib/python2.7/socket.py", line 557, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
IOError: [Errno socket error] [Errno -2] Name or service not known

You seem to be running Python 2. This script is for Python 3 only.


how to disable updating gtags index files automatically

vim or neovim?

[x] vim
[ ] neovim

Output of vim --version or nvim --version:
Output of :echo has("python"):
Output of :echo has("python3"):
Output of :echo &pythondll(only vim, not neovim):
Output of :echo &pythonthreedll(only vim, not neovim):
Output of :py print(sys.version):
Output of :py3 print(sys.version):
Output of :echo g:Lf_Debug_Cmd:
Output of :echo g:Lf_FilesFromCache:
Operating system:

[x] Linux
[ ] Mac OS X
[ ] Windows
[ ] Etc.

Configurations related to LeaderF in vimrc:

Describe your question, feature request, or bug.
I have other tools to manage gtags index, so how can I disable updating gtags index files automatically in leaderF?
Steps to reproduce
Actual behaviour
Expected behaviour

let g:Lf_GtagsAutoGenerate = 0

let g:Lf_GtagsAutoGenerate = 0

still update gtags index automatically whenever I save file

if you want to use Leaderf gtags,  you can't use other tools to manage gtags.


Add info call

Coverage increased (+0.45%) to 95.44% when pulling 6017f9e7ff3a23eefb0e1272268e651b78744d82 on add-info-call into 4124a960a149d50327171b4e8de8b66c291e3107 on master.


Firebase library for STM32 Boards

Hi,
I have tested your library with ESP32 and ESP32S2 board in Arduino IDE and it works smoothly..
I appreciate your efforts.🤝
I wanted to use this library or a similar library in STM32L4 series boards in STM32CubeIDE… but as on today there is no library available in the net.
Do u have an interest to develop the same … or can you advise some tips to develop a library for firebase and STM boards ?
I came across AWS, Azure have some library and examples to interface STM boards
Thanks

Due to hardware variant, most of them don't have native internet access and depended on external SPI and PHY module, the development needs the driver integrated with SSL.
In addition it requires encryption/decryption provided by SSL library to use in token generation.
Due to full of works in hands and above requirement need times for implement then this is not plan in the near future.
You can follow the Firebase REST API doc that available from google and use the already available of curl or http client libraries that are available for that platform.


feat(docs): highlight code block

🔗 Linked issue
close #829

❓ Type of change

[x] 📖 Documentation (updates to the documentation, readme or JSdoc annotations)
[ ] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
highlight the demo code block

📸 Screenshots (if appropriate)
before:

after:

📝 Checklist

[x] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

https://github.com/unovue/shadcn-vue/issues/372

shadcn has code theme now @sadeghbarati

Ahh, yes You are right, please go with github-dark-default light-mode for code section is a bit odd

Hi @sadeghbarati I looked up the mdx themes used by shadcn, and I thought if we could add a code theme option to the header so that users could choose their favorite code theme

Maybe it will be like this. What do you think? @sadeghbarati

@zhangmo8 It's nice to have this, but I think one code theme is enough
I'm in your branch right now and using shiki/themes/github-dark-default.mjs

@zhangmo8 It's nice to have this, but I think one code theme is enough I'm in your branch right now and using shiki/themes/github-dark-default.mjs

Alright, I've changed the theme to github-xx-default. If needed, I can submit the code for the theme switching functionality later.

@zhangmo8 Could you please check BlockContainer.vue seems to be using the previous shiki way cssVariables

It seems that I have missed something. Sorry for any inconvenience caused. I will submit another pull request to fix it. @sadeghbarati


Rename proj dep

Proj4 was renamed to the new upstream name "proj."

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Needs https://github.com/conda-forge/gdal-feedstock/pull/334


Update README.md

Re: the new line, let's take a look and get your opinions.
Oh, we know Markdown, eh?

Had to leave this comment. #2

Ok, looks good. Let's roll it into Production.

Here we go


Roll Engine from 4ba79a34a06a to 2351391b7d87 (11 revisions)

https://github.com/flutter/engine/compare/4ba79a34a06a...2351391b7d87
2021-01-29<EMAIL_ADDRESS>[canvaskit] remove the DOM node of unrendered platform view (flutter/engine#24001)
2021-01-29<EMAIL_ADDRESS>Roll Skia from 0492a744a52d to 00f4769e34d8 (4 revisions) (flutter/engine#24039)
2021-01-29<EMAIL_ADDRESS>Roll Dart SDK from f2a7851b676d to 9c612e4b790a (1 revision) (flutter/engine#24038)
2021-01-29<EMAIL_ADDRESS>[web] Implement CanvasParagraph.getLineBoundary (flutter/engine#24037)
2021-01-29<EMAIL_ADDRESS>Roll Skia from 993e92dc31a6 to 0492a744a52d (12 revisions) (flutter/engine#24034)
2021-01-29<EMAIL_ADDRESS>Roll Clang Mac from 139p8dSfW... to CafIgcePd... (flutter/engine#24033)
2021-01-29<EMAIL_ADDRESS>Use runes to get code units in CanvasKit. (flutter/engine#24024)
2021-01-29<EMAIL_ADDRESS>Grammatical mistake on pull request template (flutter/engine#23948)
2021-01-29<EMAIL_ADDRESS>Hardware keyboard: Web, embedder, and dart:ui (flutter/engine#23466)
2021-01-29<EMAIL_ADDRESS>Roll Dart SDK from 21b7f864e3b9 to f2a7851b676d (1 revision) (flutter/engine#24030)
2021-01-28<EMAIL_ADDRESS>Ensures that hit testing only resturns focusable nodes. (flutter/engine#23931)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Commit queue failed; closing this roll.

Commit queue failed; closing this roll.


Missing multi-line continuation characters

The last part of the command fails due to missing back-slashes

Good catch!  Thanks much!


Unable to install AMUSE (probably because unable to install amuse-brutus)

Hello there,
I'm new to AMUSE. I tried to install AMUSE in my laptop but unfortunately it failed to install at pip install amuse.  I think the error is probably caused by the brutus as shown below:
Collecting amuse
  Using cached https://files.pythonhosted.org/packages/ba/fe/762ec608355619161dec92bfebfdb653ee56b89ca1efbdf300e0c856ef9c/amuse-13.1.0.tar.gz
  Installing build dependencies ... error
  ERROR: Command errored out with exit status 1:
   command: /Users/kliow/Amuse-env/bin/python3 /Users/kliow/Amuse-env/lib/python3.8/site-packages/pip install --ignore-installed --no-user --prefix /private/var/folders/1m/z7p_nfjx561506hfhff6h_tr07h0c5/T/pip-build-env-7cq1gzkz/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'amuse-framework>=13.0.0[MPI]' 'amuse-athena>=13.0.0' 'amuse-bhtree>=13.0.0' 'amuse-brutus>=13.0.0' 'amuse-bse>=13.0.0' 'amuse-capreole>=13.0.0' 'amuse-evtwin>=13.0.0' 'amuse-fastkick>=13.0.0' 'amuse-fi>=13.0.0' 'amuse-fractalcluster>=13.0.0' 'amuse-gadget2>=13.0.0' 'amuse-galactics>=13.0.0' 'amuse-galaxia>=13.0.0' 'amuse-halogen>=13.0.0' 'amuse-hermite>=13.0.0' 'amuse-hop>=13.0.0' 'amuse-huayno>=13.0.0' 'amuse-kepler>=13.0.0' 'amuse-kepler-orbiters>=13.0.0' 'amuse-mameclot>=13.0.0' 'amuse-mercury>=13.0.0' 'amuse-mmams>=13.0.0' 'amuse-ph4>=13.0.0' 'amuse-seba>=13.0.0' 'amuse-secularmultiple>=13.0.0' 'amuse-smalln>=13.0.0' 'amuse-sphray>=13.0.0' 'amuse-sse>=13.0.0' 'amuse-twobody>=13.0.0'
       cwd: None
  Complete output (148 lines):
  Collecting amuse-framework>=13.0.0[MPI]
  Collecting amuse-athena>=13.0.0
  Collecting amuse-bhtree>=13.0.0
  Collecting amuse-brutus>=13.0.0
    Using cached https://files.pythonhosted.org/packages/57/b3/5037748502d4746d9f9d484fc56f9d510f5099766540a9f4cc752db46ccf/amuse-brutus-13.1.0.tar.gz
    Installing build dependencies: started
    Installing build dependencies: finished with status 'done'
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
      Preparing wheel metadata: started
      Preparing wheel metadata: finished with status 'done'
  Collecting amuse-bse>=13.0.0
  Collecting amuse-capreole>=13.0.0
  Collecting amuse-evtwin>=13.0.0
  Collecting amuse-fastkick>=13.0.0
  Collecting amuse-fi>=13.0.0
  Collecting amuse-fractalcluster>=13.0.0
  Collecting amuse-gadget2>=13.0.0
  Collecting amuse-galactics>=13.0.0
  Collecting amuse-galaxia>=13.0.0
  Collecting amuse-halogen>=13.0.0
  Collecting amuse-hermite>=13.0.0
  Collecting amuse-hop>=13.0.0
  Collecting amuse-huayno>=13.0.0
  Collecting amuse-kepler>=13.0.0
  Collecting amuse-kepler-orbiters>=13.0.0
  Collecting amuse-mameclot>=13.0.0
  Collecting amuse-mercury>=13.0.0
  Collecting amuse-mmams>=13.0.0
  Collecting amuse-ph4>=13.0.0
  Collecting amuse-seba>=13.0.0
  Collecting amuse-secularmultiple>=13.0.0
  Collecting amuse-smalln>=13.0.0
  Collecting amuse-sphray>=13.0.0
  Collecting amuse-sse>=13.0.0
  Collecting amuse-twobody>=13.0.0
  Collecting docutils>=0.6 (from amuse-framework>=13.0.0[MPI])
    Using cached https://files.pythonhosted.org/packages/81/44/8a15e45ffa96e6cf82956dd8d7af9e666357e16b0d93b253903475ee947f/docutils-0.16-py2.py3-none-any.whl
  Collecting pip>=19.0.0 (from amuse-framework>=13.0.0[MPI])
    Using cached https://files.pythonhosted.org/packages/54/0c/d01aa759fdc501a58f431eb594a17495f15b88da142ce14b5845662c13f3/pip-20.0.2-py2.py3-none-any.whl
  Collecting h5py>=1.1.0 (from amuse-framework>=13.0.0[MPI])
    Using cached https://files.pythonhosted.org/packages/7a/1d/e64957225e693f27f2c8024923449830fc1d1ca513e7675fb10939dc2caa/h5py-2.10.0-cp38-cp38-macosx_10_9_x86_64.whl
  Collecting setuptools>=41.0.0 (from amuse-framework>=13.0.0[MPI])
    Using cached https://files.pythonhosted.org/packages/a0/df/635cdb901ee4a8a42ec68e480c49f85f4c59e8816effbf57d9e6ee8b3588/setuptools-46.1.3-py3-none-any.whl
  Collecting nose>=0.11.1 (from amuse-framework>=13.0.0[MPI])
    Using cached https://files.pythonhosted.org/packages/15/d8/dd071918c040f50fa1cf80da16423af51ff8ce4a0f2399b7bf8de45ac3d9/nose-1.3.7-py3-none-any.whl
  Collecting numpy>=1.2.2 (from amuse-framework>=13.0.0[MPI])
    Using cached https://files.pythonhosted.org/packages/f2/81/43f7a2c7893a58c0f304b44f4c084a7918ce295a1b6dd9275bcddccb7feb/numpy-1.18.2-cp38-cp38-macosx_10_9_x86_64.whl
  Collecting wheel>=0.32 (from amuse-framework>=13.0.0[MPI])
    Using cached https://files.pythonhosted.org/packages/8c/23/848298cccf8e40f5bbb59009b32848a4c38f4e7f3364297ab3c3e2e2cd14/wheel-0.34.2-py2.py3-none-any.whl
  Collecting mpi4py>=1.1.0; extra == "mpi" (from amuse-framework>=13.0.0[MPI])
  Collecting six (from h5py>=1.1.0->amuse-framework>=13.0.0[MPI])
    Using cached https://files.pythonhosted.org/packages/65/eb/1f97cb97bfc2390a276969c6fae16075da282f5058082d4cb10c6c5c1dba/six-1.14.0-py2.py3-none-any.whl
  Building wheels for collected packages: amuse-brutus
    Building wheel for amuse-brutus (PEP 517): started
    Building wheel for amuse-brutus (PEP 517): finished with status 'error'
    ERROR: Command errored out with exit status 1:
     command: /Users/kliow/Amuse-env/bin/python3 /Users/kliow/Amuse-env/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py build_wheel /var/folders/1m/z7p_nfjx561506hfhff6h_tr07h0c5/T/tmpuqhma0fz
         cwd: /private/var/folders/1m/z7p_nfjx561506hfhff6h_tr07h0c5/T/pip-install-be7jx6en/amuse-brutus
    Complete output (81 lines):
    running bdist_wheel
    running build
    running build_py
    creating build
    creating build/lib
    creating build/lib/amuse
    creating build/lib/amuse/community
    creating build/lib/amuse/community/brutus
    copying src/amuse/community/brutus/interface.py -> build/lib/amuse/community/brutus
    copying src/amuse/community/brutus/__init__.py -> build/lib/amuse/community/brutus
    running build_codes
    building libraries and community codes
    build, for logging, see 'build.log'
    creating build/temp.macosx-10.15-x86_64-3.8
    creating build/temp.macosx-10.15-x86_64-3.8/codes
    creating build/temp.macosx-10.15-x86_64-3.8/codes/brutus
    copying src/amuse/community/brutus/Makefile -> build/temp.macosx-10.15-x86_64-3.8/codes/brutus
    copying src/amuse/community/brutus/interface.py -> build/temp.macosx-10.15-x86_64-3.8/codes/brutus
    copying src/amuse/community/brutus/__init__.py -> build/temp.macosx-10.15-x86_64-3.8/codes/brutus
    copying src/amuse/community/brutus/interface.cc -> build/temp.macosx-10.15-x86_64-3.8/codes/brutus
    creating build/temp.macosx-10.15-x86_64-3.8/codes/brutus/mpfrc++
    copying src/amuse/community/brutus/mpfrc++/mpreal.h -> build/temp.macosx-10.15-x86_64-3.8/codes/brutus/mpfrc++
    creating build/temp.macosx-10.15-x86_64-3.8/codes/brutus/src
    copying src/amuse/community/brutus/src/Cluster.h -> build/temp.macosx-10.15-x86_64-3.8/codes/brutus/src
    copying src/amuse/community/brutus/src/Bulirsch_Stoer.cpp -> build/temp.macosx-10.15-x86_64-3.8/codes/brutus/src
    copying src/amuse/community/brutus/src/Star.cpp -> build/temp.macosx-10.15-x86_64-3.8/codes/brutus/src
    copying src/amuse/community/brutus/src/Brutus.cpp -> build/temp.macosx-10.15-x86_64-3.8/codes/brutus/src
    copying src/amuse/community/brutus/src/makefile -> build/temp.macosx-10.15-x86_64-3.8/codes/brutus/src
    copying src/amuse/community/brutus/src/Bulirsch_Stoer.h -> build/temp.macosx-10.15-x86_64-3.8/codes/brutus/src
    copying src/amuse/community/brutus/src/Star.h -> build/temp.macosx-10.15-x86_64-3.8/codes/brutus/src
    copying src/amuse/community/brutus/src/Brutus.h -> build/temp.macosx-10.15-x86_64-3.8/codes/brutus/src
    copying src/amuse/community/brutus/src/Cluster.cpp -> build/temp.macosx-10.15-x86_64-3.8/codes/brutus/src
    copying src/amuse/community/brutus/src/main.cpp -> build/temp.macosx-10.15-x86_64-3.8/codes/brutus/src
    [10:15:10] building brutus
    will copy worker: src/amuse/community/brutus
    brutus
    Community codes not built (because of errors):
    ================================================================================
     * brutus
    ================================================================================
    0 out of 1 codes built, 0 out of 0 libraries built
    Traceback (most recent call last):
      File "/Users/kliow/Amuse-env/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py", line 207, in <module>
        main()
      File "/Users/kliow/Amuse-env/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py", line 197, in main
        json_out['return_val'] = hook(**hook_input['kwargs'])
      File "/Users/kliow/Amuse-env/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py", line 140, in build_wheel
        return _build_backend().build_wheel(wheel_directory, config_settings,
      File "/private/var/folders/1m/z7p_nfjx561506hfhff6h_tr07h0c5/T/pip-build-env-mwx3l1nv/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 212, in build_wheel
        return self._build_with_temp_dir(['bdist_wheel'], '.whl',
      File "/private/var/folders/1m/z7p_nfjx561506hfhff6h_tr07h0c5/T/pip-build-env-mwx3l1nv/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 198, in _build_with_temp_dir
        self.run_setup()
      File "/private/var/folders/1m/z7p_nfjx561506hfhff6h_tr07h0c5/T/pip-build-env-mwx3l1nv/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 249, in run_setup
        super(_BuildMetaLegacyBackend,
      File "/private/var/folders/1m/z7p_nfjx561506hfhff6h_tr07h0c5/T/pip-build-env-mwx3l1nv/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 143, in run_setup
        exec(compile(code, __file__, 'exec'), locals())
      File "setup.py", line 36, in <module>
        setup(
      File "/private/var/folders/1m/z7p_nfjx561506hfhff6h_tr07h0c5/T/pip-build-env-mwx3l1nv/overlay/lib/python3.8/site-packages/setuptools/__init__.py", line 144, in setup
        return distutils.core.setup(**attrs)
      File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/core.py", line 148, in setup
        dist.run_commands()
      File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/dist.py", line 966, in run_commands
        self.run_command(cmd)
      File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/private/var/folders/1m/z7p_nfjx561506hfhff6h_tr07h0c5/T/pip-build-env-mwx3l1nv/overlay/lib/python3.8/site-packages/wheel/bdist_wheel.py", line 223, in run
        self.run_command('build')
      File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/command/build.py", line 135, in run
        self.run_command(cmd_name)
      File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/private/var/folders/1m/z7p_nfjx561506hfhff6h_tr07h0c5/T/pip-install-be7jx6en/amuse-brutus/support/setup_codes.py", line 1093, in run
        raise Exception("No succesful builds detected. Aborting.")
    Exception: No succesful builds detected. Aborting.
    ----------------------------------------
    ERROR: Failed building wheel for amuse-brutus
    Running setup.py clean for amuse-brutus
  Failed to build amuse-brutus
  ERROR: Could not build wheels for amuse-brutus which use PEP 517 and cannot be installed directly
  WARNING: You are using pip version 19.2.3, however version 20.0.2 is available.
  You should consider upgrading via the 'pip install --upgrade pip' command.
  ----------------------------------------
ERROR: Command errored out with exit status 1: /Users/kliow/Amuse-env/bin/python3 /Users/kliow/Amuse-env/lib/python3.8/site-packages/pip install --ignore-installed --no-user --prefix /private/var/folders/1m/z7p_nfjx561506hfhff6h_tr07h0c5/T/pip-build-env-7cq1gzkz/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'amuse-framework>=13.0.0[MPI]' 'amuse-athena>=13.0.0' 'amuse-bhtree>=13.0.0' 'amuse-brutus>=13.0.0' 'amuse-bse>=13.0.0' 'amuse-capreole>=13.0.0' 'amuse-evtwin>=13.0.0' 'amuse-fastkick>=13.0.0' 'amuse-fi>=13.0.0' 'amuse-fractalcluster>=13.0.0' 'amuse-gadget2>=13.0.0' 'amuse-galactics>=13.0.0' 'amuse-galaxia>=13.0.0' 'amuse-halogen>=13.0.0' 'amuse-hermite>=13.0.0' 'amuse-hop>=13.0.0' 'amuse-huayno>=13.0.0' 'amuse-kepler>=13.0.0' 'amuse-kepler-orbiters>=13.0.0' 'amuse-mameclot>=13.0.0' 'amuse-mercury>=13.0.0' 'amuse-mmams>=13.0.0' 'amuse-ph4>=13.0.0' 'amuse-seba>=13.0.0' 'amuse-secularmultiple>=13.0.0' 'amuse-smalln>=13.0.0' 'amuse-sphray>=13.0.0' 'amuse-sse>=13.0.0' 'amuse-twobody>=13.0.0' Check the logs for full command output.
WARNING: You are using pip version 19.2.3, however version 20.0.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

I suspect my problem is similar to issue #599 , so I tried pip install amuse-brutus,  pip install --no-cache-dir amuse-brutus and lastly  pip install -v --no-clean amuse-brutus but to no avail. I followed the installation instruction in the AMUSE website, and used MacPorts to install the dependencies needed for openmpi. I'm using MacOS Catalina at the moment. Any help or pointer is highly appreciated. Thank you.
Kind regards, Kong.

There are several codes in AMUSE that require specific libraries that cannot be installed via pip. Brutus is one of them, but there are others.
Better install the package in parts.
first the muse-framework
and each package individuall using pip.
A list of available packages is in the appendix of the AMUSE book.
good luck,
Simon
On Mar 27 2020, at 11:53 am, kyleastro<EMAIL_ADDRESS>wrote:

Hello there,
I'm new to AMUSE. I tried to install AMUSE in my laptop but unfortunately it failed to install at pip install amuse. I think the error is probably caused by the brutus as shown below:
Collecting amuse
Using cached https://files.pythonhosted.org/packages/ba/fe/762ec608355619161dec92bfebfdb653ee56b89ca1efbdf300e0c856ef9c/amuse-13.1.0.tar.gz
Installing build dependencies ... error
ERROR: Command errored out with exit status 1:
command: /Users/kliow/Amuse-env/bin/python3 /Users/kliow/Amuse-env/lib/python3.8/site-packages/pip install --ignore-installed --no-user --prefix /private/var/folders/1m/z7p_nfjx561506hfhff6h_tr07h0c5/T/pip-build-env-7cq1gzkz/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'amuse-framework>=13.0.0[MPI]' 'amuse-athena>=13.0.0' 'amuse-bhtree>=13.0.0' 'amuse-brutus>=13.0.0' 'amuse-bse>=13.0.0' 'amuse-capreole>=13.0.0' 'amuse-evtwin>=13.0.0' 'amuse-fastkick>=13.0.0' 'amuse-fi>=13.0.0' 'amuse-fractalcluster>=13.0.0' 'amuse-gadget2>=13.0.0' 'amuse-galactics>=13.0.0' 'amuse-galaxia>=13.0.0' 'amuse-halogen>=13.0.0' 'amuse-hermite>=13.0.0' 'amuse-hop>=13.0.0' 'amuse-huayno>=13.0.0' 'amuse-kepler>=13.0.0' 'amuse-kepler-orbiters>=13.0.0' 'amuse-mameclot>=13.0.0' 'amuse-mercury>=13.0.0' 'amuse-mmams>=13.0.0' 'amuse-ph4>=13.0.0' 'amuse-seba>=13.0.0' 'amuse-secularmultiple>=13.0.0' 'amuse-smalln>=13.0.0' 'amuse-sphray>=13.0.0' 'amuse-sse>=13.0.0' 'amuse-twobody>=13.0.0'
cwd: None
Complete output (148 lines):
Collecting amuse-framework>=13.0.0[MPI]
Collecting amuse-athena>=13.0.0
Collecting amuse-bhtree>=13.0.0
Collecting amuse-brutus>=13.0.0
Using cached https://files.pythonhosted.org/packages/57/b3/5037748502d4746d9f9d484fc56f9d510f5099766540a9f4cc752db46ccf/amuse-brutus-13.1.0.tar.gz
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Preparing wheel metadata: started
Preparing wheel metadata: finished with status 'done'
Collecting amuse-bse>=13.0.0
Collecting amuse-capreole>=13.0.0
Collecting amuse-evtwin>=13.0.0
Collecting amuse-fastkick>=13.0.0
Collecting amuse-fi>=13.0.0
Collecting amuse-fractalcluster>=13.0.0
Collecting amuse-gadget2>=13.0.0
Collecting amuse-galactics>=13.0.0
Collecting amuse-galaxia>=13.0.0
Collecting amuse-halogen>=13.0.0
Collecting amuse-hermite>=13.0.0
Collecting amuse-hop>=13.0.0
Collecting amuse-huayno>=13.0.0
Collecting amuse-kepler>=13.0.0
Collecting amuse-kepler-orbiters>=13.0.0
Collecting amuse-mameclot>=13.0.0
Collecting amuse-mercury>=13.0.0
Collecting amuse-mmams>=13.0.0
Collecting amuse-ph4>=13.0.0
Collecting amuse-seba>=13.0.0
Collecting amuse-secularmultiple>=13.0.0
Collecting amuse-smalln>=13.0.0
Collecting amuse-sphray>=13.0.0
Collecting amuse-sse>=13.0.0
Collecting amuse-twobody>=13.0.0
Collecting docutils>=0.6 (from amuse-framework>=13.0.0[MPI])
Using cached https://files.pythonhosted.org/packages/81/44/8a15e45ffa96e6cf82956dd8d7af9e666357e16b0d93b253903475ee947f/docutils-0.16-py2.py3-none-any.whl
Collecting pip>=19.0.0 (from amuse-framework>=13.0.0[MPI])
Using cached https://files.pythonhosted.org/packages/54/0c/d01aa759fdc501a58f431eb594a17495f15b88da142ce14b5845662c13f3/pip-20.0.2-py2.py3-none-any.whl
Collecting h5py>=1.1.0 (from amuse-framework>=13.0.0[MPI])
Using cached https://files.pythonhosted.org/packages/7a/1d/e64957225e693f27f2c8024923449830fc1d1ca513e7675fb10939dc2caa/h5py-2.10.0-cp38-cp38-macosx_10_9_x86_64.whl
Collecting setuptools>=41.0.0 (from amuse-framework>=13.0.0[MPI])
Using cached https://files.pythonhosted.org/packages/a0/df/635cdb901ee4a8a42ec68e480c49f85f4c59e8816effbf57d9e6ee8b3588/setuptools-46.1.3-py3-none-any.whl
Collecting nose>=0.11.1 (from amuse-framework>=13.0.0[MPI])
Using cached https://files.pythonhosted.org/packages/15/d8/dd071918c040f50fa1cf80da16423af51ff8ce4a0f2399b7bf8de45ac3d9/nose-1.3.7-py3-none-any.whl
Collecting numpy>=1.2.2 (from amuse-framework>=13.0.0[MPI])
Using cached https://files.pythonhosted.org/packages/f2/81/43f7a2c7893a58c0f304b44f4c084a7918ce295a1b6dd9275bcddccb7feb/numpy-1.18.2-cp38-cp38-macosx_10_9_x86_64.whl
Collecting wheel>=0.32 (from amuse-framework>=13.0.0[MPI])
Using cached https://files.pythonhosted.org/packages/8c/23/848298cccf8e40f5bbb59009b32848a4c38f4e7f3364297ab3c3e2e2cd14/wheel-0.34.2-py2.py3-none-any.whl
Collecting mpi4py>=1.1.0; extra == "mpi" (from amuse-framework>=13.0.0[MPI])
Collecting six (from h5py>=1.1.0->amuse-framework>=13.0.0[MPI])
Using cached https://files.pythonhosted.org/packages/65/eb/1f97cb97bfc2390a276969c6fae16075da282f5058082d4cb10c6c5c1dba/six-1.14.0-py2.py3-none-any.whl
Building wheels for collected packages: amuse-brutus
Building wheel for amuse-brutus (PEP 517): started
Building wheel for amuse-brutus (PEP 517): finished with status 'error'
ERROR: Command errored out with exit status 1:
command: /Users/kliow/Amuse-env/bin/python3 /Users/kliow/Amuse-env/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py build_wheel /var/folders/1m/z7p_nfjx561506hfhff6h_tr07h0c5/T/tmpuqhma0fz
cwd: /private/var/folders/1m/z7p_nfjx561506hfhff6h_tr07h0c5/T/pip-install-be7jx6en/amuse-brutus
Complete output (81 lines):
running bdist_wheel
running build
running build_py
creating build
creating build/lib
creating build/lib/amuse
creating build/lib/amuse/community
creating build/lib/amuse/community/brutus
copying src/amuse/community/brutus/interface.py -> build/lib/amuse/community/brutus
copying src/amuse/community/brutus/init.py -> build/lib/amuse/community/brutus
running build_codes
building libraries and community codes
build, for logging, see 'build.log'
creating build/temp.macosx-10.15-x86_64-3.8
creating build/temp.macosx-10.15-x86_64-3.8/codes
creating build/temp.macosx-10.15-x86_64-3.8/codes/brutus
copying src/amuse/community/brutus/Makefile -> build/temp.macosx-10.15-x86_64-3.8/codes/brutus
copying src/amuse/community/brutus/interface.py -> build/temp.macosx-10.15-x86_64-3.8/codes/brutus
copying src/amuse/community/brutus/init.py -> build/temp.macosx-10.15-x86_64-3.8/codes/brutus
copying src/amuse/community/brutus/interface.cc -> build/temp.macosx-10.15-x86_64-3.8/codes/brutus
creating build/temp.macosx-10.15-x86_64-3.8/codes/brutus/mpfrc++
copying src/amuse/community/brutus/mpfrc++/mpreal.h -> build/temp.macosx-10.15-x86_64-3.8/codes/brutus/mpfrc++
creating build/temp.macosx-10.15-x86_64-3.8/codes/brutus/src
copying src/amuse/community/brutus/src/Cluster.h -> build/temp.macosx-10.15-x86_64-3.8/codes/brutus/src
copying src/amuse/community/brutus/src/Bulirsch_Stoer.cpp -> build/temp.macosx-10.15-x86_64-3.8/codes/brutus/src
copying src/amuse/community/brutus/src/Star.cpp -> build/temp.macosx-10.15-x86_64-3.8/codes/brutus/src
copying src/amuse/community/brutus/src/Brutus.cpp -> build/temp.macosx-10.15-x86_64-3.8/codes/brutus/src
copying src/amuse/community/brutus/src/makefile -> build/temp.macosx-10.15-x86_64-3.8/codes/brutus/src
copying src/amuse/community/brutus/src/Bulirsch_Stoer.h -> build/temp.macosx-10.15-x86_64-3.8/codes/brutus/src
copying src/amuse/community/brutus/src/Star.h -> build/temp.macosx-10.15-x86_64-3.8/codes/brutus/src
copying src/amuse/community/brutus/src/Brutus.h -> build/temp.macosx-10.15-x86_64-3.8/codes/brutus/src
copying src/amuse/community/brutus/src/Cluster.cpp -> build/temp.macosx-10.15-x86_64-3.8/codes/brutus/src
copying src/amuse/community/brutus/src/main.cpp -> build/temp.macosx-10.15-x86_64-3.8/codes/brutus/src
[10:15:10] building brutus
will copy worker: src/amuse/community/brutus
brutus
Community codes not built (because of errors):

brutus
================================================================================
0 out of 1 codes built, 0 out of 0 libraries built
Traceback (most recent call last):
File "/Users/kliow/Amuse-env/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py", line 207, in
main()
File "/Users/kliow/Amuse-env/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py", line 197, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "/Users/kliow/Amuse-env/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py", line 140, in build_wheel
return _build_backend().build_wheel(wheel_directory, config_settings,
File "/private/var/folders/1m/z7p_nfjx561506hfhff6h_tr07h0c5/T/pip-build-env-mwx3l1nv/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 212, in build_wheel
return self._build_with_temp_dir(['bdist_wheel'], '.whl',
File "/private/var/folders/1m/z7p_nfjx561506hfhff6h_tr07h0c5/T/pip-build-env-mwx3l1nv/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 198, in _build_with_temp_dir
self.run_setup()
File "/private/var/folders/1m/z7p_nfjx561506hfhff6h_tr07h0c5/T/pip-build-env-mwx3l1nv/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 249, in run_setup
super(_BuildMetaLegacyBackend,
File "/private/var/folders/1m/z7p_nfjx561506hfhff6h_tr07h0c5/T/pip-build-env-mwx3l1nv/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 143, in run_setup
exec(compile(code, file, 'exec'), locals())
File "setup.py", line 36, in
setup(
File "/private/var/folders/1m/z7p_nfjx561506hfhff6h_tr07h0c5/T/pip-build-env-mwx3l1nv/overlay/lib/python3.8/site-packages/setuptools/init.py", line 144, in setup
return distutils.core.setup(**attrs)
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/core.py", line 148, in setup
dist.run_commands()
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/dist.py", line 966, in run_commands
self.run_command(cmd)
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/private/var/folders/1m/z7p_nfjx561506hfhff6h_tr07h0c5/T/pip-build-env-mwx3l1nv/overlay/lib/python3.8/site-packages/wheel/bdist_wheel.py", line 223, in run
self.run_command('build')
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/private/var/folders/1m/z7p_nfjx561506hfhff6h_tr07h0c5/T/pip-install-be7jx6en/amuse-brutus/support/setup_codes.py", line 1093, in run
raise Exception("No succesful builds detected. Aborting.")
Exception: No succesful builds detected. Aborting.

ERROR: Failed building wheel for amuse-brutus
Running setup.py clean for amuse-brutus
Failed to build amuse-brutus
ERROR: Could not build wheels for amuse-brutus which use PEP 517 and cannot be installed directly
WARNING: You are using pip version 19.2.3, however version 20.0.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
ERROR: Command errored out with exit status 1: /Users/kliow/Amuse-env/bin/python3 /Users/kliow/Amuse-env/lib/python3.8/site-packages/pip install --ignore-installed --no-user --prefix /private/var/folders/1m/z7p_nfjx561506hfhff6h_tr07h0c5/T/pip-build-env-7cq1gzkz/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'amuse-framework>=13.0.0[MPI]' 'amuse-athena>=13.0.0' 'amuse-bhtree>=13.0.0' 'amuse-brutus>=13.0.0' 'amuse-bse>=13.0.0' 'amuse-capreole>=13.0.0' 'amuse-evtwin>=13.0.0' 'amuse-fastkick>=13.0.0' 'amuse-fi>=13.0.0' 'amuse-fractalcluster>=13.0.0' 'amuse-gadget2>=13.0.0' 'amuse-galactics>=13.0.0' 'amuse-galaxia>=13.0.0' 'amuse-halogen>=13.0.0' 'amuse-hermite>=13.0.0' 'amuse-hop>=13.0.0' 'amuse-huayno>=13.0.0' 'amuse-kepler>=13.0.0' 'amuse-kepler-orbiters>=13.0.0' 'amuse-mameclot>=13.0.0' 'amuse-mercury>=13.0.0' 'amuse-mmams>=13.0.0' 'amuse-ph4>=13.0.0' 'amuse-seba>=13.0.0' 'amuse-secularmultiple>=13.0.0' 'amuse-smalln>=13.0.0' 'amuse-sphray>=13.0.0' 'amuse-sse>=13.0.0' 'amuse-twobody>=13.0.0' Check the logs for full command output.
WARNING: You are using pip version 19.2.3, however version 20.0.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
I suspect my problem is similar to issue #599 (https://github.com/amusecode/amuse/issues/599) , so I tried pip install amuse-brutus, pip install --no-cache-dir amuse-brutus and lastly pip install -v --no-clean amuse-brutus but to no avail. I followed the installation instruction in the AMUSE website, and used MacPorts to install the dependencies needed for openmpi. I'm using MacOS Catalina at the moment. Any help or pointer is highly appreciated. Thank you.
Kind regards, Kong.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub (https://github.com/amusecode/amuse/issues/609), or unsubscribe (https://github.com/notifications/unsubscribe-auth/ABCPFTAKCGP4P533XHCTJZDRJSATJANCNFSM4LU5GSPQ).

Hi @spzwart, thanks for your swift reply.
Sorry if I misunderstood your answer, but I've tried to install amuse-brutus separately, i.e after I pip install amuse-framework, I then pip install amuse-brutus, but it still failed to install and gave similar error as above.

Dear Kyleastro,
for installing brutus you probably need some additional libraries, such as mpreal. check what the log is telling you after pip install amuse-brutus.
Simon
On Mar 27 2020, at 12:37 pm, kyleastro<EMAIL_ADDRESS>wrote:

Hi @spzwart (https://github.com/spzwart), thanks for your swift reply.
Sorry if I misunderstood your answer, but I've tried to install amuse-brutus separately, i.e after I pip install amuse-framework, I then pip install amuse-brutus, but it still failed to install and gave similar error as above.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub (https://github.com/amusecode/amuse/issues/609#issuecomment-604953760), or unsubscribe (https://github.com/notifications/unsubscribe-auth/ABCPFTD6PWSVGGXJ3LTOPRDRJSFW3ANCNFSM4LU5GSPQ).

you can get more information with -v and --no-clean
pip install -v --no-clean amuse-brutus

the build.log will be in the build directory mentioned somewhere at the beginning of the output...

Hi, after checking build.log I found that the missing library is mpfr. Thanks for the pointer @spzwart and @ipelupessy.
Kong

Hello,
I'm running into the same issue, and my log (part of which is copied below) also seems to be saying mpfr.h is missing.
../mpfrc++/mpreal.h:125:10: fatal error: mpfr.h: No such file or directory   125 | #include <mpfr.h>       |          ^~~~~~~~ compilation terminated. make[1]: *** [Star.o] Error 1 make: *** [src/libbrutus.a] Error 2
However, I had already installed mpfr using MacPorts (the "sudo port install gcc9 openmpi-gcc9 hdf5 gsl cmake gmp mpfr fftw-3 +gcc9" line in the installation procedure), and when I run locate mpfr.h my system finds it in /opt/local/include. I'm trying to install my Amuse code in a virtual environment as suggested in the installation procedure (https://amusecode.github.io/installation), which I have basically followed exactly.
Can you suggest how to fix this issue, @spzwart @ipelupessy ? or @kyleastro , how did you get it to work? I tried explicitly adding opt/local/include to my PATH, which didn't change anything.
Thank you so much in advance, and let me know if I can provide any additional details.

@amaheshwari25 I have committed a fix and updated the pypi package..hope it fixes the problem for you! @rieder can you confirm the fix works on mac?

(the brutus package should be 13.2.1)

Hi @ipelupessy @rieder — thanks for the quick response! Unfortunately the install still seems to be failing — I'm just trying to rerun pip install amuse-brutus (and it did collect v13.2.1).
The full build.log error output is below:
Building libraries and codes

Building code: brutus, target: all, in directory: build/temp.macosx-10.15-x86_64-3.8/codes/brutus

amusifier --type=c interface.py BrutusInterface -o worker_code.cc
amusifier --type=H -i amuse.support.codes.stopping_conditions.StoppingConditionInterface interface.py BrutusInterface -o worker_code.h
make -C src all CXXFLAGS="-g -O2 -fPIC  -I./mpfrc++     -std=c++0x -I../mpfrc++"
g++ -O1 -g -O2 -fPIC  -I./mpfrc++     -std=c++0x -I../mpfrc++ -c Star.cpp
In file included from Star.h:6,
from Star.cpp:1:
../mpfrc++/mpreal.h:125:10: fatal error: mpfr.h: No such file or directory
125 | #include <mpfr.h>
|          ^~~~~~~~
compilation terminated.
make[1]: *** [Star.o] Error 1
make: *** [src/libbrutus.a] Error 2

Building finished

My terminal reports an error specifically when it tries to build the wheels, I think? There's a lot of lines in the full message, but this is part of what it says (I'm guessing this is just a result of the amuse-brutus build not working, as in the build.log above).
ERROR: Could not build wheels for amuse-brutus which use PEP 517 and cannot be installed directly
Let me know if there is any other information I can provide, and thank you for your help!

ok, it seems it still cannot find the mpfr headers,
can you post the ouput of amusifier --get-amuse-configmk?

Sure, the output is all below. Just for reference, the directory I am trying to build Amuse in (via a virtual python environment) is /Users/aryam/STREAMS/Amuse-env. Thank you so much for your prompt replies and assistance.

# amuse configuration generated by ./configure from config.mk.in
PYTHON=/Users/aryam/STREAMS/Amuse-env/bin/python3
CODE_GENERATOR=amusifier
#
# PYTHON embedding
#
PYTHON_DEV=no
CYTHON=/Users/aryam/opt/anaconda3/bin/cython
PYTHONCONFIG=/usr/bin/python-config
PYTHONDEV_CFLAGS=
PYTHONDEV_LDFLAGS=
#
# Compilers, for compiling without MPI
# these compilers must be the same or compatible with
# the mpi compilers
#
CXX=g++
CC=gcc
FC=/opt/local/bin/gfortran-mp-9
GFORTRAN_VERSION=9.3.0
IFORT_VERSION=
FC_ISO_C_AVAILABLE=yes
#
# Default flags, append to these in the makefiles
#
CXXFLAGS=-g -O2 -fPIC
CFLAGS=-g -O2 -fPIC
FCFLAGS=-g -O2 -fPIC
LDFLAGS=
#
# MPI Compilers
#
MPI_ENABLED=yes
MPICXX=mpicxx
MPICC=mpicc
MPIFC=mpif90
MPIEXEC=/opt/local/bin/mpiexec
MPI_CFLAGS=-I/opt/local/include/openmpi-gcc9
MPI_CXXFLAGS=-I/opt/local/include/openmpi-gcc9
MPI_FCFLAGS=-Wl,-flat_namespace -Wl,-commons,use_dylibs -I/opt/local/lib/openmpi-gcc9
MPI_CLIBS=-L/opt/local/lib/openmpi-gcc9 -lmpi
MPI_CXXLIBS=-L/opt/local/lib/openmpi-gcc9 -lmpi_cxx -lmpi
MPI_FCLIBS=-Wl,-commons,use_dylibs -I/opt/local/lib/openmpi-gcc9 -L/opt/local/lib -L/opt/local/lib/openmpi-gcc9 -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi
#
# Java
#
JAVA_ENABLED=yes
JAVA=/usr/bin/java
JAVAC=/usr/bin/javac
JAR=/usr/bin/jar
JAVA_VERSION=13
#
# OpenMP
#
OPENMP_ENABLED=yes
OPENMP_FCFLAGS=-fopenmp
OPENMP_CFLAGS=-fopenmp
#
# Libraries: FFTW, GSL, HDF5, CUDA, SAPPORO
#
FOUND_FFTW=yes
FFTW_FLAGS=-I/opt/local/include
FFTW_LIBS=-L/opt/local/lib -lfftw3 -lfftw3_threads
FOUND_GSL=yes
GSL_FLAGS=-I/opt/local/include
GSL_LIBS=-L/opt/local/lib -lgsl -lgslcblas -lm
FOUND_GMP=yes
GMP_FLAGS=
GMP_LIBS=-L/opt/local/lib -lgmp
FOUND_MPFR=yes
MPFR_FLAGS=
MPFR_LIBS=-L/opt/local/lib -lmpfr -lgmp
HDF5_FLAGS=-I/opt/local/include
HDF5_LIBS= -L/opt/local/lib -lhdf5_hl -lhdf5  -lz -ldl -lm
NETCDF_PREFIX=.
NETCDF_FLAGS=
NETCDF_LIBS=
NETCDFF_PREFIX=.
NETCDFF_FLAGS=
NETCDFF_LIBS=
CUDA_ENABLED=no
NVCC=
NVCC_FLAGS=
CUDA_TK=/NOCUDACONFIGURED
CUDA_LIBS=-L/NOCUDACONFIGURED cuda cudart
FOUND_CL=no
CL_LIBS=
CL_FLAGS=
SAPPORO_VERSION=light
SAPPORO_LIBS=-L${AMUSE_DIR}/lib/sapporo_light -lsapporo
FS_FLAGS=-I$(AMUSE_DIR)/lib/forsockets
FS_LIBS=-L$(AMUSE_DIR)/lib/forsockets -lforsockets
SC_FLAGS=-I$(AMUSE_DIR)/lib/stopcond
SC_CLIBS=-L$(AMUSE_DIR)/lib/stopcond -lstopcond
SC_FCLIBS=-L$(AMUSE_DIR)/lib/stopcond -lstopcond
SC_MPI_CLIBS=-L$(AMUSE_DIR)/lib/stopcond -lstopcondmpi
SC_MPI_FCLIBS=-L$(AMUSE_DIR)/lib/stopcond -lstopcondmpi
export PYTHON CXX CC FC CXXFLAGS CFLAGS FCFLAGS MPICXX MPICC MPIFC LDFLAGS
export JAVA JAVAC JAVAH JAR JAVA_FLAGS
export FS_FLAGS FS_LIBS SC_FLAGS SC_CLIBS SC_FCLIBS SC_MPI_CLIBS SC_MPI_FCLIBS
export FFTW_FLAGS FFTW_LIBS
export GSL_FLAGS GSL_LIBS
export HDF5_FLAGS HDF5_LIBS
export OPENMP_FCFLAGS OPENMP_CFLAGS
export NVCC CUDA_TK CUDA_LIBS CUDA_ENABLED
export SAPPORO_VERSION SAPPORO_LIBS
export MPICFLAGS MPICCFLAGS MPIFCFLAGS
export IFORT_VERSION
export NVCC_FLAGS
export PYTHONDEV_LIBS PYTHONDEV_CFLAGS PYTHONDEV_LIBS
export FC_ISO_C_ENABLED
ifdef AMUSE_DIR
export AMUSE_DIR
endif

looks ok,  it doesn't set the mpfr include directory - by itself that is often/ should not be a problem..for now you could try to set the MPFR_CFLAGS environment variable, but you need to do that for the install of the amuse-framework package, so:
MPFR_CFLAGS=-I/opt/local/include pip install --no-cache-dir amuse-framework
pip install --no-cache-dir amuse-brutus

and maybe delete the pip cache (to make sure its not using old version of one of the packages)

I get the same error (on macOS), also for me MPFR is reported as found by AMUSE.

(this is with the developer mode installation of AMUSE)

And setting MPFR_FLAGS to -I/opt/local/include fixes this.

MPFR_FLAGS or MPFR_CFLAGS ??

MPFR_FLAGS (the one in config.mk).

its a bit strange the fix is necessary, since it would look by default in /opt/local/include ?

at least that is what the pkg-config thinks...

This is a duplicate of issue as #209 by the way...

its a bit strange the fix is necessary, since it would look by default in /opt/local/include ?

no it doesn't...

/opt/local/ is the default location for Macports, but for e.g. Homebrew a different location is used (I think they use /usr/local).

the above fix i gave is not correct, you need to both set MPFR_FLAGS and MPFR_LIBS:
MPFR_FLAGS=-I/some/dir MPFR_LIBS=-Lsomedir pip install etc..

(with some dir replaced by the correct corresponding include and lib dirs)
the root cause is an error in the pkg-config I think..

also, @amaheshwari25 @rieder  can you post what the output (only the last bit wth the include directories) is of:
gcc -xc -E -v -

and
gcc -xc++ -E -v -

in your mac environments?

gcc -xc -E -v -

/opt/local/lib/gcc9/gcc/x86_64-apple-darwin19/9.3.0/include
/opt/local/lib/gcc9/gcc/x86_64-apple-darwin19/9.3.0/include-fixed
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks

gcc -xc++ -E -v -

/opt/local/include/gcc9/c++/
/opt/local/include/gcc9/c++//x86_64-apple-darwin19
/opt/local/include/gcc9/c++//backward
/opt/local/lib/gcc9/gcc/x86_64-apple-darwin19/9.3.0/include
/opt/local/lib/gcc9/gcc/x86_64-apple-darwin19/9.3.0/include-fixed
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks

Hi @ipelupessy , here they are. I'm about to work on the fixes you suggested

Hi @ipelupessy, here they are:
gcc -xc -E -v -
/opt/local/lib/gcc9/gcc/x86_64-apple-darwin19/9.3.0/include
/opt/local/lib/gcc9/gcc/x86_64-apple-darwin19/9.3.0/include-fixed
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks
gcc -xc++ -E -v -
/opt/local/include/gcc9/c++/
/opt/local/include/gcc9/c++//x86_64-apple-darwin19
/opt/local/include/gcc9/c++//backward
/opt/local/lib/gcc9/gcc/x86_64-apple-darwin19/9.3.0/include
/opt/local/lib/gcc9/gcc/x86_64-apple-darwin19/9.3.0/include-fixed
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks
looks like the exact same as @rieder's output.
i saw issue 209 but was not sure this was caused by the same problem. i'll work on the fixes suggested above now and let you know if they work

@ipelupessy I tried setting MPFR-FLAGS to -I/opt/local/include both separately and in the same line as the pip install --no-cache-dir amuse-framework, and it doesn't seem to be working: I get the file not found error shown below. The MPFR-LIBS setting seems to work fine, though.

The opt/local/include directory definitely exists on my computer, under the main root directory, so I'm not sure what this means.

That’s a typo: MPFR_FLAGS not MPFR-FLAGS (underscore not minus).

Yep, I just saw that and deleted that comment — sorry about that.
I tried setting MPFR_FLAGS and MPFR_LIBS as per the above but I'm still getting the same issue. Running amusifier --get-amuse-configmk shows MPFR_FLAGS still empty.
Am I setting them wrong? I tried doing "MPFR-FLAGS=-I/opt/local/include MPFR-LIBS=-L/opt/local/lib" both in the same line and separately from "pip install --no-cache-dir amuse-framework"; neither worked. Do I need to set them some other way? I'm pretty new to this style of coding, so apologies if I'm missing something obvious.
Also, do I need to somehow clear my amuse-framework? When I run the "pip install --no-cache-dir amuse-framework" the only outputs I get are "Requirement already satsified..." — is that supposed to be the case? If I do need to clear/reset it, how would I do that?

you can add the option --force-reinstall to the pip command; also: the environment var is to be specified on the same line (you can als export MPFR_FLAGS=.. for each on seperate lines; then it will be set for the session)

with --force-reinstall and setting MPFR_FLAGS on the same line the amusifier, the --get-amuse-configmk command now shows MPFR_FLAGS set correctly, but for some reason the amuse-brutus install still isn't working. As far as I can tell, it's the same error in the build.log as before.
Is there anything else I can try? Or is there some other way I should try to reset to a clean slate, if there is something residual that is messing up my install?
Thanks for your time in working to debug this.

no problem;-) it could be that the brutus build is still using a cached version of amuse-framework - you can check if the -I include shows up in the brutus compile so the compile that gave the error:
g++ -O1 -g -O2 -fPIC <should show up here> -I./mpfrc++ -std=c++0x -I../mpfrc++ -c Star.cpp

you can clean the pip cache by removing the ache dir (i think ~/Library/Caches/pip on mac, but check)

Hm, it looks like the -I include still isn't showing there, this is my output:
g++ -O1 -g -O2 -fPIC  -I./mpfrc++     -std=c++0x -I../mpfrc++ -c Star.cpp
Also, my pip cache is clean.
These are the exact commands I ran (the amuse-framework install always works, and then amuse-brutus fails)
MPFR_FLAGS=-I/opt/local/include MPFR_LIBS=-I/opt/local/lib pip install --no-cache-dir --force-reinstall amuse-framework
MPFR_FLAGS=-I/opt/local/include MPFR_LIBS=-I/opt/local/lib pip install --no-cache-dir --force-reinstall --no-clean amuse-brutus

can you retry the amuse-brutus install with additionally the --no-build-isolation pip option?

@ipelupessy It still has a problem, but the --no-build-isolation option seems to have done something! There's a new error now in the build.log file now, which it seems is based on "undefined symbols for architecture x86_64". I've attached the full build.log file here.
build.log
Thank you so much!

ok, the linking stage doesn't have the correct flags; I think you need to set the MPFR_LIBS correctly:
MPFR_LIBS="-L/opt/local/lib -lmpfr -lgmp"

its a pain that it doesn't configure automatically ;-) so I am making a seperate issue for that since it will take slightly longer to fix that...

@ipelupessy @rieder amuse-brutus built successfully! it seems --no-build-isolation and MPFR_FLAGS=-I/opt/local/include MPFR_LIBS="-L/opt/local/lib -lmpfr -lgmp" ... were the two keys to fixing the issue. thank you both so much for all your help ... really appreciate it :)