[BACKLOG-11051] Hover state locking area

@mdamour1976 @bmorrise Please Sir!

Build Completed
:x: This pull request has errors. They will need to be addressed before it can be accepted. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
ant -Dtestreports.dir=bin/reports/unit-test -f core/build.xml clean-all resolve jacoco && ant -Dtestreports.dir=bin/reports/integration-test -f core/build.xml jacoco-integration checkstyle publish-local
ant -Dtestreports.dir=bin/reports/unit-test -f ui/build.xml clean-all resolve jacoco && ant -Dtestreports.dir=bin/reports/integration-test -f ui/build.xml jacoco-integration checkstyle publish-local

Cleanup Commands
rm -r ~/.ivy2/local || echo no publish local to remove

Changed files
  core/src/org/pentaho/di/core/extension/KettleExtensionPoint.java
  ui/src/org/pentaho/di/ui/spoon/trans/TransGraph.java
  ui/src/org/pentaho/di/ui/spoon/trans/TransGraphExtension.java

Unit test coverage change
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.
org.pentaho.di.core.extension.KettleExtensionPoint

Instruction Change:  + .01%

org.pentaho.di.core.logging.KettleLogStore.new TimerTask() {...}

Branch Change:  + 50.00%
Complexity Change:  + 33.33%
Instruction Change:  + 75.68%
Line Change:  + 83.33%
Method Change:  + 50.00%

org.pentaho.di.core.logging.LoggingBuffer

Complexity Change:  + 1.72%
Instruction Change:  + 1.09%
Line Change:  + 1.53%
Method Change:  + 3.45%

org.pentaho.di.ui.spoon.trans.TransGraph

Complexity Change: -.00%:small_red_triangle_down:
Instruction Change: -.00%:small_red_triangle_down:
Line Change: -.00%:small_red_triangle_down:

License header violations

:heavy_exclamation_mark: Copyright year is not the current year on ui/src/org/pentaho/di/ui/spoon/trans/TransGraphExtension.java. Found 2015. Was expecting 2016

Checkstyle violations
The code submitted is not complying with one or more of our guidelines. To perform these checks locally, please use this tool.
/home/buildguy/project/ui/src/org/pentaho/di/ui/spoon/trans/TransGraph.java

:heavy_exclamation_mark: Line has trailing spaces at Line: 1,007

:heavy_exclamation_mark: Line has trailing spaces at Line: 1,008

It would seem to be that you should be able to make this work only using the existing MouseUp extention point.  It already passes the object that you added the "lock" flag to.  The existing DET mouseup extension can be tweaked emit the flag and detect the click area and return.
https://github.com/pentaho/pentaho-kettle/pull/3004/files#diff-3aa40ebb21643228592ac0f1e1d322ddR1019
Also, can we rename the lock flag to something like "preventDefault"

Build Completed
:white_check_mark: This pull request has passed all validations.
Build Commands
ant -Dtestreports.dir=bin/reports/unit-test -f core/build.xml clean-all resolve jacoco && ant -Dtestreports.dir=bin/reports/integration-test -f core/build.xml jacoco-integration checkstyle publish-local
ant -Dtestreports.dir=bin/reports/unit-test -f ui/build.xml clean-all resolve jacoco && ant -Dtestreports.dir=bin/reports/integration-test -f ui/build.xml jacoco-integration checkstyle publish-local

Cleanup Commands
rm -r ~/.ivy2/local || echo no publish local to remove

Changed files
  core/src/org/pentaho/di/core/extension/KettleExtensionPoint.java
  ui/src/org/pentaho/di/ui/spoon/trans/TransGraph.java
  ui/src/org/pentaho/di/ui/spoon/trans/TransGraphExtension.java

Unit test coverage change
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.
org.pentaho.di.core.extension.KettleExtensionPoint

Instruction Change:  + .01%

org.pentaho.di.ui.spoon.trans.TransGraph

Complexity Change: -.00%:small_red_triangle_down:
Instruction Change: -.00%:small_red_triangle_down:
Line Change: -.00%:small_red_triangle_down:


CustomItemColors: added Custom color option and RuneColor select

Another clarification of the CustomItemColor mod only changes the color of the tooltip, that is, the item on the ground, but not in the inventory.
In _profilehd.json it is possible to specify only 'RuneColor' without dividing into levels:

Custom color selected for Gold (or other) for example:

I don't see the implementation for the rune coloring? You'd need to add some code that changes the localization files to inject a color code straight into the names of the runes.
Some feedback:

It would probably be useful to allow separate colors for LR, MR, and HR - rather than just a color for all runes.
It would be best to split the PRs for custom color functionality vs rune coloring functionality.
For the custom color option, I think it should probably have a D2RMM change to improve the UX for this. As is, it's a single custom color that's used across all item types which is both confusing and limiting.

only changes the color of the tooltip

Yup. That's where TooltipStyle applies. Editing localization files allows the override to work everywhere, but that's only applicable to certain item types like runes where rarity is not involved (for an axe, for example, it's not possible to know statically what rarity, ethereal state, socket state, etc... it will have - so the color cannot be encoded into the localization file).

Some feedback:
It would probably be useful to allow separate colors for LR, MR, and HR - rather than just a color for all runes.
It would be best to split the PRs for custom color functionality vs rune coloring functionality.
For the custom color option, I think it should probably have a D2RMM change to improve the UX for this. As is, it's a single custom color that's used across all item types which is both confusing and limiting.

I just added the ability to change the color of all runes and specify a completely custom color. This corresponds to the functionality of the mod, what you suggest goes beyond its implementation at the moment, it seems to me

Some feedback:

For the custom color option, I think it should probably have a D2RMM change to improve the UX for this. As is, it's a single custom color that's used across all item types which is both confusing and limiting.

Agreed, a single D2RMM Color setting entry that accepts 4 number values for R, G B and O (opacity) would be the way to go. Even better if it could be integrated in the Select setting type where when you select "Custom" this new setting type would appear. This way the mod doesn't end up with double the amount of settings.
Another option would be to separate the settings into a section with the current settings and a section with the custom color types. That way if you change from Custom to something else, the config.json can still remember your previously created custom value in case you want to switch back. On second thought, I think this second approach would be best (with the new Color setting of course).

It would probably be useful to allow separate colors for LR, MR, and HR - rather than just a color for all runes.

Changes to specific items using the localization JSONs should belong in something like a loot filter. I agree with @AlexSnowLeo that it's out of scope for this mod.

It would be best to split the PRs for custom color functionality vs rune coloring functionality.

Agreed, two features, two PRs. I have added RuneColor and more in https://github.com/olegbl/d2rmm.mods/pull/19, which would make the RuneColor part of this PR obsolete. I suggest this PR should be rebranded to only add the option for custom colors in the manner of the 2nd approach I mentioned above, once the new D2RMM Color setting has been implemented. I'll add a GitHub issue for that on the D2RMM repo.

The colors available in selection in the 'CustomItemColors' mod do not match the colors that are available for use in item names.

That's right. If I'm not mistaken, the ÿc colors come from the legacy code and can only be used (hardcoded) in the localization files, while those in _profilehd.json were added for the remaster and can be changed, removed or have new ones added.

https://www.nexusmods.com/diablo2resurrected/mods/343
I just stumbled upon this mod which converts a hex color string in a text field setting like "#113355" to an rgba color in _profilehd.json. It's a nice workaround for now.

The feature request I linked has just been implemented so this PR can be reworked to include a color field now!

Custom colors added by 2b525153927b8873027189ac019332da97690ef8.
Rune colors added by 652b5b7e612a2baab2e986c142aa3cb6deedb4ae.


Add approximate counting C++ sample code

Thanks for the PR.
As for my previous review on #835, I'm not comfortable reviewing templated C++ code, so no approving review for me, even if I like your code.


Adjust the default position of the sql result tab.

The result of sql query is always a lot of column displayed.
I always move down because I don't see many columns when I get sql results on the right tab.
So I request the feture.
as-is: (default sql result tab position= right)

to-be: (default sql result tab position= bottom)

Hi @skotlex,
To open results view we rely on https://code.visualstudio.com/api/references/vscode-api#ViewColumn.
We can specify which view column webviews are open, but ViewColumn doesn't have a flag to open below.
I know VSCode team have some issues open about this, but for now there's nothing I can do.
I suffer from the same problem here.
If you have any ideas on how to do this, please let me know. We really need this! (I need :D)
But for now I'll close this issue since we don't even have this in VSCode roadmap, ok?
Sad..

There is an option among user settings in vscode (settings.json)
= "workbench.editor.openSideBySideDirection": right | down
This is the option to change the default direction of the split editor. The advantage is that I can change the default position of the sql result tab down, and the disadvantage is that the new direction of creation of all other tabs changes downwards.
To compensate for this, I removed the short key (ctrl+) of the existing split editor (workbench.action.splitEditor) and overwrite the keyboard shortcut in the split editor right (workbench.action.splitEditorRight).
Although it is not the perfect solution, I try to satisfy myself by using it like this.
I hope api related to this will be provided as soon as possible.

I don't know about development, but is it possible to do the following process?

User clicks the execute query menu
SQLTools temporarily adds "workbench.editor.openSideDirection": "down" to settings.json line to save
Generate query results in tab below
After outputting the result, delete the line that was inserted in 2 and save.

I think this is an absurd opinion because I have no knowledge of development, but I hope you will kindly understand it.

@mtxr There is an option among user settings in vscode (settings.json)
= "workbench.editor.openSideBySideDirection": right | down
This is the option to change the default direction of the split editor. The advantage is that I can change the default position of the sql result tab down, and the disadvantage is that the new direction of creation of all other tabs changes downwards.
To compensate for this, I removed the short key (ctrl+) of the existing split editor (workbench.action.splitEditor) and overwrite the keyboard shortcut in the split editor right (workbench.action.splitEditorRight).
Although it is not the perfect solution, I try to satisfy myself by using it like this.
I hope api related to this will be provided as soon as possible.

Yeah, it's a good workaround but still painful >.<

@mtxr I don't know about development, but is it possible to do the following process?

User clicks the execute query menu
SQLTools temporarily adds "workbench.editor.openSideDirection": "down" to settings.json line to save
Generate query results in tab below
After outputting the result, delete the line that was inserted in 2 and save.

I think this is an absurd opinion because I have no knowledge of development, but I hope you will kindly understand it.

Yes, this is possible, but I don't know if this is good. To do it we should rely in a lot of sequenced events that can be easily broken. I will check with other authors if opinions about this, but even temporary, we try to change just our extension settings and any changes outside user scope are usually persistent and requires user to change it manually.
I'll try this flow, let's see how it goes, but I'll try to gather some thoughts on that too.
@skotlex  thanks!

Hi @mtxr! Has there been any work on this? Eager to learn more.

If you are still watching this issue and want the enhancement please go to https://github.com/microsoft/vscode/issues/211772#issuecomment-2197862274 and click on the 👍 upvote button on the issue description. Don't add your own comment though; only upvotes on my initial description of the issue will count.
We need to get the total to at least 20 within the next few days in order to clear the first hurdle.

It is easy to achieve that in VSCode.
There is the command "Toggle Vertical/Horizontal Editor Layout" with default shortcut "Shift+Alt+0 (zero)".


Close graylog section in fluent.conf.erb

Hi Team!
In line 158, we are not closing the graylog section, I tried to create a docker image and it kept failing, pod logs showed that this was not configured properly.
Added  and it helped.
https://github.com/fluent/fluentd-kubernetes-daemonset/blob/80abc0209d013ee6d9b6ed85c41ab4cdcb6b9476/templates/conf/fluent.conf.erb#L158

Could you send a PR?

Looks like #100 should fix this ...

I fix this in #144


INCOMPLETE Chemistry JSON dump tool

This is used for automatically dumping shit for the wiki. I was planning to have it more finished and polished before PRing, but due to life coming up I don't have the energy right now to do so, so instead of holding it captive i'ma just throw it up. I'll keep the branch up to date with master as needed.
If anyone wishes to continue the automated chem page work, contact me on discord and I will be very happy to help.
HOW TO USE:
Simply supply --cvar autogen.destination_file=prototypes.json to the server and it'll spit out chem_prototypes.json and react_prototypes.json, and then promptly crash because you apparently can't exit the server this early.

superseded by #6134


Bug Fixes. and Build script changes

Fixed several crashes
Added new methods from the latest openzwave
Modified build script to build with Visual Studio
there are still some issues with the build script where it doesn't include the dlls in the jar file when building under windows. I wasn't going to create the pull request for that file until' it was complete but github wouldn't allow me to cherry pick commits.

@zgmnkv when will this PR be integrated?

@zgmnkv any news?

@zgmnkv any news on getting this merged??


Setting Up CI with Azure Pipelines

I wanted to open a discussion to look at using Azure Pipelines for the build process for ExpressJS/Express.  I've created an Azure Pipelines build for express. This build will work for both Linux and Windows. I'd be happy to work with you to get this set up for your review, or show you the results from my fork. Here is the PR 3924
It can upload coveralls information for both Linux and Windows. You just need to create a build variable with your coveralls key.  Build time for the entire build (Linux + Windows) was around 8 minutes.

Hey, to keep the conversation consolidated, lets just look at the pr.


fix: missing config in wds widgets

Fixes #31223
Automation
/ok-to-test<EMAIL_ADDRESS>
Summary by CodeRabbit
Summary by CodeRabbit

New Features

Introduced new configuration settings for Table widget, including Anvil configuration, autocomplete definitions, default settings, metadata, methods, and setters.
Added property pane configurations for Table widget panels like Alignment, Basic, BorderAndShadow, Color, Data, DateProperties, DiscardButtonproperties, Events, General, Icon, SaveButtonProperties, Select, TextFormatting, Validation.

Refactor

Restructured imports and configurations within the Table widget to enhance maintainability and organization.

[!IMPORTANT]
Workflow run: https://github.com/appsmithorg/appsmith/actions/runs/8247806573
Commit: 8560cb249bbff59d0ea83505896a590c4f93fc9a
Cypress dashboard url: Click here!
All cypress tests have passed 🎉🎉🎉

/ok-to-test<EMAIL_ADDRESS>

/ok-to-test<EMAIL_ADDRESS>
Seems that in order to run tests with this tag, you need to change description and then remove + add ok-to-test label.

/build-deploy-preview skip-tests=true


Overlapping detected objects need auto-spreading

Description
Detected objects in Rapid are supposed to spread automatically when too close together. This is not happening.
Screenshots

Version
2.4.0-pre.0
What browser are you seeing the problem on? What version are you running?
Firefox v130.0
The OS you're using
mac
Steps to reproduce

Go to https://rapideditor.org/canary#map=21.76/40.65435/-74.52878&background=Bing&datasets=fbRoads,msBuildings&disable_features=boundaries&photo_overlay=mapillary,mapillary-detections
Zoom in and out on https://rapideditor.org/canary#map=22.30/40.65436/-74.52884&background=Bing&datasets=fbRoads,msBuildings&detection=mapillary-detections/469758280758179&disable_features=boundaries&photo=mapillary/766643124021324&photo_overlay=mapillary,mapillary-detections

The browser URL at the time you encountered the bug
https://rapideditor.org/canary#map=22.30/40.65436/-74.52884&background=Bing&datasets=fbRoads,msBuildings&disable_features=boundaries&photo_overlay=mapillary,mapillary-detections
The auto-detected useragent string for your browser (leave blank if you're manually filling this form out)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:130.0) Gecko/20100101 Firefox/130.0

Behavior seems as expected to me in this example. Mapillary could do a better job merging these objects if they are the same utility pole, but that's not an issue for Rapid.


Fix error on form submit when no equipment picked.

Use default/placeholders to prevent the string format from failing on the form submit trigger.

Fixes #145


Use channels for executed command output (channels for data and error)

Add exec cmd output channeling, for data and error
Necessary changes in unit test were made
Update Roadmap in README.md

Related issue: https://github.com/intelsdi-x/snap-plugin-collector-iostat/issues/4

@IzabellaRaulin: #5 refactors on top of this PR so unless there is objection to it we can close this PR.


new issue 16:56

Hi, I have some suggestions to help solving this issue!
Here is a list of similar issues:

1. [Saving to session and access after pipeline](https://github.com/omab/python-social-auth/issues/219)

2. [asdasd](https://github.com/fjsj/python-social-auth/issues/36)

3. [old issue that existed 2](https://github.com/fjsj/python-social-auth/issues/22)

4. [test new issue](https://github.com/fjsj/python-social-auth/issues/30)

5. [old issue that existed](https://github.com/fjsj/python-social-auth/issues/20)

Please let me know if this was useful:

Yes, this was useful
No, this wasn't useful

Cheers,
Cinnabot.
PS: Liked my suggestions? Install me in your repository! Visit: getcinnamon.io.


BH1750 readings are incorrect

I think the readings of a bh1750 sensor are incorrect due to wrong implementation of the sensor.
I cross checked with two sensor modules. Both reported 800 - 3000 lux where other sensors I have report 8 - 12 lux.
Changing the implementation of get_value() in bh1750.py from:
def get_value(self, sens_conf: ConfigType) -> SensorValueType:
       """
       Get the light value from the sensor.
       """
       with self.SMBus(self.bus_num) as bus:
           return float(bus.read_word_data(self.address, ONE_TIME_HIGH_RES_MODE_1)) / 1.2

to:
def get_value(self, sens_conf: ConfigType) -> SensorValueType:
        with self.SMBus(self.bus_num) as bus:
            data = bus.read_i2c_block_data(self.address, ONE_TIME_HIGH_RES_MODE_1, 2)
            result = (data[1] + (256 * data[0])) / 1.2
            return float(result)

fixes this issue for me.
The change was copied from http://raspberrypi.link-tech.de/doku.php?id=bh1750
Sorry I do not know nice code style.

Thanks @Meep0815 ! I've applied the fix and I'll release a new version shortly.


Fixed typos in README.md

There were just a couple of typos in the README that I fixed.
Reasons for making this change:
I noticed two missing words that were not a big deal but should be fixed anyway. The first one could be OK without the change but the second one needs the added "is".

@flowonyx thanks!


[osmanip] Add new port

Describe the pull request

What does your PR fix?
This PR adds port to osmanip.

Which triplets are supported/not supported? Have you updated the CI baseline?
Linux, MacOS, Windows. Yes.

Does your PR follow the maintainer guide?

Yes

If you are still working on the PR, open it as a Draft: https://github.blog/2019-02-14-introducing-draft-pull-requests/

I don't understand why all the workflows fails. I tested the port locally (Ubuntu) and it works.


Fix bug that endpoint-name-grouping.yml can not be customized in docker / helm

Fix bug that endpoint-name-grouping.yml can not be customized in docker

[x] Explain briefly why the bug exists and how to fix it.
The file is packaged into the jar hence there is no chance that it can be overrode by users through volume / config map.

[x] If this pull request closes/resolves/fixes an existing issue, replace the issue number. Closes #. NO
[x] Update the CHANGES log.

Why this causes all CIs fail?

Why this causes all CIs fail?


delete method

There is a set of methods to manipulate data object like set, get, splice, arrayDelete even methods to notify after the change like notifyPath, notifySplices, but there is no method to remove an object/property.
We can set('that.property', undefined) but setting undefined is not the same as delete that.property, what's more this is not a valid JSON value, what hurts when we use data shared with other apps.
I think it would be nice to have such methods, plus it would make the API consistent, as now we can delete array elements, but we cannot remove others.

This is a dupe of #2565


pip install DEPENDNECY ERROR on macOS

Python 2.7.14 :: Anaconda custom (64-bit)
macOS:10.13.3
Using cached grpcio-1.10.0.tar.gz
Requirement already satisfied: six>=1.5.2 in ./anaconda2/lib/python2.7/site-packages (from grpcio)
Requirement already satisfied: protobuf>=3.5.0.post1 in ./anaconda2/lib/python2.7/site-packages (from grpcio)
Requirement already satisfied: futures>=2.2.0 in ./anaconda2/lib/python2.7/site-packages (from grpcio)
Requirement already satisfied: enum34>=1.0.4 in ./anaconda2/lib/python2.7/site-packages (from grpcio)
Requirement already satisfied: setuptools in ./anaconda2/lib/python2.7/site-packages (from protobuf>=3.5.0.post1->grpcio)
Building wheels for collected packages: grpcio
Running setup.py bdist_wheel for grpcio ... error
Complete output from command /Users/wangzhong/anaconda2/bin/python -u -c "import setuptools, tokenize;file='/private/var/folders/fs/1f88vm_12jb9mq7__p0287pc0000gn/T/pip-build-_tMgkI/grpcio/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" bdist_wheel -d /var/folders/fs/1f88vm_12jb9mq7__p0287pc0000gn/T/tmpGBrDmfpip-wheel- --python-tag cp27:
Found cython-generated files...
running bdist_wheel
running build
running build_py
running build_project_metadata
creating python_build
creating python_build/lib.macosx-10.6-x86_64-2.7
creating python_build/lib.macosx-10.6-x86_64-2.7/grpc
copying src/python/grpcio/grpc/_channel.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc
copying src/python/grpcio/grpc/_common.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc
copying src/python/grpcio/grpc/init.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc
copying src/python/grpcio/grpc/_utilities.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc
copying src/python/grpcio/grpc/_plugin_wrapping.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc
copying src/python/grpcio/grpc/_interceptor.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc
copying src/python/grpcio/grpc/_grpcio_metadata.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc
copying src/python/grpcio/grpc/_server.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc
copying src/python/grpcio/grpc/_auth.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc
creating python_build/lib.macosx-10.6-x86_64-2.7/grpc/beta
copying src/python/grpcio/grpc/beta/_server_adaptations.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/beta
copying src/python/grpcio/grpc/beta/interfaces.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/beta
copying src/python/grpcio/grpc/beta/_metadata.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/beta
copying src/python/grpcio/grpc/beta/init.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/beta
copying src/python/grpcio/grpc/beta/utilities.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/beta
copying src/python/grpcio/grpc/beta/implementations.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/beta
copying src/python/grpcio/grpc/beta/_client_adaptations.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/beta
creating python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework
copying src/python/grpcio/grpc/framework/init.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework
creating python_build/lib.macosx-10.6-x86_64-2.7/grpc/_cython
copying src/python/grpcio/grpc/_cython/init.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/_cython
creating python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/foundation
copying src/python/grpcio/grpc/framework/foundation/callable_util.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/foundation
copying src/python/grpcio/grpc/framework/foundation/abandonment.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/foundation
copying src/python/grpcio/grpc/framework/foundation/init.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/foundation
copying src/python/grpcio/grpc/framework/foundation/stream.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/foundation
copying src/python/grpcio/grpc/framework/foundation/stream_util.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/foundation
copying src/python/grpcio/grpc/framework/foundation/future.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/foundation
copying src/python/grpcio/grpc/framework/foundation/logging_pool.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/foundation
creating python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/common
copying src/python/grpcio/grpc/framework/common/style.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/common
copying src/python/grpcio/grpc/framework/common/cardinality.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/common
copying src/python/grpcio/grpc/framework/common/init.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/common
creating python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/interfaces
copying src/python/grpcio/grpc/framework/interfaces/init.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/interfaces
creating python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/interfaces/face
copying src/python/grpcio/grpc/framework/interfaces/face/init.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/interfaces/face
copying src/python/grpcio/grpc/framework/interfaces/face/utilities.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/interfaces/face
copying src/python/grpcio/grpc/framework/interfaces/face/face.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/interfaces/face
creating python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/interfaces/base
copying src/python/grpcio/grpc/framework/interfaces/base/init.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/interfaces/base
copying src/python/grpcio/grpc/framework/interfaces/base/utilities.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/interfaces/base
copying src/python/grpcio/grpc/framework/interfaces/base/base.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/interfaces/base
creating python_build/lib.macosx-10.6-x86_64-2.7/grpc/_cython/_cygrpc
copying src/python/grpcio/grpc/_cython/_cygrpc/init.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/_cython/_cygrpc
creating python_build/lib.macosx-10.6-x86_64-2.7/grpc/_cython/_credentials
copying src/python/grpcio/grpc/_cython/_credentials/roots.pem -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/_cython/_credentials
warning: BuildPy: byte-compiling is disabled, skipping.
running build_ext
[C]       Compiling third_party/cares/cares/ares__close_sockets.c
[C]       Compiling third_party/cares/cares/ares__get_hostent.c
[C]       Compiling third_party/cares/cares/ares__read_line.c
[C]       Compiling third_party/cares/cares/ares__timeval.c
[C]       Compiling third_party/cares/cares/ares_cancel.c
[C]       Compiling third_party/cares/cares/ares_create_query.c
[C]       Compiling third_party/cares/cares/ares_data.c
[C]       Compiling third_party/cares/cares/ares_destroy.c
[C]       Compiling third_party/cares/cares/ares_expand_name.c
[C]       Compiling third_party/cares/cares/ares_expand_string.c
[C]       Compiling third_party/cares/cares/ares_fds.c
[C]       Compiling third_party/cares/cares/ares_free_hostent.c
[C]       Compiling third_party/cares/cares/ares_free_string.c
[C]       Compiling third_party/cares/cares/ares_getenv.c
[C]       Compiling third_party/cares/cares/ares_gethostbyaddr.c
[C]       Compiling third_party/cares/cares/ares_gethostbyname.c
[C]       Compiling third_party/cares/cares/ares_getnameinfo.c
[C]       Compiling third_party/cares/cares/ares_getopt.c
[C]       Compiling third_party/cares/cares/ares_getsock.c
[C]       Compiling third_party/cares/cares/ares_init.c
[C]       Compiling third_party/cares/cares/ares_library_init.c
[C]       Compiling third_party/cares/cares/ares_llist.c
[C]       Compiling third_party/cares/cares/ares_mkquery.c
[C]       Compiling third_party/cares/cares/ares_nowarn.c
[C]       Compiling third_party/cares/cares/ares_options.c
[C]       Compiling third_party/cares/cares/ares_parse_a_reply.c
[C]       Compiling third_party/cares/cares/ares_parse_aaaa_reply.c
[C]       Compiling third_party/cares/cares/ares_parse_mx_reply.c
[C]       Compiling third_party/cares/cares/ares_parse_naptr_reply.c
[C]       Compiling third_party/cares/cares/ares_parse_ns_reply.c
[C]       Compiling third_party/cares/cares/ares_parse_ptr_reply.c
[C]       Compiling third_party/cares/cares/ares_parse_soa_reply.c
[C]       Compiling third_party/cares/cares/ares_parse_srv_reply.c
[C]       Compiling third_party/cares/cares/ares_parse_txt_reply.c
[C]       Compiling third_party/cares/cares/ares_platform.c
[C]       Compiling third_party/cares/cares/ares_process.c
[C]       Compiling third_party/cares/cares/ares_query.c
[C]       Compiling third_party/cares/cares/ares_search.c
[C]       Compiling third_party/cares/cares/ares_send.c
[C]       Compiling third_party/cares/cares/ares_strcasecmp.c
[C]       Compiling third_party/cares/cares/ares_strdup.c
[C]       Compiling third_party/cares/cares/ares_strerror.c
[C]       Compiling third_party/cares/cares/ares_timeout.c
[C]       Compiling third_party/cares/cares/ares_version.c
[C]       Compiling third_party/cares/cares/ares_writev.c
[C]       Compiling third_party/cares/cares/bitncmp.c
[C]       Compiling third_party/cares/cares/inet_net_pton.c
[C]       Compiling third_party/cares/cares/inet_ntop.c
[C]       Compiling third_party/cares/cares/windows_port.c
[AR]      Creating /private/var/folders/fs/1f88vm_12jb9mq7__p0287pc0000gn/T/pip-build-_tMgkI/grpcio/libs/opt/libares.a
[C]       Compiling third_party/zlib/adler32.c
[C]       Compiling third_party/zlib/compress.c
[C]       Compiling third_party/zlib/crc32.c
[C]       Compiling third_party/zlib/deflate.c
[C]       Compiling third_party/zlib/gzclose.c
[C]       Compiling third_party/zlib/gzlib.c
[C]       Compiling third_party/zlib/gzread.c
[C]       Compiling third_party/zlib/gzwrite.c
[C]       Compiling third_party/zlib/infback.c
[C]       Compiling third_party/zlib/inffast.c
[C]       Compiling third_party/zlib/inflate.c
[C]       Compiling third_party/zlib/inftrees.c
[C]       Compiling third_party/zlib/trees.c
[C]       Compiling third_party/zlib/uncompr.c
[C]       Compiling third_party/zlib/zutil.c
[AR]      Creating /private/var/folders/fs/1f88vm_12jb9mq7__p0287pc0000gn/T/pip-build-_tMgkI/grpcio/libs/opt/libz.a
[C]       Compiling src/boringssl/err_data.c
[C]       Compiling third_party/boringssl/crypto/asn1/a_bitstr.c
[C]       Compiling third_party/boringssl/crypto/asn1/a_bool.c
[C]       Compiling third_party/boringssl/crypto/asn1/a_d2i_fp.c
[C]       Compiling third_party/boringssl/crypto/asn1/a_dup.c
[C]       Compiling third_party/boringssl/crypto/asn1/a_enum.c
[C]       Compiling third_party/boringssl/crypto/asn1/a_gentm.c
[C]       Compiling third_party/boringssl/crypto/asn1/a_i2d_fp.c
[C]       Compiling third_party/boringssl/crypto/asn1/a_int.c
[C]       Compiling third_party/boringssl/crypto/asn1/a_mbstr.c
[C]       Compiling third_party/boringssl/crypto/asn1/a_object.c
[C]       Compiling third_party/boringssl/crypto/asn1/a_octet.c
[C]       Compiling third_party/boringssl/crypto/asn1/a_print.c
[C]       Compiling third_party/boringssl/crypto/asn1/a_strnid.c
[C]       Compiling third_party/boringssl/crypto/asn1/a_time.c
[C]       Compiling third_party/boringssl/crypto/asn1/a_type.c
[C]       Compiling third_party/boringssl/crypto/asn1/a_utctm.c
[C]       Compiling third_party/boringssl/crypto/asn1/a_utf8.c
[C]       Compiling third_party/boringssl/crypto/asn1/asn1_lib.c
[C]       Compiling third_party/boringssl/crypto/asn1/asn1_par.c
[C]       Compiling third_party/boringssl/crypto/asn1/asn_pack.c
[C]       Compiling third_party/boringssl/crypto/asn1/f_enum.c
[C]       Compiling third_party/boringssl/crypto/asn1/f_int.c
[C]       Compiling third_party/boringssl/crypto/asn1/f_string.c
[C]       Compiling third_party/boringssl/crypto/asn1/tasn_dec.c
[C]       Compiling third_party/boringssl/crypto/asn1/tasn_enc.c
[C]       Compiling third_party/boringssl/crypto/asn1/tasn_fre.c
[C]       Compiling third_party/boringssl/crypto/asn1/tasn_new.c
[C]       Compiling third_party/boringssl/crypto/asn1/tasn_typ.c
[C]       Compiling third_party/boringssl/crypto/asn1/tasn_utl.c
[C]       Compiling third_party/boringssl/crypto/asn1/time_support.c
[C]       Compiling third_party/boringssl/crypto/base64/base64.c
[C]       Compiling third_party/boringssl/crypto/bio/bio.c
[C]       Compiling third_party/boringssl/crypto/bio/bio_mem.c
[C]       Compiling third_party/boringssl/crypto/bio/connect.c
[C]       Compiling third_party/boringssl/crypto/bio/fd.c
[C]       Compiling third_party/boringssl/crypto/bio/file.c
[C]       Compiling third_party/boringssl/crypto/bio/hexdump.c
[C]       Compiling third_party/boringssl/crypto/bio/pair.c
[C]       Compiling third_party/boringssl/crypto/bio/printf.c
[C]       Compiling third_party/boringssl/crypto/bio/socket.c
[C]       Compiling third_party/boringssl/crypto/bio/socket_helper.c
[C]       Compiling third_party/boringssl/crypto/bn_extra/bn_asn1.c
[C]       Compiling third_party/boringssl/crypto/bn_extra/convert.c
[C]       Compiling third_party/boringssl/crypto/buf/buf.c
[C]       Compiling third_party/boringssl/crypto/bytestring/asn1_compat.c
[C]       Compiling third_party/boringssl/crypto/bytestring/ber.c
[C]       Compiling third_party/boringssl/crypto/bytestring/cbb.c
[C]       Compiling third_party/boringssl/crypto/bytestring/cbs.c
[C]       Compiling third_party/boringssl/crypto/chacha/chacha.c
[C]       Compiling third_party/boringssl/crypto/cipher_extra/cipher_extra.c
[C]       Compiling third_party/boringssl/crypto/cipher_extra/derive_key.c
[C]       Compiling third_party/boringssl/crypto/cipher_extra/e_aesctrhmac.c
[C]       Compiling third_party/boringssl/crypto/cipher_extra/e_aesgcmsiv.c
[C]       Compiling third_party/boringssl/crypto/cipher_extra/e_chacha20poly1305.c
[C]       Compiling third_party/boringssl/crypto/cipher_extra/e_null.c
[C]       Compiling third_party/boringssl/crypto/cipher_extra/e_rc2.c
[C]       Compiling third_party/boringssl/crypto/cipher_extra/e_rc4.c
[C]       Compiling third_party/boringssl/crypto/cipher_extra/e_ssl3.c
[C]       Compiling third_party/boringssl/crypto/cipher_extra/e_tls.c
[C]       Compiling third_party/boringssl/crypto/cipher_extra/tls_cbc.c
[C]       Compiling third_party/boringssl/crypto/cmac/cmac.c
[C]       Compiling third_party/boringssl/crypto/conf/conf.c
[C]       Compiling third_party/boringssl/crypto/cpu-aarch64-linux.c
[C]       Compiling third_party/boringssl/crypto/cpu-arm-linux.c
[C]       Compiling third_party/boringssl/crypto/cpu-arm.c
[C]       Compiling third_party/boringssl/crypto/cpu-intel.c
[C]       Compiling third_party/boringssl/crypto/cpu-ppc64le.c
[C]       Compiling third_party/boringssl/crypto/crypto.c
[C]       Compiling third_party/boringssl/crypto/curve25519/curve25519.c
[C]       Compiling third_party/boringssl/crypto/curve25519/spake25519.c
[C]       Compiling third_party/boringssl/crypto/curve25519/x25519-x86_64.c
[C]       Compiling third_party/boringssl/crypto/dh/check.c
[C]       Compiling third_party/boringssl/crypto/dh/dh.c
[C]       Compiling third_party/boringssl/crypto/dh/dh_asn1.c
[C]       Compiling third_party/boringssl/crypto/dh/params.c
[C]       Compiling third_party/boringssl/crypto/digest_extra/digest_extra.c
[C]       Compiling third_party/boringssl/crypto/dsa/dsa.c
[C]       Compiling third_party/boringssl/crypto/dsa/dsa_asn1.c
[C]       Compiling third_party/boringssl/crypto/ec_extra/ec_asn1.c
[C]       Compiling third_party/boringssl/crypto/ecdh/ecdh.c
[C]       Compiling third_party/boringssl/crypto/ecdsa_extra/ecdsa_asn1.c
[C]       Compiling third_party/boringssl/crypto/engine/engine.c
[C]       Compiling third_party/boringssl/crypto/err/err.c
[C]       Compiling third_party/boringssl/crypto/evp/digestsign.c
[C]       Compiling third_party/boringssl/crypto/evp/evp.c
[C]       Compiling third_party/boringssl/crypto/evp/evp_asn1.c
[C]       Compiling third_party/boringssl/crypto/evp/evp_ctx.c
[C]       Compiling third_party/boringssl/crypto/evp/p_dsa_asn1.c
[C]       Compiling third_party/boringssl/crypto/evp/p_ec.c
[C]       Compiling third_party/boringssl/crypto/evp/p_ec_asn1.c
[C]       Compiling third_party/boringssl/crypto/evp/p_ed25519.c
[C]       Compiling third_party/boringssl/crypto/evp/p_ed25519_asn1.c
[C]       Compiling third_party/boringssl/crypto/evp/p_rsa.c
[C]       Compiling third_party/boringssl/crypto/evp/p_rsa_asn1.c
[C]       Compiling third_party/boringssl/crypto/evp/pbkdf.c
[C]       Compiling third_party/boringssl/crypto/evp/print.c
[C]       Compiling third_party/boringssl/crypto/evp/scrypt.c
[C]       Compiling third_party/boringssl/crypto/evp/sign.c
[C]       Compiling third_party/boringssl/crypto/ex_data.c
[C]       Compiling third_party/boringssl/crypto/fipsmodule/bcm.c
[C]       Compiling third_party/boringssl/crypto/fipsmodule/is_fips.c
[C]       Compiling third_party/boringssl/crypto/hkdf/hkdf.c
[C]       Compiling third_party/boringssl/crypto/lhash/lhash.c
[C]       Compiling third_party/boringssl/crypto/mem.c
[C]       Compiling third_party/boringssl/crypto/obj/obj.c
[C]       Compiling third_party/boringssl/crypto/obj/obj_xref.c
[C]       Compiling third_party/boringssl/crypto/pem/pem_all.c
[C]       Compiling third_party/boringssl/crypto/pem/pem_info.c
[C]       Compiling third_party/boringssl/crypto/pem/pem_lib.c
[C]       Compiling third_party/boringssl/crypto/pem/pem_oth.c
[C]       Compiling third_party/boringssl/crypto/pem/pem_pk8.c
[C]       Compiling third_party/boringssl/crypto/pem/pem_pkey.c
[C]       Compiling third_party/boringssl/crypto/pem/pem_x509.c
[C]       Compiling third_party/boringssl/crypto/pem/pem_xaux.c
[C]       Compiling third_party/boringssl/crypto/pkcs7/pkcs7.c
[C]       Compiling third_party/boringssl/crypto/pkcs7/pkcs7_x509.c
[C]       Compiling third_party/boringssl/crypto/pkcs8/p5_pbev2.c
[C]       Compiling third_party/boringssl/crypto/pkcs8/pkcs8.c
[C]       Compiling third_party/boringssl/crypto/pkcs8/pkcs8_x509.c
[C]       Compiling third_party/boringssl/crypto/poly1305/poly1305.c
[C]       Compiling third_party/boringssl/crypto/poly1305/poly1305_arm.c
[C]       Compiling third_party/boringssl/crypto/poly1305/poly1305_vec.c
[C]       Compiling third_party/boringssl/crypto/pool/pool.c
[C]       Compiling third_party/boringssl/crypto/rand_extra/deterministic.c
[C]       Compiling third_party/boringssl/crypto/rand_extra/forkunsafe.c
[C]       Compiling third_party/boringssl/crypto/rand_extra/fuchsia.c
[C]       Compiling third_party/boringssl/crypto/rand_extra/rand_extra.c
[C]       Compiling third_party/boringssl/crypto/rand_extra/windows.c
[C]       Compiling third_party/boringssl/crypto/rc4/rc4.c
[C]       Compiling third_party/boringssl/crypto/refcount_c11.c
[C]       Compiling third_party/boringssl/crypto/refcount_lock.c
[C]       Compiling third_party/boringssl/crypto/rsa_extra/rsa_asn1.c
[C]       Compiling third_party/boringssl/crypto/stack/stack.c
[C]       Compiling third_party/boringssl/crypto/thread.c
[C]       Compiling third_party/boringssl/crypto/thread_none.c
[C]       Compiling third_party/boringssl/crypto/thread_pthread.c
[C]       Compiling third_party/boringssl/crypto/thread_win.c
[C]       Compiling third_party/boringssl/crypto/x509/a_digest.c
[C]       Compiling third_party/boringssl/crypto/x509/a_sign.c
[C]       Compiling third_party/boringssl/crypto/x509/a_strex.c
[C]       Compiling third_party/boringssl/crypto/x509/a_verify.c
[C]       Compiling third_party/boringssl/crypto/x509/algorithm.c
[C]       Compiling third_party/boringssl/crypto/x509/asn1_gen.c
[C]       Compiling third_party/boringssl/crypto/x509/by_dir.c
[C]       Compiling third_party/boringssl/crypto/x509/by_file.c
[C]       Compiling third_party/boringssl/crypto/x509/i2d_pr.c
[C]       Compiling third_party/boringssl/crypto/x509/rsa_pss.c
[C]       Compiling third_party/boringssl/crypto/x509/t_crl.c
[C]       Compiling third_party/boringssl/crypto/x509/t_req.c
[C]       Compiling third_party/boringssl/crypto/x509/t_x509.c
[C]       Compiling third_party/boringssl/crypto/x509/t_x509a.c
[C]       Compiling third_party/boringssl/crypto/x509/x509.c
[C]       Compiling third_party/boringssl/crypto/x509/x509_att.c
[C]       Compiling third_party/boringssl/crypto/x509/x509_cmp.c
[C]       Compiling third_party/boringssl/crypto/x509/x509_d2.c
[C]       Compiling third_party/boringssl/crypto/x509/x509_def.c
[C]       Compiling third_party/boringssl/crypto/x509/x509_ext.c
[C]       Compiling third_party/boringssl/crypto/x509/x509_lu.c
[C]       Compiling third_party/boringssl/crypto/x509/x509_obj.c
[C]       Compiling third_party/boringssl/crypto/x509/x509_r2x.c
[C]       Compiling third_party/boringssl/crypto/x509/x509_req.c
[C]       Compiling third_party/boringssl/crypto/x509/x509_set.c
[C]       Compiling third_party/boringssl/crypto/x509/x509_trs.c
[C]       Compiling third_party/boringssl/crypto/x509/x509_txt.c
[C]       Compiling third_party/boringssl/crypto/x509/x509_v3.c
[C]       Compiling third_party/boringssl/crypto/x509/x509_vfy.c
[C]       Compiling third_party/boringssl/crypto/x509/x509_vpm.c
[C]       Compiling third_party/boringssl/crypto/x509/x509cset.c
[C]       Compiling third_party/boringssl/crypto/x509/x509name.c
[C]       Compiling third_party/boringssl/crypto/x509/x509rset.c
[C]       Compiling third_party/boringssl/crypto/x509/x509spki.c
[C]       Compiling third_party/boringssl/crypto/x509/x_algor.c
[C]       Compiling third_party/boringssl/crypto/x509/x_all.c
[C]       Compiling third_party/boringssl/crypto/x509/x_attrib.c
[C]       Compiling third_party/boringssl/crypto/x509/x_crl.c
[C]       Compiling third_party/boringssl/crypto/x509/x_exten.c
[C]       Compiling third_party/boringssl/crypto/x509/x_info.c
[C]       Compiling third_party/boringssl/crypto/x509/x_name.c
[C]       Compiling third_party/boringssl/crypto/x509/x_pkey.c
[C]       Compiling third_party/boringssl/crypto/x509/x_pubkey.c
[C]       Compiling third_party/boringssl/crypto/x509/x_req.c
[C]       Compiling third_party/boringssl/crypto/x509/x_sig.c
[C]       Compiling third_party/boringssl/crypto/x509/x_spki.c
[C]       Compiling third_party/boringssl/crypto/x509/x_val.c
[C]       Compiling third_party/boringssl/crypto/x509/x_x509.c
[C]       Compiling third_party/boringssl/crypto/x509/x_x509a.c
[C]       Compiling third_party/boringssl/crypto/x509v3/pcy_cache.c
[C]       Compiling third_party/boringssl/crypto/x509v3/pcy_data.c
[C]       Compiling third_party/boringssl/crypto/x509v3/pcy_lib.c
[C]       Compiling third_party/boringssl/crypto/x509v3/pcy_map.c
[C]       Compiling third_party/boringssl/crypto/x509v3/pcy_node.c
[C]       Compiling third_party/boringssl/crypto/x509v3/pcy_tree.c
[C]       Compiling third_party/boringssl/crypto/x509v3/v3_akey.c
[C]       Compiling third_party/boringssl/crypto/x509v3/v3_akeya.c
[C]       Compiling third_party/boringssl/crypto/x509v3/v3_alt.c
[C]       Compiling third_party/boringssl/crypto/x509v3/v3_bcons.c
[C]       Compiling third_party/boringssl/crypto/x509v3/v3_bitst.c
[C]       Compiling third_party/boringssl/crypto/x509v3/v3_conf.c
[C]       Compiling third_party/boringssl/crypto/x509v3/v3_cpols.c
[C]       Compiling third_party/boringssl/crypto/x509v3/v3_crld.c
[C]       Compiling third_party/boringssl/crypto/x509v3/v3_enum.c
[C]       Compiling third_party/boringssl/crypto/x509v3/v3_extku.c
[C]       Compiling third_party/boringssl/crypto/x509v3/v3_genn.c
[C]       Compiling third_party/boringssl/crypto/x509v3/v3_ia5.c
[C]       Compiling third_party/boringssl/crypto/x509v3/v3_info.c
[C]       Compiling third_party/boringssl/crypto/x509v3/v3_int.c
[C]       Compiling third_party/boringssl/crypto/x509v3/v3_lib.c
[C]       Compiling third_party/boringssl/crypto/x509v3/v3_ncons.c
[C]       Compiling third_party/boringssl/crypto/x509v3/v3_pci.c
[C]       Compiling third_party/boringssl/crypto/x509v3/v3_pcia.c
[C]       Compiling third_party/boringssl/crypto/x509v3/v3_pcons.c
[C]       Compiling third_party/boringssl/crypto/x509v3/v3_pku.c
[C]       Compiling third_party/boringssl/crypto/x509v3/v3_pmaps.c
[C]       Compiling third_party/boringssl/crypto/x509v3/v3_prn.c
[C]       Compiling third_party/boringssl/crypto/x509v3/v3_purp.c
[C]       Compiling third_party/boringssl/crypto/x509v3/v3_skey.c
[C]       Compiling third_party/boringssl/crypto/x509v3/v3_sxnet.c
[C]       Compiling third_party/boringssl/crypto/x509v3/v3_utl.c
[CXX]     Compiling third_party/boringssl/ssl/bio_ssl.cc
[CXX]     Compiling third_party/boringssl/ssl/custom_extensions.cc
[CXX]     Compiling third_party/boringssl/ssl/d1_both.cc
[CXX]     Compiling third_party/boringssl/ssl/d1_lib.cc
[CXX]     Compiling third_party/boringssl/ssl/d1_pkt.cc
[CXX]     Compiling third_party/boringssl/ssl/d1_srtp.cc
[CXX]     Compiling third_party/boringssl/ssl/dtls_method.cc
[CXX]     Compiling third_party/boringssl/ssl/dtls_record.cc
[CXX]     Compiling third_party/boringssl/ssl/handshake.cc
[CXX]     Compiling third_party/boringssl/ssl/handshake_client.cc
[CXX]     Compiling third_party/boringssl/ssl/handshake_server.cc
[CXX]     Compiling third_party/boringssl/ssl/s3_both.cc
[CXX]     Compiling third_party/boringssl/ssl/s3_lib.cc
[CXX]     Compiling third_party/boringssl/ssl/s3_pkt.cc
[CXX]     Compiling third_party/boringssl/ssl/ssl_aead_ctx.cc
[CXX]     Compiling third_party/boringssl/ssl/ssl_asn1.cc
[CXX]     Compiling third_party/boringssl/ssl/ssl_buffer.cc
[CXX]     Compiling third_party/boringssl/ssl/ssl_cert.cc
[CXX]     Compiling third_party/boringssl/ssl/ssl_cipher.cc
[CXX]     Compiling third_party/boringssl/ssl/ssl_file.cc
[CXX]     Compiling third_party/boringssl/ssl/ssl_key_share.cc
[CXX]     Compiling third_party/boringssl/ssl/ssl_lib.cc
[CXX]     Compiling third_party/boringssl/ssl/ssl_privkey.cc
[CXX]     Compiling third_party/boringssl/ssl/ssl_session.cc
[CXX]     Compiling third_party/boringssl/ssl/ssl_stat.cc
[CXX]     Compiling third_party/boringssl/ssl/ssl_transcript.cc
[CXX]     Compiling third_party/boringssl/ssl/ssl_versions.cc
[CXX]     Compiling third_party/boringssl/ssl/ssl_x509.cc
[CXX]     Compiling third_party/boringssl/ssl/t1_enc.cc
[CXX]     Compiling third_party/boringssl/ssl/t1_lib.cc
[CXX]     Compiling third_party/boringssl/ssl/tls13_both.cc
[CXX]     Compiling third_party/boringssl/ssl/tls13_client.cc
[CXX]     Compiling third_party/boringssl/ssl/tls13_enc.cc
[CXX]     Compiling third_party/boringssl/ssl/tls13_server.cc
[CXX]     Compiling third_party/boringssl/ssl/tls_method.cc
[CXX]     Compiling third_party/boringssl/ssl/tls_record.cc
[AR]      Creating /private/var/folders/fs/1f88vm_12jb9mq7__p0287pc0000gn/T/pip-build-_tMgkI/grpcio/libs/opt/libboringssl.a
make: `/private/var/folders/fs/1f88vm_12jb9mq7__p0287pc0000gn/T/pip-build-_tMgkI/grpcio/libs/opt/libares.a' is up to date.

Your system doesn't have one, and either the third_party directory
doesn't have it, or your compiler can't build BoringSSL.
Please consult INSTALL to get more information.
If you need information about why these tests failed, run:
make run_dep_checks

make: Circular /private/var/folders/fs/1f88vm_12jb9mq7__p0287pc0000gn/T/pip-build-_tMgkI/grpcio/libs/opt/libares.a <- /private/var/folders/fs/1f88vm_12jb9mq7__p0287pc0000gn/T/pip-build-_tMgkI/grpcio/libs/opt/libz.a dependency dropped.
make: *** [stop] Error 1
Traceback (most recent call last):
File "", line 1, in
File "/private/var/folders/fs/1f88vm_12jb9mq7__p0287pc0000gn/T/pip-build-_tMgkI/grpcio/setup.py", line 311, in
cmdclass=COMMAND_CLASS,
File "/Users/wangzhong/anaconda2/lib/python2.7/site-packages/setuptools/init.py", line 129, in setup
return distutils.core.setup(**attrs)
File "/Users/wangzhong/anaconda2/lib/python2.7/distutils/core.py", line 151, in setup
dist.run_commands()
File "/Users/wangzhong/anaconda2/lib/python2.7/distutils/dist.py", line 953, in run_commands
self.run_command(cmd)
File "/Users/wangzhong/anaconda2/lib/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/Users/wangzhong/anaconda2/lib/python2.7/site-packages/wheel/bdist_wheel.py", line 204, in run
self.run_command('build')
File "/Users/wangzhong/anaconda2/lib/python2.7/distutils/cmd.py", line 326, in run_command
self.distribution.run_command(command)
File "/Users/wangzhong/anaconda2/lib/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/Users/wangzhong/anaconda2/lib/python2.7/distutils/command/build.py", line 127, in run
self.run_command(cmd_name)
File "/Users/wangzhong/anaconda2/lib/python2.7/distutils/cmd.py", line 326, in run_command
self.distribution.run_command(command)
File "/Users/wangzhong/anaconda2/lib/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/Users/wangzhong/anaconda2/lib/python2.7/site-packages/setuptools/command/build_ext.py", line 78, in run
_build_ext.run(self)
File "/Users/wangzhong/anaconda2/lib/python2.7/site-packages/Cython/Distutils/old_build_ext.py", line 185, in run
_build_ext.build_ext.run(self)
File "/Users/wangzhong/anaconda2/lib/python2.7/distutils/command/build_ext.py", line 340, in run
self.build_extensions()
File "/private/var/folders/fs/1f88vm_12jb9mq7__p0287pc0000gn/T/pip-build-_tMgkI/grpcio/src/python/grpcio/commands.py", line 278, in build_extensions
raise Exception("make command failed!")
Exception: make command failed!

Failed building wheel for grpcio
Running setup.py clean for grpcio
Failed to build grpcio
Installing collected packages: grpcio
Running setup.py install for grpcio ... error
Complete output from command /Users/wangzhong/anaconda2/bin/python -u -c "import setuptools, tokenize;file='/private/var/folders/fs/1f88vm_12jb9mq7__p0287pc0000gn/T/pip-build-_tMgkI/grpcio/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /var/folders/fs/1f88vm_12jb9mq7__p0287pc0000gn/T/pip-D4pFnY-record/install-record.txt --single-version-externally-managed --compile:
Found cython-generated files...
running install
running build
running build_py
running build_project_metadata
creating python_build
creating python_build/lib.macosx-10.6-x86_64-2.7
creating python_build/lib.macosx-10.6-x86_64-2.7/grpc
copying src/python/grpcio/grpc/_channel.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc
copying src/python/grpcio/grpc/_common.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc
copying src/python/grpcio/grpc/init.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc
copying src/python/grpcio/grpc/_utilities.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc
copying src/python/grpcio/grpc/_plugin_wrapping.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc
copying src/python/grpcio/grpc/_interceptor.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc
copying src/python/grpcio/grpc/_grpcio_metadata.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc
copying src/python/grpcio/grpc/_server.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc
copying src/python/grpcio/grpc/_auth.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc
creating python_build/lib.macosx-10.6-x86_64-2.7/grpc/beta
copying src/python/grpcio/grpc/beta/_server_adaptations.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/beta
copying src/python/grpcio/grpc/beta/interfaces.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/beta
copying src/python/grpcio/grpc/beta/_metadata.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/beta
copying src/python/grpcio/grpc/beta/init.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/beta
copying src/python/grpcio/grpc/beta/utilities.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/beta
copying src/python/grpcio/grpc/beta/implementations.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/beta
copying src/python/grpcio/grpc/beta/_client_adaptations.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/beta
creating python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework
copying src/python/grpcio/grpc/framework/init.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework
creating python_build/lib.macosx-10.6-x86_64-2.7/grpc/_cython
copying src/python/grpcio/grpc/_cython/init.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/_cython
creating python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/foundation
copying src/python/grpcio/grpc/framework/foundation/callable_util.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/foundation
copying src/python/grpcio/grpc/framework/foundation/abandonment.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/foundation
copying src/python/grpcio/grpc/framework/foundation/init.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/foundation
copying src/python/grpcio/grpc/framework/foundation/stream.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/foundation
copying src/python/grpcio/grpc/framework/foundation/stream_util.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/foundation
copying src/python/grpcio/grpc/framework/foundation/future.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/foundation
copying src/python/grpcio/grpc/framework/foundation/logging_pool.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/foundation
creating python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/common
copying src/python/grpcio/grpc/framework/common/style.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/common
copying src/python/grpcio/grpc/framework/common/cardinality.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/common
copying src/python/grpcio/grpc/framework/common/init.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/common
creating python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/interfaces
copying src/python/grpcio/grpc/framework/interfaces/init.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/interfaces
creating python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/interfaces/face
copying src/python/grpcio/grpc/framework/interfaces/face/init.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/interfaces/face
copying src/python/grpcio/grpc/framework/interfaces/face/utilities.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/interfaces/face
copying src/python/grpcio/grpc/framework/interfaces/face/face.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/interfaces/face
creating python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/interfaces/base
copying src/python/grpcio/grpc/framework/interfaces/base/init.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/interfaces/base
copying src/python/grpcio/grpc/framework/interfaces/base/utilities.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/interfaces/base
copying src/python/grpcio/grpc/framework/interfaces/base/base.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/framework/interfaces/base
creating python_build/lib.macosx-10.6-x86_64-2.7/grpc/_cython/_cygrpc
copying src/python/grpcio/grpc/_cython/_cygrpc/init.py -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/_cython/_cygrpc
creating python_build/lib.macosx-10.6-x86_64-2.7/grpc/_cython/_credentials
copying src/python/grpcio/grpc/_cython/_credentials/roots.pem -> python_build/lib.macosx-10.6-x86_64-2.7/grpc/_cython/_credentials
warning: BuildPy: byte-compiling is disabled, skipping.
running build_ext
make: `/private/var/folders/fs/1f88vm_12jb9mq7__p0287pc0000gn/T/pip-build-_tMgkI/grpcio/libs/opt/libboringssl.a' is up to date.
make: `/private/var/folders/fs/1f88vm_12jb9mq7__p0287pc0000gn/T/pip-build-_tMgkI/grpcio/libs/opt/libares.a' is up to date.
make: `/private/var/folders/fs/1f88vm_12jb9mq7__p0287pc0000gn/T/pip-build-_tMgkI/grpcio/libs/opt/libgpr.a' is up to date.

DEPENDENCY ERROR

The target you are trying to run requires an OpenSSL implementation.
Your system doesn't have one, and either the third_party directory
doesn't have it, or your compiler can't build BoringSSL.

Please consult INSTALL to get more information.

If you need information about why these tests failed, run:

  make run_dep_checks

make: Circular /private/var/folders/fs/1f88vm_12jb9mq7__p0287pc0000gn/T/pip-build-_tMgkI/grpcio/libs/opt/libares.a <- /private/var/folders/fs/1f88vm_12jb9mq7__p0287pc0000gn/T/pip-build-_tMgkI/grpcio/libs/opt/libz.a dependency dropped.
make: *** [stop] Error 1

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/private/var/folders/fs/1f88vm_12jb9mq7__p0287pc0000gn/T/pip-build-_tMgkI/grpcio/setup.py", line 311, in <module>
    cmdclass=COMMAND_CLASS,
  File "/Users/wangzhong/anaconda2/lib/python2.7/site-packages/setuptools/__init__.py", line 129, in setup
    return distutils.core.setup(**attrs)
  File "/Users/wangzhong/anaconda2/lib/python2.7/distutils/core.py", line 151, in setup
    dist.run_commands()
  File "/Users/wangzhong/anaconda2/lib/python2.7/distutils/dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "/Users/wangzhong/anaconda2/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/Users/wangzhong/anaconda2/lib/python2.7/site-packages/setuptools/command/install.py", line 61, in run
    return orig.install.run(self)
  File "/Users/wangzhong/anaconda2/lib/python2.7/distutils/command/install.py", line 563, in run
    self.run_command('build')
  File "/Users/wangzhong/anaconda2/lib/python2.7/distutils/cmd.py", line 326, in run_command
    self.distribution.run_command(command)
  File "/Users/wangzhong/anaconda2/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/Users/wangzhong/anaconda2/lib/python2.7/distutils/command/build.py", line 127, in run
    self.run_command(cmd_name)
  File "/Users/wangzhong/anaconda2/lib/python2.7/distutils/cmd.py", line 326, in run_command
    self.distribution.run_command(command)
  File "/Users/wangzhong/anaconda2/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/Users/wangzhong/anaconda2/lib/python2.7/site-packages/setuptools/command/build_ext.py", line 78, in run
    _build_ext.run(self)
  File "/Users/wangzhong/anaconda2/lib/python2.7/site-packages/Cython/Distutils/old_build_ext.py", line 185, in run
    _build_ext.build_ext.run(self)
  File "/Users/wangzhong/anaconda2/lib/python2.7/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/private/var/folders/fs/1f88vm_12jb9mq7__p0287pc0000gn/T/pip-build-_tMgkI/grpcio/src/python/grpcio/commands.py", line 278, in build_extensions
    raise Exception("make command failed!")
Exception: make command failed!

----------------------------------------

Command "/Users/wangzhong/anaconda2/bin/python -u -c "import setuptools, tokenize;file='/private/var/folders/fs/1f88vm_12jb9mq7__p0287pc0000gn/T/pip-build-_tMgkI/grpcio/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /var/folders/fs/1f88vm_12jb9mq7__p0287pc0000gn/T/pip-D4pFnY-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/fs/1f88vm_12jb9mq7__p0287pc0000gn/T/pip-build-_tMgkI/grpcio/

This is affecting my team as well.

Currently this makes installing TensorFlow 1.6 for macOS through pip fail.

For some reason our build infrastructure did not generate the macOS binary wheels and thus they were not uploaded to PyPI and pip install is trying to compile from source (which should work if you have all the build dependencies installed, but naturally fails otherwise). I am rebuilding macOS packages specifically now to upload to PyPI.

Should be fixed now. Please retry (ensure pip is not fetching from cache and taking the binary from PyPI).

@hhusum @levi-rs can y'all retry and let me know if it got fixed for you?

@mehrdada Works for me! Thank you for the quick turnaround.

Works for me as well! Good job.

Works for me ! Cool

I'm getting the same while installing https://github.com/firebase/firebase-admin-python fetching 1.10.1 version. Maybe still Mac OS packages for this version are not on PyPI?

Hi, I'm getting the exact same error when I'm trying to fetch grpcio-1.10.1. @mehrdada ?

@francbartoli Looks like it somehow picks up OpenSSL headers on your system installed with brew instead of the shipped BoringSSL. Can you try force installing the binary wheels?
pip install --no-cache-dir --only-binary :all: grpcio==1.10.1

@francbartoli Let's file a new issue with details of your system, version of OS, Python, pip, etc to investigate. The root cause seems unrelated to this one.

@mehrdada It worked for me. I was trying to install dialogflow. I used this
pip install --no-cache-dir --only-binary :all: grpcio>=1.8.2

pip install --no-cache-dir --only-binary :all: grpcio==1.10.1

work for me ,thanks

@mehrdada strange the package seems to be not reachable:
$pip install --no-cache-dir --only-binary :all: grpcio==1.10.1

Collecting grpcio==1.10.1
  Could not find a version that satisfies the requirement grpcio==1.10.1 (from versions: )
No matching distribution found for grpcio==1.10.1

I'm getting the same error. Did you find a fix for this?

@erickertz FYI pip install grpcio works fine for @lidizheng and me on macOS (my Python3 is installed from brew).

@erickertz On what platform/version?

OSX El Captain 10.11.6 . Python 2.7.11 .
If I do pip install grpcio==1.16.0 the same exact error occurs as stated by the OP.

python installed with pyenv

@lidizheng can you try reproducing with pyenv?

Just wanted to add that I was able to get the same setup that @erickertz was trying to run to work with python 2.7.15 installed natively from the macOS installer on python.org.

@mehrdada pyenv with Python 2.7.11 can't reproduce the error...

This is only happening on my OSX machine, btw
On Wed, Oct 24, 2018 at 4:48 PM Lidi Zheng<EMAIL_ADDRESS>wrote:

@mehrdada https://github.com/mehrdada pyenv with Python 2.7.11 can't
reproduce the error...
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/grpc/grpc/issues/14573#issuecomment-432822197, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AGHbGLycTaMcAUgD3XMFGQlW7FmzINxSks5uoNIFgaJpZM4SZf-q
.

@erickertz I'm in 10.13.6. Can you provide the log of pip install -vvv grpcio?

@lidizheng sure:
https://gist.github.com/erickertz/6b04284778bc267b2c1bc38b1755b5d4

@erickertz At here, it shows the problem is that your system might be included your local OpenSSL before building gRPC which uses BoringSSL. It usually happened because of compiler flags being customized somewhere. Can you try to install gRPC in a clean environment? Like
# Use another user to install
sudo pip install -vvv grpcio

# Disable your ~/.profile or ~/.bash_profile or ~/.bashrc
bash --noprofile --norc
$ # Install inside the bash
$ pip install -vvv grpcio

Please note that if issues were closed, we shouldn't reopen them for different problems. This seems like a different problem. Please leave the issue closed and open a new issue instead.

I agree—now that we are confident this is a different issue, I'm closing it. Let's track it on a separate issue.

Same issue
Python 3.5.3 (fdd60ed87e941677e8ea11acf9f1819466521bf2, Jul 30 2018, 08:59:51)
[PyPy 6.0.0 with GCC 4.2.1 Compatible Apple LLVM 9.1.0 (clang-9<IP_ADDRESS>)]```

Log:
b"In file included from src/boringssl/err_data.c:18:
In file included from /opt/local/include/openssl/err.h:115:
/opt/local/include/openssl/e_os2.h:276:11: error: 'OPENSSL_EXPORT' macro redefined [-Werror,-Wmacro-redefined]
#  define OPENSSL_EXPORT extern
          ^
third_party/boringssl/include/openssl/base.h:182:9: note: previous definition is here
#define OPENSSL_EXPORT
        ^
In file included from src/boringssl/err_data.c:18:
In file included from /opt/local/include/openssl/err.h:122:
/opt/local/include/openssl/ossl_typ.h:83:31: error: redefinition of typedef 'ASN1_INTEGER' is a C11 feature [-Werror,-Wtypedef-redefinition]
typedef struct asn1_string_st ASN1_INTEGER;
                              ^
third_party/boringssl/include/openssl/base.h:244:31: note: previous definition is here
typedef struct asn1_string_st ASN1_INTEGER;
                              ^
In file included from src/boringssl/err_data.c:18:
In file included from /opt/local/include/openssl/err.h:122:
/opt/local/include/openssl/ossl_typ.h:84:31: error: redefinition of typedef 'ASN1_ENUMERATED' is a C11 feature [-Werror,-Wtypedef-redefinition]
typedef struct asn1_string_st ASN1_ENUMERATED;
                              ^
third_party/boringssl/include/openssl/base.h:240:31: note: previous definition is here
typedef struct asn1_string_st ASN1_ENUMERATED;
                              ^
In file included from src/boringssl/err_data.c:18:
In file included from /opt/local/include/openssl/err.h:122:
/opt/local/include/openssl/ossl_typ.h:85:31: error: redefinition of typedef 'ASN1_BIT_STRING' is a C11 feature [-Werror,-Wtypedef-redefinition]
typedef struct asn1_string_st ASN1_BIT_STRING;
                              ^
third_party/boringssl/include/openssl/base.h:238:31: note: previous definition is here
typedef struct asn1_string_st ASN1_BIT_STRING;
                              ^
In file included from src/boringssl/err_data.c:18:
In file included from /opt/local/include/openssl/err.h:122:
/opt/local/include/openssl/ossl_typ.h:86:31: error: redefinition of typedef 'ASN1_OCTET_STRING' is a C11 feature [-Werror,-Wtypedef-redefinition]
typedef struct asn1_string_st ASN1_OCTET_STRING;
                              ^
third_party/boringssl/include/openssl/base.h:245:31: note: previous definition is here
typedef struct asn1_string_st ASN1_OCTET_STRING;
                              ^
In file included from src/boringssl/err_data.c:18:
In file included from /opt/local/include/openssl/err.h:122:
/opt/local/include/openssl/ossl_typ.h:87:31: error: redefinition of typedef 'ASN1_PRINTABLESTRING' is a C11 feature [-Werror,-Wtypedef-redefinition]
typedef struct asn1_string_st ASN1_PRINTABLESTRING;
                              ^
third_party/boringssl/include/openssl/base.h:246:31: note: previous definition is here
typedef struct asn1_string_st ASN1_PRINTABLESTRING;
                              ^
In file included from src/boringssl/err_data.c:18:
In file included from /opt/local/include/openssl/err.h:122:
/opt/local/include/openssl/ossl_typ.h:88:31: error: redefinition of typedef 'ASN1_T61STRING' is a C11 feature [-Werror,-Wtypedef-redefinition]
typedef struct asn1_string_st ASN1_T61STRING;
                              ^
third_party/boringssl/include/openssl/base.h:248:31: note: previous definition is here
typedef struct asn1_string_st ASN1_T61STRING;
                              ^
In file included from src/boringssl/err_data.c:18:
In file included from /opt/local/include/openssl/err.h:122:
/opt/local/include/openssl/ossl_typ.h:89:31: error: redefinition of typedef 'ASN1_IA5STRING' is a C11 feature [-Werror,-Wtypedef-redefinition]
typedef struct asn1_string_st ASN1_IA5STRING;
                              ^
third_party/boringssl/include/openssl/base.h:243:31: note: previous definition is here
typedef struct asn1_string_st ASN1_IA5STRING;
                              ^
In file included from src/boringssl/err_data.c:18:
In file included from /opt/local/include/openssl/err.h:122:
/opt/local/include/openssl/ossl_typ.h:90:31: error: redefinition of typedef 'ASN1_GENERALSTRING' is a C11 feature [-Werror,-Wtypedef-redefinition]
typedef struct asn1_string_st ASN1_GENERALSTRING;
                              ^
third_party/boringssl/include/openssl/base.h:242:31: note: previous definition is here
typedef struct asn1_string_st ASN1_GENERALSTRING;
                              ^
In file included from src/boringssl/err_data.c:18:
In file included from /opt/local/include/openssl/err.h:122:
/opt/local/include/openssl/ossl_typ.h:91:31: error: redefinition of typedef 'ASN1_UNIVERSALSTRING' is a C11 feature [-Werror,-Wtypedef-redefinition]
typedef struct asn1_string_st ASN1_UNIVERSALSTRING;
                              ^
third_party/boringssl/include/openssl/base.h:250:31: note: previous definition is here
typedef struct asn1_string_st ASN1_UNIVERSALSTRING;
                              ^
In file included from src/boringssl/err_data.c:18:
In file included from /opt/local/include/openssl/err.h:122:
/opt/local/include/openssl/ossl_typ.h:92:31: error: redefinition of typedef 'ASN1_BMPSTRING' is a C11 feature [-Werror,-Wtypedef-redefinition]
typedef struct asn1_string_st ASN1_BMPSTRING;
                              ^
third_party/boringssl/include/openssl/base.h:239:31: note: previous definition is here
typedef struct asn1_string_st ASN1_BMPSTRING;
                              ^
In file included from src/boringssl/err_data.c:18:
In file included from /opt/local/include/openssl/err.h:122:
/opt/local/include/openssl/ossl_typ.h:93:31: error: redefinition of typedef 'ASN1_UTCTIME' is a C11 feature [-Werror,-Wtypedef-redefinition]
typedef struct asn1_string_st ASN1_UTCTIME;
                              ^
third_party/boringssl/include/openssl/base.h:251:31: note: previous definition is here
typedef struct asn1_string_st ASN1_UTCTIME;
                              ^
In file included from src/boringssl/err_data.c:18:
In file included from /opt/local/include/openssl/err.h:122:
/opt/local/include/openssl/ossl_typ.h:94:31: error: redefinition of typedef 'ASN1_TIME' is a C11 feature [-Werror,-Wtypedef-redefinition]
typedef struct asn1_string_st ASN1_TIME;
                              ^
third_party/boringssl/include/openssl/base.h:249:31: note: previous definition is here
typedef struct asn1_string_st ASN1_TIME;
                              ^
In file included from src/boringssl/err_data.c:18:
In file included from /opt/local/include/openssl/err.h:122:
/opt/local/include/openssl/ossl_typ.h:95:31: error: redefinition of typedef 'ASN1_GENERALIZEDTIME' is a C11 feature [-Werror,-Wtypedef-redefinition]
typedef struct asn1_string_st ASN1_GENERALIZEDTIME;
                              ^
third_party/boringssl/include/openssl/base.h:241:31: note: previous definition is here
typedef struct asn1_string_st ASN1_GENERALIZEDTIME;
                              ^
In file included from src/boringssl/err_data.c:18:
In file included from /opt/local/include/openssl/err.h:122:
/opt/local/include/openssl/ossl_typ.h:96:31: error: redefinition of typedef 'ASN1_VISIBLESTRING' is a C11 feature [-Werror,-Wtypedef-redefinition]
typedef struct asn1_string_st ASN1_VISIBLESTRING;
                              ^
third_party/boringssl/include/openssl/base.h:253:31: note: previous definition is here
typedef struct asn1_string_st ASN1_VISIBLESTRING;
                              ^
In file included from src/boringssl/err_data.c:18:
In file included from /opt/local/include/openssl/err.h:122:
/opt/local/include/openssl/ossl_typ.h:97:31: error: redefinition of typedef 'ASN1_UTF8STRING' is a C11 feature [-Werror,-Wtypedef-redefinition]
typedef struct asn1_string_st ASN1_UTF8STRING;
                              ^
third_party/boringssl/include/openssl/base.h:252:31: note: previous definition is here
typedef struct asn1_string_st ASN1_UTF8STRING;
                              ^
In file included from src/boringssl/err_data.c:18:
In file included from /opt/local/include/openssl/err.h:122:
/opt/local/include/openssl/ossl_typ.h:98:31: error: redefinition of typedef 'ASN1_STRING' is a C11 feature [-Werror,-Wtypedef-redefinition]
typedef struct asn1_string_st ASN1_STRING;
                              ^
third_party/boringssl/include/openssl/base.h:247:31: note: previous definition is here
typedef struct asn1_string_st ASN1_STRING;
                              ^
In file included from src/boringssl/err_data.c:18:
In file included from /opt/local/include/openssl/err.h:122:
/opt/local/include/openssl/ossl_typ.h:99:13: error: redefinition of typedef 'ASN1_BOOLEAN' is a C11 feature [-Werror,-Wtypedef-redefinition]
typedef int ASN1_BOOLEAN;
            ^
third_party/boringssl/include/openssl/base.h:233:13: note: previous definition is here
typedef int ASN1_BOOLEAN;
            ^
In file included from src/boringssl/err_data.c:18:
In file included from /opt/local/include/openssl/err.h:122:
/opt/local/include/openssl/ossl_typ.h:100:13: error: redefinition of typedef 'ASN1_NULL' is a C11 feature [-Werror,-Wtypedef-redefinition]
typedef int ASN1_NULL;
            ^
third_party/boringssl/include/openssl/base.h:234:13: note: previous definition is here
typedef int ASN1_NULL;
            ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make: *** [../pip-install-so7ktzhu/grpcio/objs/opt/src/boringssl/err_data.o] Error 1
"

I agree—now that we are confident this is a different issue, I'm closing it. Let's track it on a separate issue.

Was there a new issus created for this? Seems there are multiple people experiencing the same error. Thanks.

@Mottl @billfeng327 I think I found a workaround for this. The sudo and noprofile suggestions by @lidizheng unfortunately did not work for me. However, installing with sudo, nocache, and pointing directly to the tz did. try like this:
sudo pip install --no-cache-dir --only-binary :all: https://files.pythonhosted.org/packages/be/84/9afa550ae7bfc65a7150f66ecdbf267617a2d584d9f845b4ef7d026a24ad/grpcio-1.16.0.tar.gz
Also note that I completely removed my venv and created a new one before running this. Hope this helps and continues to work.

Thanks. Unfortunately, it doesn't work — the error is the same. As stated above the problem is related to the already installed openssl library.

@Mottl sorry to hear. I did also install boring ssl manually before I ran. Not sure if that allowed it to work for me:
brew install wget brew install cmake mkdir boringssl cd boringssl wget https://boringssl.googlesource.com/boringssl/+archive/master.tar.gz gunzip -c master.tar.gz | tar xopf - mkdir build cd build cmake .. make

The original issue (no macos support for grpc 1.10.1) was initially resolved. Please do stop confounding multiple issues into a single bug report, that'll only create confusion and frustration, and open a new github issue to explain and discuss the new one instead.


[WIP] Add static check

Fixes #155.
This is inspired by googleapis/google-cloud-go.

I'm still hesitant about adding this check. IMO most suggestions from this tool are kind of nitpicking. For example here's a sample output:
$ make staticcheck
staticcheck ./...
config/config.go:179:44: should use make(configmodels.Receivers) instead (S1019)
config/config.go:245:44: should use make(configmodels.Exporters) instead (S1019)
config/config.go:302:46: should use make(configmodels.Processors) instead (S1019)
config/config.go:359:44: should use make(configmodels.Pipelines) instead (S1019)
exporter/exporterhelper/metricshelper_test.go:97:68: should use make([]*metricspb.Metric, 1) instead (S1019)
exporter/exporterhelper/tracehelper_test.go:135:33: should use make([]*tracepb.Span, 2) instead (S1019)
exporter/exporterhelper/tracehelper_test.go:154:60: should use make([]*tracepb.Span, 1) instead (S1019)
exporter/exportertest/nop_exporter_test.go:34:5: don't use Yoda conditions (ST1017)
exporter/exportertest/nop_exporter_test.go:48:5: don't use Yoda conditions (ST1017)
exporter/exportertest/nop_exporter_test.go:61:5: don't use Yoda conditions (ST1017)
exporter/exportertest/nop_exporter_test.go:75:5: don't use Yoda conditions (ST1017)
exporter/exportertest/sink_exporter_test.go:42:5: don't use Yoda conditions (ST1017)
exporter/exportertest/sink_exporter_test.go:63:5: don't use Yoda conditions (ST1017)
exporter/jaegerexporter/jaeger_thrift_http_sender.go:114:20: error strings should not be capitalized (ST1005)
exporter/loggingexporter/logging_exporter_test.go:37:5: don't use Yoda conditions (ST1017)
exporter/loggingexporter/logging_exporter_test.go:53:5: don't use Yoda conditions (ST1017)
exporter/opencensusexporter/opencensus.go:60:2: field counter is unused (U1000)
exporter/prometheusexporter/factory_test.go:44:8: const defaultTestEndPoint is unused (U1000)
exporter/zipkinexporter/zipkin.go:110:35: error strings should not be capitalized (ST1005)
internal/collector/processor/idbatcher/id_batcher.go:70:2: field numBatches is unused (U1000)
internal/collector/processor/idbatcher/id_batcher.go:131:3: the surrounding loop is unconditionally terminated (SA4004)
internal/collector/processor/idbatcher/id_batcher_test.go:99:2: the goroutine calls T.Fatal, which must be called in the same goroutine as the test (SA2002)
internal/collector/processor/idbatcher/id_batcher_test.go:111:5: ineffective break statement. Did you mean to break out of the outer loop? (SA4011)
internal/collector/processor/idbatcher/id_batcher_test.go:157:24: should use make([][]byte, numIds) instead (S1019)
internal/collector/processor/metrics.go:58:3: redundant break statement (S1023)
observability/observabilitytest/observabilitytest.go:93:20: error strings should not be capitalized (ST1005)
observability/observabilitytest/observabilitytest.go:102:22: error strings should not be capitalized (ST1005)
observability/observabilitytest/observabilitytest.go:108:19: error strings should not be capitalized (ST1005)
processor/addattributesprocessor/addattributesprocessor.go:30:33: error strings should not be capitalized (ST1005)
processor/attributekeyprocessor/attributekeyprocessor_test.go:161:34: should use make([]*tracepb.Span, 1) instead (S1019)
processor/attributekeyprocessor/attributekeyprocessor_test.go:165:35: should use make([]*tracepb.Span, 1) instead (S1019)
processor/attributekeyprocessor/config_test.go:30:27: this value of err is never used (SA4006)
processor/attributekeyprocessor/config_test.go:78:27: this value of err is never used (SA4006)
processor/attributekeyprocessor/factory.go:47:43: should use make(map[string]NewKeyProperties) instead (S1019)
processor/nodebatcher/node_batcher.go:75:2: field bucketMu is unused (U1000)
processor/probabilisticsampler/config_test.go:56:27: this value of err is never used (SA4006)
processor/tailsampling/processor.go:72:2: const sourceFormat is unused (U1000)
processor/tailsampling/processor.go:204:49: should use make([]sampling.Decision, lenPolicies) instead (S1019)
processor/tailsampling/processor_test.go:216:29: should use make([][]byte, numIds) instead (S1019)
processor/tailsampling/processor_test.go:244:6: func newTestPolicy is unused (U1000)
receiver/jaegerreceiver/trace_receiver.go:74:2: field agentServer is unused (U1000)
receiver/jaegerreceiver/trace_receiver.go:96:2: const defaultZipkinThriftUDPPort is unused (U1000)
receiver/jaegerreceiver/trace_receiver_test.go:108:8: this value of err is never used (SA4006)
receiver/jaegerreceiver/trace_receiver_test.go:109:2: should check returned error before deferring conn.Close() (SA5001)
receiver/opencensusreceiver/octrace/opencensus.go:157:2: field tes is unused (U1000)
receiver/opencensusreceiver/opencensus.go:79:25: error strings should not be capitalized (ST1005)
receiver/opencensusreceiver/options.go:98:2: redundant return statement (S1023)
receiver/prometheusreceiver/internal/metricsbuilder.go:55:2: field ts is unused (U1000)
receiver/prometheusreceiver/internal/metricsbuilder_test.go:201:3: field processErr is unused (U1000)
receiver/prometheusreceiver/metrics_receiver.go:50:2: field ocaStore is unused (U1000)
receiver/prometheusreceiver/metrics_receiver.go:60:2: var errAlreadyStarted is unused (U1000)
receiver/prometheusreceiver/metrics_receiver.go:61:2: var errNilMetricsReceiverSink is unused (U1000)
receiver/vmmetricsreceiver/metrics_receiver.go:27:2: var errNilMetricsConsumer is unused (U1000)
receiver/zipkinreceiver/trace_receiver.go:341:9: this value of err is never used (SA4006)
receiver/zipkinreceiver/trace_receiver_test.go:128:3: field want is unused (U1000)
service/builder/pipelines_builder_test.go:71:16: this value of err is never used (SA4006)
service/builder/pipelines_builder_test.go:142:13: this value of err is never used (SA4006)
service/builder/receivers_builder_test.go:105:16: this value of err is never used (SA4006)
service/builder/receivers_builder_test.go:106:22: this value of err is never used (SA4006)
service/builder/receivers_builder_test.go:222:16: this value of err is never used (SA4006)
service/builder/receivers_builder_test.go:223:22: this value of err is never used (SA4006)
service/service.go:48:2: field processor is unused (U1000)
service/service.go:49:2: field receivers is unused (U1000)
service/service.go:195:25: func (*Application).shutdownReceivers is unused (U1000)
service/service_test.go:54:2: the goroutine calls T.Fatalf, which must be called in the same goroutine as the test (SA2002)
service/service_test.go:96:30: should use make([]string, numAddresses) instead (S1019)
translator/trace/jaeger/constants.go:38:2: var errNilTraceID is unused (U1000)
translator/trace/jaeger/constants.go:39:2: var errWrongLenTraceID is unused (U1000)
translator/trace/jaeger/constants.go:41:2: var errNilID is unused (U1000)
translator/trace/jaeger/constants.go:42:2: var errWrongLenID is unused (U1000)
translator/trace/jaeger/jaegerthrift_to_protospan_test.go:109:8: const numOfFiles is unused (U1000)
translator/trace/jaeger/protospan_to_jaegerproto.go:458:12: this value of err is never used (SA4006)
translator/trace/jaeger/protospan_to_jaegerproto.go:466:26: error strings should not be capitalized (ST1005)
translator/trace/jaeger/protospan_to_jaegerthrift.go:165:26: error strings should not be capitalized (ST1005)
make: *** [staticcheck] Error 1

The strictcheck tool doesn't provide an auto-fix option. It seems trivial to fix all these errors. However on the other hand Google-Cloud-Go and gRPC-Go both enforces this check.
A few alternatives I can think of here:

Include this check, print the output but don't make it required.
Only check a few rules. See gRPC-Go vet.sh.

WDYT?

Also cc @odeke-em @rghetia.

It may appear annoying at first, especially because you have lots of nitpicks when you run it for the first time. But subsequently there may be fewer errors to fix on incremental changes. Ideally it would have been nice if it also auto corrected. May be there will be such option in future.

I like the idea, I'm just not sure if we should do it before milestone 0.1.0 or not.

IMO this shouldn't be a blocker for v0.1.0 release because it's only affecting code styles rather than functionality.

Agreed: it isn't a blocker, I'm just worried about the churn. That said if the fixes are all small/nit changes than it is fine.

Should all be fixed - PTAL. Hopefully the bug fixing is an one-off effort. In the future new code will conform to the checks.

Codecov Report

Merging #218 into master will increase coverage by 0.04%.
The diff coverage is 78.94%.

@@            Coverage Diff             @@
##           master     #218      +/-   ##
==========================================
+ Coverage   72.43%   72.48%   +0.04%
==========================================
  Files         109      109
  Lines        6305     6301       -4
==========================================
  Hits         4567     4567
+ Misses       1508     1504       -4
  Partials      230      230

Impacted Files
Coverage Δ

...iver/prometheusreceiver/internal/metricsbuilder.go
100% <ø> (ø)
:arrow_up:

receiver/prometheusreceiver/metrics_receiver.go
64.06% <ø> (ø)
:arrow_up:

receiver/jaegerreceiver/trace_receiver.go
77.38% <ø> (ø)
:arrow_up:

receiver/opencensusreceiver/octrace/opencensus.go
71.23% <ø> (ø)
:arrow_up:

internal/collector/processor/metrics.go
0% <ø> (ø)
:arrow_up:

receiver/vmmetricsreceiver/metrics_receiver.go
0% <ø> (ø)
:arrow_up:

processor/nodebatcher/node_batcher.go
93.83% <ø> (ø)
:arrow_up:

...r/addattributesprocessor/addattributesprocessor.go
100% <ø> (ø)
:arrow_up:

service/service.go
69.62% <ø> (+1.51%)
:arrow_up:

exporter/opencensusexporter/opencensus.go
68.51% <ø> (ø)
:arrow_up:

... and 12 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a1ecc6f...28325e4. Read the comment docs.

Should be ready to merge now.


Use tower::Service trait instead of Serve trait?

This library defines a trait named Serve. Every micro-services will implement this.
pub trait Serve<Req> {
    /// Type of response.
    type Resp;

    /// Type of response future.
    type Fut: Future<Output = Self::Resp>;

    /// Extracts a method name from the request.
    fn method(&self, _request: &Req) -> Option<&'static str> {
        None
    }

    /// Responds to a single request.
    fn serve(self, ctx: context::Context, req: Req) -> Self::Fut;
}

But this trait is almost identical to tower::Service
pub trait Service<Request> {
    type Response;
    type Error;
    type Future: Future;
    fn poll_ready(
        &mut self,
        cx: &mut Context<'_>
    ) -> Poll<Result<(), Self::Error>>;
    fn call(&mut self, req: Request) -> Self::Future;
}

If tarpc uses tower::Service instead of its own Serve trait, tarpc will be able to exploit every middlewares provided by tower ecosystem which includes timeout, buffering, rate-limiting, etc. Some of them are reinvented in tarpc I believe.
In my opinion, redesigning tarpc to depend on tower will make this library greater than as of now. Do you have a plan to do this? or is my idea wrong?

Thanks for filling this! Tower is indeed very similar. I do hope to converge at some point, because it would be great to leverage all the excellent work done in the tower ecosystem. It's been awhile since I last looked into it; the poll_ready stuff was a point of contention, but I don't think it should be insurmountable.

I've made my own framework that depends on Tower. Since my concern is only for in-process microservices, it was quite a easy task. https://github.com/akiradeveloper/norpc
I still believe using tower::Service instead of Serve is a good direction for tarpc but I am sorry I will not be a user if it is accomplished.


Add example of file path analysis

The problem
No existing practical example of file path analysis.
Solution provided
An example is added.

Maybe add getting extension and a filename without extension too?

Maybe add getting extension and a filename without extension too?

Actually I only know how to do that crudely with a regex. Is there a method I haven't known about?

I'm not aware about the "filename without extension", so here is this:
my $file-name = "financial.data";
# Convert the string into an IO::Path object
my $path = $file-name.IO;
say $path.absolute;                                 # OUTPUT: «/usr/local/data/financial.data␤»
# Stringify the path's parts:
say $path.dirname;                                  # OUTPUT: «/usr/local/data␤»
say $path.basename;                                 # OUTPUT: «financial.data␤»
say $path.extension;                                # OUTPUT: «data␤»
my $extension-chars = $path.extension.chars + 1;
say $path.basename.substr(0, * - $extension-chars); # OUTPUT: «financial␤»

How about this
my @pieces = $basename.split: /‘.’/;
my $suff = @pieces.pop;
my $stem = @pieces.join(‘.’);

https://docs.raku.org/type/IO::Path#method_extension
On Sat, Aug 13, 2022 at 13:26 Tom Browder @.***> wrote:

How about this
my @pieces https://github.com/pieces = $basename.split: /‘.’/;
my $suff = @pieces.pop;
my $stem = @pieces.join(‘.’);
—
Reply to this email directly, view it on GitHub
https://github.com/Raku/doc/pull/4103#issuecomment-1214193544, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAMIUNLO4CUGRN7GORJETDVY7LEFANCNFSM56NKJOTA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Good, when I first looked at it, it wasn’t obvious to me how to get the name with the extension removed.
Thanks, I’ll try it.

my @pieces = $basename.split: /‘.’/;

My personal grudge with regexes is it's generally advised to avoid them unless you absolutely cannot, for performance reasons, so .substr is far cheaper than a regex.
We can merge the PR with the suggested code, I think, it's a nice addition overall.


Using WithEnvironment after dapr doesn't work

I need to reference an environment variable in Dapr's component configuration file, but after using the following code, I cannot get the variable in the dapr sidecar.
var apiServiceSidecar = builder.AddProject<Projects.AspireApp_ApiService>("apiservice")
    .WithDaprSidecar(new DaprSidecarOptions
    {
        AppId = "apiservice",
        DaprGrpcPort = 50001,
        DaprHttpPort = 3500,
        ResourcesPaths = ["./components"],
    }).WithEnvironment("testtesttesttesttesttesttest", "testvalue");

For example, the secretstores.local.env component in dapr obtains values from environment variables.
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
  name: env-secret-store
spec:
  type: secretstores.local.env
  version: v1

apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
  name: mqtt-pubsub
spec:
  type: pubsub.mqtt3
  version: v1
  metadata:
    - name: url
      secretKeyRef:
        name: testtesttesttesttesttesttest
auth:
  secretStore: env-secret-store

Unable to extract value from testtesttesttesttesttesttest

The WithEnvironment() applies to the project resource and not the sidecar.  That is, WithEnvironment() returns the original project resource builder; the sidecar is not a resource in its own right.  My first thought is that the DaprSidecarOptions should have an Environment property on which to set sidecar-specific variables. This would be similar to how Dapr run files work.
There's an argument that could be made that the sidecar should itself be a resource that is simply referenced by the project resource, in which case it could then use common resource annotations (such as WithEnvironment()).  It wasn't modeled that way originally because of the tight 1:1 relationship between a sidecar and a project.  If it were a resource, the sidecar could be referenced by multiple resources, which would be semantically invalid.

We need to have this functionality and I agree having the SideCar haas a resource will be more consistent. The reason why environment must be supported is to support the https://docs.dapr.io/reference/components-reference/supported-secret-stores/envvar-secret-store/ scenario.


Improve custom plugin support

What is the issue, e.g. map voting, you would like to solve?
In my opinion, custom plugins have 2 problems at the moment.
1. Custom base classes for plugins will always be loaded as a plugin.
This might not cause a problem, but it causes custom plugins to be handled differently from default plugins.
Currently, the default base classes are blacklisted in the plugin loader.
2. Custom plugins have to be placed in a hard-coded location in the repo
This causes git changes and makes updating SquadJS harder.
This also reduces maintainability for both custom and default plugins, if custom plugins are used.
How would you like us to solve this issue?
Problem1: I would like to introduce the file extension .squad.js for plugins. This removes the need for blacklisting other files in the plugin directory.
Problem 2: I would like to make it configurable from where SquadJS is loading the plugins. Furthermore, I would like to allow multiple paths to be configured in order to increase maintainability for both custom and default plugins, if custom plugins are used.
I would like to introduce pluginPaths into the server configuration like this:
{
  "server": {
    "id": 1,
    "host": "xxx.xxx.xxx.xxx",
    "queryPort": 27165,
    "rconPort": 21114,
    "rconPassword": "password",
    "logReaderMode": "tail",
    "logDir": "C:/path/to/squad/log/folder",
    "ftp": {
      "port": 21,
      "user": "FTP Username",
      "password": "FTP Password",
      "useListForSize": false
    },
    "pluginPaths": [
      "squad-server/plugins/",
      "/opt/custom-squadjs-plugins/"
    ]
  }

Both relative and absolute paths should be allowed. Plugins will be loaded in order (starting with index 0), if a plugin already exists it will be replaced. This should be logged accordingly.
Additional Info
I am already working on this.
This relates to #275.

Please see attached PR. Closing as we are not able to proceed with this major change but will keep in mind.


lang/ruby: auto enter inf-ruby when breakpoint detected

This PR add a hook that auto switches to inf-ruby when the compilation buffer matches the inf-ruby-breakpoint-pattern.

Looks good to me. Thanks!


OCaml binary ignores --z3timeout

The current binary release (for Linux 64 bit) ignores the --z3timeout flag and always uses the default value of 5 seconds.

If we're doing a re-release for the course, then this should be high on the priority list.

This actually explains why Simon was always getting failures when testing our stuff no matter how high I was setting the timeout.

@ad-l @nikswamy  Any news about this? make test (seqproperties.fst) fails on my machine because timeouts are ignored.

fixed


Xdebug 2.8 Support

Xdebug just released the latest version (2.8) with support for php 7.4 and loads of bugfixes. Could we update it to the latest version?
https://github.com/xdebug/xdebug/releases/tag/2.8.0

By default latest version is installed (as of now 2.9.x). @bestlong I believe this issue can be closed.


Implement a maximum amount of parallel probes

I had this around for a while but was waiting on #2 as this is build on top of that.
This is a fix for #1

whoa awesome thanks so much!!