inheritence and version overrides

Heads up... I've not yet tracked down all of these issues here but if you classify as such:
class { 'splunk::linux_forwarder':
  splunk_ver = <some non-default value>,
}

you won't get the version specified due to the way the default version is specified in params and set in the implementation class via inheritance. I believe that the use of way inheritance is used in this module may mean there are other similar issues.

This issue hasn't had any updates in nearly 3 years and nothing seems to refer to a remaining problem so I'm going to mark this as closed... if there is still an issue around this please feel free to re-open and add more up to date details.... thanks.


Underline styling stripped

Feed URL: http://blog.nuclearsecrecy.com/feed/atom/
Article: In Memoriam: John Coster-Mullen (1946-2021)
In this article, about ¾ of the way down, the phrase “spectacular and hitherto unseen” is underlined on the website, and the Atom feed includes the HTML code spectacular and hitherto unseen. However, in the article viewer, the style attribute is stripped, leaving only spectacular and hitherto unseen. This removes the underline.

It is there for Local and iCloud accounts. Are you using a syncing service that might be mangling it?

I was using Feedly at the time I encountered this issue. I am now using iCloud and the underline shows up just fine.

Feedly mangles its articles pretty badly. Closing since this isn't a NetNewsWire bug.


Un deprecate the help attribute - to provide support for multiple help option

Hi - We have a scenario, where we would like to provide multiple option for help to our user. Actually, our command has a number of parameters (option + parameter). A good number of these parameters have default value or are read from a separate file. Since the parameters with default values are not very prime for our users to see, so we made those option hidden and introduced an option of "-H, --help-all-args" whose purpose is to unhide the parameters and display entire help.
This was working fine till we did not have any required option/parameter. The moment we added a command with required option/parameter, the command failed in validating required data check.
I tried to use preprocessor API (IParameterPreprocessor) to by pass the validation, but it did not work, as we have subcommands and the preprocessor API exits at top level command.
Can you please provide your input on this. Whether this is achievable in current version, if so, what shall be done to make it work. What we need to do is to unhide the options and invoke usage, if -H is passed as an argument (without any validation).
By the way, when we tried to put usageHelp=true on this new option, then we got a warning stating that multiple help option is configured.
Thanks

Please try adding help = true to the -H option, instead of usageHelp = true.

This works. Wonderful... thanks @remkop .
Only thing to worry about is the deprecated annotation on Option.help.  Do we have any alternate mechanism to a achieve this functionality, without using deprecated APIs.

I should take the deprecation off.
Your use case is exactly why the help attribute is still useful.
Let’s change the title of this ticket and make it about undeprecating the help attribute.

Undeprecating will help us. I have updated the title of this ticket. Thanks


Add new metric tracking Jira due date changes (HTCONDOR-611)

Added a new metric tracking software due date changes in Jira. For now this is restricted to the HTCONDOR and SOFTWARE projects but may expand to others in the future.

@edquist: @markcoatsworth needs this done by the end of the week so you can prioritize this review accordingly


Update IRULES/IAPPS navigation to include icall/tmsh scripts

The current IRULES/IAPPS navigation is great, but would appreciate adding tmsh script and icall script/handler/trigger functionality to that list

pull request #197 submitted as an example of what I'm looking for

features released in v3.10.0 released yesterday


Unions are not supported for mutation return query type?

I'm getting some errors in a case where my schema has a mutation that returns a union (either the created type or validation errors).
Basically I think it would be a nice pattern to make input validation errors a part of my schema for additional type safety :)
Here's some pseudocode example (unfortunately no time to make exact reprod / can't share code from my own project)
schema
type Foo { }
type FooValidationErrors { }
union FooResult = Foo | FooValidationErrors
input FooInput { }

type Mutation {
  createFoo(input: FooInput): FooResult
}

query
mutation createFoo {
  createFoo($input: FooInput) {
    ...on Foo {}
    ...on FooValidationErrors {}
  }
}

error:
Schema.Invalid_type("Type FooResult doesn't have any fields")
Note: I'm not having any problems using this schema with Apollo server and Apollo client. Just with graphql ppx.
Edit: I decided to alter my schema a bit and go with https://github.com/mhallin/graphql_ppx#non-union-variant-conversion

I think the problem is your schema which is not valid. As far as I know, you cannot have empty objects or scalar unions. You have no fields in Foo or FooValidationErrors thus you're not querying any fields in mutation response.
The following example which is almost the same as yours would be valid.
Schema:
type Foo {
  id: String!
  name: String!
}

enum UserValidationError {
  SomeError
}

type UserValidationErrors {
  errors: [SomeError!]!
}

union FooResult = Foo | FooValidationErrors

input FooInput {
  name: String
}

type Mutation {
  createFoo(input: FooInput): FooResult
}

Query:
mutation createFoo($input:  FooInput) {
  createFoo(input: $input) {
    ...on Foo {
       id # at least one field required
    }
    ...on FooValidationErrors {
      errors
    }
  }
}

@elnygren As you mentioned, the best approach would be to use @bsVariants described in https://github.com/mhallin/graphql_ppx#non-union-variant-conversion
Can this issue be closed?

@baransu ah my example was a bit short...

You have no fields in Foo or FooValidationErrors thus you're not querying any fields in mutation response.

This is incorrect, I was just lazy and left them out... (I've fixed this now in the original post).
So in other words: the error happens with a valid schema as I described.

Could you provide example? Error message says: FooResult doesn’t have any fields so I’m curious 🤔


Properties on User/Organization models

Apps should be able to set properties on User/Organization models for later retrieval. Examples include "avatar", which points to the user's profile pic.
To be decided:

Who owns the property? Can any app edit any property?
Can properties be restricted to apps? (In which case, the app should store it locally)
Can properties be hidden from the user?
If there is a permission system for properties such that an app can set one and prevent any other app from editing it, what prevents a rogue app from hijacking the property by setting it before the legit app does? Should properties be pre-registered?
What is the data type of properties? Should they be JSON types?

Deprecating to move property management into apps that need them. Inter-app data sharing can happen using app-specific resources.


Differentiation failing on real function

Description
First off, thank you all for your work on this incredible project!
We are trying to compute the derivative of the potential function below (found in gravitational wave parameter estimation).
We have a complex valued inner product $<\cdot,\cdot> : \mathbb{C}^n \times \mathbb{C}^n \to \mathbb{C}$, and a probability distribution defined by
$$ p(x) = e^{-\frac{1}{2} ||h(x)-d||^2 } $$
where $d\in \mathbb{C}^n$ is a complex valued waveform, $h \in \mathbb{C}^n$ is a complex valued waveform model, and the norm is induced by the inner product in the standard way.
We have a closed form expression for $h$, and have confirmed that the derivatives obtained using JAX (compared with the analytical answer) are in agreement (see code below).
However, we find disagreement when comparing the gradient of the potential $V(x) = - \ln p(x)$ found by JAX and the analytically obtained gradient.
See the following example:
class taylorf2:
    def __init__(self, injection):
        self.injection = injection

        # Frequency grid
        self.frequency = jnp.linspace(10, 1000, num=1000)

        # Constants
        self.m_sun_sec = 1

        # Data
        self.data = self.strain(self.injection, self.frequency)

    def strain(self, x, frequencies):
        time_coalescence = x[0]
        phase_coalescence = x[1]
        chirp_mass = x[2]
        symmetric_mass_ratio = x[3]
        Amplitude = x[4]

        # Redefined for cleaner expression
        f = frequencies
        eta = symmetric_mass_ratio
        Mc = chirp_mass
        phi = phase_coalescence

        expr = (Amplitude * jnp.exp(-1j * (-(jnp.pi/4) + 2 * f * jnp.pi * time_coalescence + (3 * (1 + jnp.pi**(2/3) * ((f * Mc * self.m_sun_sec) / eta**(3/5))**(2/3) * (3715/756 + (55 * eta)/9))) / (128 * jnp.pi**(5/3) * ((f * Mc * self.m_sun_sec) / eta**(3/5))**(5/3) * eta) - phi))) / f**(7/6)

        return expr

    def gradient_strain(self, x, frequencies):
        time_coalescence = x[0]
        phase_coalescence = x[1]
        chirp_mass = x[2]
        symmetric_mass_ratio = x[3]
        Amplitude = x[4]

        # Redefined for cleaner expression
        f = frequencies
        eta = symmetric_mass_ratio
        Mc = chirp_mass
        S = self.strain(x, frequencies)

        expr1 = -2j * f * jnp.pi * S
        expr2 = 1j * S
        expr3 = (5j * S * (252 + jnp.pi**(2/3) * ((f * Mc * self.m_sun_sec) / eta**(3/5))**(2/3) * (743 + 924 * eta))) / (32256 * Mc * jnp.pi**(5/3) * ((f * Mc * self.m_sun_sec) / eta**(3/5))**(5/3) * eta)
        expr4 = -((1j * S * (-743 + 1386 * eta)) / (16128 * f * Mc * self.m_sun_sec * jnp.pi * eta**(7/5)))
        expr5 = S / Amplitude

        return jnp.array([expr1, expr2, expr3, expr4, expr5])

    def inner_product(self, a, b):
        return jnp.sum(a.conjugate() * b, axis=-1).T

    def potential_single(self, x):
        residual = self.strain(x, self.frequency) - self.data
        return 0.5 * self.inner_product(residual, residual).real

    def gradient_potential_single(self, x):
        residual = self.strain(x, self.frequency) - self.data
        gradient_residual = self.gradient_strain(x, self.frequency)
        return self.inner_product(gradient_residual, residual).real

# Instantiate class
injection = jnp.array([0, 0, 30.0, 0.24, 2e-22])
model = taylorf2(injection)

# Get a point to evaluate at
import numpy as np
x = model.injection + np.random.uniform(low=0, high=0.0001, size=5)

# The model and its derivative are calculated correctly
test1 = jax.jacfwd(model.strain)(x, 10)
test2 = model.gradient_strain(x, 10)

print(test1)
print(test2)

test3 = jax.jacrev(model.potential_single)(x)
test4 = model.gradient_potential_single(x)

# Last component agrees, but all others disagree
print(test3)
print(test4)

Any thoughts on what may be causing this behavior?
What jax/jaxlib version are you using?
jax 0.4.13, jaxlib 0.4.12
Which accelerator(s) are you using?
GPU
Additional system info
WSL
NVIDIA GPU info
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.54.04              Driver Version: 536.23       CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 3070 ...    On  | 00000000:01:00.0 Off |                  N/A |
| N/A   46C    P8              13W / 132W |   8011MiB /  8192MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A        29      G   /Xwayland                                 N/A      |
|    0   N/A  N/A      5252      C   /python3.11                               N/A      |
|    0   N/A  N/A     11134      C   /python3.11                               N/A      |
+---------------------------------------------------------------------------------------+

Thanks for the report! It's definitely possible that something in JAX's autodiff machinery is producing incorrect gradients, but my first guess seeing the code would be that your analytical expression is incorrect – it's a relatively complicated expression, and after staring at it for two minutes it's not obvious to me that the gradient is correct (not obvious that it's wrong either). Still, it wouldn't be hard to make a mistake there.
If you think JAX is producing the wrong answer, I'd suggest trying to come up with a reproduction in which it is more straightforward to see and confirm that JAX is producing the wrong value.

Thank you for such a quick reply!
So the method gradient_strain which implements the derivative analytically is confirmed to yield the same result as jax.jacfwd(model.strain). So this portion of the code doesn't have any bugs in it! Its only when we try to differentiate through the inner product that we get bugs. However, this part is very clean.
Since the potential is given by
$$V(x) = \frac{1}{2} Re \lt h(x) - d, h(x) - d \gt$$
and since $d$ is a constant, the gradient has the following form
$$\nabla V(x) = Re \lt \nabla h(x) , h(x) - d \gt$$
And for reference, the inner product is defined as
$$\lt a,b \gt = \sum_i a_i^*b_i$$
If you have any hypotheses on what may be causing this bug I can reply with a more minimal example, but I'm stumped.
NOTE: I got rid of a bunch of fluff in the original code I posted, and the bug remains

I haven't looked into the details, but I just wanted to point out that numerical checking of gradients (to convince yourself that autodiff is doing the right thing) is pretty easy: just compare to finite differences, like $f'(x) \approx \frac{f(x + \epsilon) - f(x)}{\epsilon}$ (along a random direction). That's what the internal tool jax._src.test_util.check_grads does automatically.
(Also I recommend using \langle and \rangle to typeset inner products in TeX!)

One thing that immediately sticks out to me is that you have a 10^22 range in the magnitude of your inputs – it wouldn't be surprising to me if floating point roundoff errors are coming into play with any computation involving numbers at such different scales.

I believe you have the right idea Jake. It appears that changing the scales for the amplitude variable fixes the issue. Specifically, changing
self.PSD = 1e-40 * jnp.ones_like(self.frequency)
injection = jnp.array([0, 0, 30.0, 0.24, 2e-22])

to
self.PSD = jnp.ones_like(self.frequency)
injection = jnp.array([0, 0, 30.0, 0.24, 2])

resolves the issue.
Could you explain why this would be an issue?
Also, would it be possible to have JAX throw a warning in a situation like this?

Could you explain why this would be an issue?
>>> 1.0 + 1E-22 == 1.0
True

Floating point math is only an approximation of real math. 64-bit floating point only can represent about 16 decimal places in a single value; 32-bit can only represent about 8. So if you're doing arithmetic operations involving numbers of very different scales, floating point expressions are likely to lose precision.

Also, would it be possible to have JAX throw a warning in a situation like this?

No, this is just something you have to work with and be aware of when doing floating point operations on all modern systems.

Makes sense! I appreciate the help.


Inject to other components

I would find really useful to be able to add flash messages from other components actions, too.
For example, I'm using https://github.com/aomra015/ember-cli-zero-clipboard and would like to display a flash message when content has been copied to clipboard.
Unfortunately, I was unable to complete your tests/integration/injection-test.js for that case. I didn't find a way to access my dummy-component. Maybe you can help me?

Hi Yannis. Thanks for the PR! I can definitely help with the test suite. Can you re-issue the PR to the develop branch so I can pull it down? (I apologize for not adding that to the contribution docs)

Hi Duncan. Ok, I've just done it… Thanks for considering this.

Great, thanks I'll check out the code ASAP. Closing this PR for now.


Cannot read property 'class' of undefined

I have this error:
Cannot read property 'class' of undefined
I'm only call the function when the page loads:
exports.pageLoaded = function(args)  { 	exports.doScheduleEveryMinute();
 exports.doScheduleEveryMinute = function () {     LocalNotifications.schedule([{       id: 1, 	  class:'0',       title: 'The title',       body: 'The big body. The big body. The big body. The big body. The big body. The big body. The big body. The big body.',       bigTextStyle: true, // Adds an 'expansion arrow' to the notification (Android only)       sound: "customsound",       channel: "My Awesome Channel",       ticker: 'Special ticker text (Android only)',     at: new Date(new Date().getTime() + (10 * 1000)) // 10 seconds from now   }]).then(       function() {         console.log("Notification scheduled");       },       function(error) {         console.log("scheduling error: " + error);       }   )   };
Thanks

Maybe because I use also Nativescript-firebase
because in a new project the plugins works great

TypeError: Cannot read property 'class' of undefined
JS:     at file:///data/data/xxx/files/app/tns_modules/nativescript-local-notifications/local-notifications.js:132:121
I don't have firebase.

Yes
Thank you


Issue with has text condition

There is bug in getting condition for web steps, especially notable at using "has text" web condition.
WebSteps:219 .parseConditionValue
contains
conditionParts.length == 3 ? conditionParts[2] : null;
This behave correctly when using 1 condition like "has attribute " but failing to multi word condition like "has text Is working" returning -> null thus not validating.
Suggested fix concatenating rest of condition into single value.

#45 PR


Verilog globals appended to modules instead of prepended

Version
Yosys 0.46+11 (git sha1 0200a7680, clang++ 14.0.0-1ubuntu1.1 -fPIC -O3)
On which OS did this happen?
Linux
Reproduction Steps
Minimal reproducible example SoC.sv:
typedef struct packed {
	logic y;
	logic x;
} Vec_2_B;

module Gpu (output logic mixed_sync);
endmodule

(* top *)
module Top(output Vec_2_B vga_sync);

	Gpu gpu(vga_sync.x);

endmodule

Build command:
yosys -p 'synth_ecp5 -abc2' SoC.sv

Expected Behavior
The SV file is accepted without any error messages.
Actual Behavior
An assertion fails:
Generating RTLIL representation for module `\Top'.
ERROR: Assert `!source_offset && !id2ast->range_swapped' failed in frontends/ast/genrtlil.cc:1604.

Found an even simpler example, which indicates the issue manifests when using struct fields anywhere:
typedef struct packed {
	logic y;
	logic x;
} Vec_2_B;

(* top *)
module Top;

	Vec_2_B two_dee;
	wire foo = two_dee.x;

endmodule

Another hint: this other example seems to work fine.
(* top *)
module Top;

	typedef struct packed {
		logic y;
		logic x;
	} Vec_2_B;

	Vec_2_B two_dee;
	wire foo = two_dee.x;

endmodule

More hints: dumping the AST for both cases reveals only a single meaningful difference: the placement of the AST_TYPEDEF node inside the AST_MODULE. Note how, when the typedef is inside, it appears in the correct location (before everything else), but when it's outside it gets appended to the module contents.
typedef outside module:
Dumping AST before simplification:
    AST_MODULE <rtl/SoC.sv:7.1-12.10> [0x59dc00d2ad00] str='\Top'
      ATTR \top:
        AST_CONSTANT <rtl/SoC.sv:0.0-0.0> [0x59dc00d2ab90] bits='00000000000000000000000000000001'(32) range=[31:0] int=1 in_param
      AST_WIRE <rtl/SoC.sv:9.10-9.17> [0x59dc00d2b0c0] str='\two_dee' logic
        AST_WIRETYPE <rtl/SoC.sv:0.0-0.0> [0x59dc00d2b1f0] str='\Vec_2_B' in_param
      AST_WIRE <rtl/SoC.sv:10.7-10.10> [0x59dc00d2af90] str='\foo'
      AST_ASSIGN <rtl/SoC.sv:10.7-10.22> [0x59dc00d3b720]
        AST_IDENTIFIER <rtl/SoC.sv:0.0-0.0> [0x59dc00d3b5f0] str='\foo' in_lvalue
        AST_IDENTIFIER <rtl/SoC.sv:10.13-10.22> [0x59dc00d2b340] str='\two_dee.x'
      AST_TYPEDEF <rtl/SoC.sv:0.0-0.0> [0x59dc00d2b970] str='\Vec_2_B'
        AST_STRUCT <rtl/SoC.sv:0.0-0.0> [0x59dc00d2baa0]
          AST_STRUCT_ITEM <rtl/SoC.sv:2.8-2.9> [0x59dc00d2bbf0] str='y' logic
          AST_STRUCT_ITEM <rtl/SoC.sv:3.8-3.9> [0x59dc00d2bd20] str='x' logic
--- END OF AST DUMP ---

typedef inside module:
Dumping AST before simplification:
    AST_MODULE <rtl/SoC.sv:2.1-12.10> [0x61ba626cd9a0] str='\Top'
      ATTR \top:
        AST_CONSTANT <rtl/SoC.sv:0.0-0.0> [0x61ba626cd830] bits='00000000000000000000000000000001'(32) range=[31:0] int=1 in_param
      AST_TYPEDEF <rtl/SoC.sv:0.0-0.0> [0x61ba626fab90] str='\Vec_2_B'
        AST_STRUCT <rtl/SoC.sv:0.0-0.0> [0x61ba626cdaf0]
          AST_STRUCT_ITEM <rtl/SoC.sv:5.9-5.10> [0x61ba626facf0] str='y' logic
          AST_STRUCT_ITEM <rtl/SoC.sv:6.9-6.10> [0x61ba626fae20] str='x' logic
      AST_WIRE <rtl/SoC.sv:9.10-9.17> [0x61ba626fb1f0] str='\two_dee' logic
        AST_WIRETYPE <rtl/SoC.sv:0.0-0.0> [0x61ba626fb340] str='\Vec_2_B' in_param
      AST_WIRE <rtl/SoC.sv:10.7-10.10> [0x61ba626fb0a0] str='\foo'
      AST_ASSIGN <rtl/SoC.sv:10.7-10.22> [0x61ba6270b860]
        AST_IDENTIFIER <rtl/SoC.sv:0.0-0.0> [0x61ba6270b730] str='\foo' in_lvalue
        AST_IDENTIFIER <rtl/SoC.sv:10.13-10.22> [0x61ba626fb4c0] str='\two_dee.x'
--- END OF AST DUMP ---

Tried the obvious thing after seeing both ASTs (getting the global Verilog definitions to be at the beginning of the module definition instead of the end) and it seems to solve not only this particular problem, but apparently any usage of them in general (even if I didn't trigger this particular issue, global typedef structs were unusable before).
So, in frontends/ast/ast.cc:1397, changing:
		// [...]
		if (child->type == AST_MODULE || child->type == AST_INTERFACE)
		{
			for (auto n : design->verilog_globals)
				child->children.push_back(n->clone());
		// [...]

to:
		// [...]
		if (child->type == AST_MODULE || child->type == AST_INTERFACE)
		{
			for (auto n : design->verilog_globals)
				child->children.insert(child->children.begin(), n->clone());
		// [...]

seems to work fine. I'll make a PR for it ASAP, although I don't know whether this fix is just hiding a deeper problem. In any case, that's not a decision for me to take I guess.


fix testName

Pull Request Checklist
Please leverage this checklist as a reminder to address commonly occurring feedback when submitting a pull request to make sure your PR can be reviewed quickly:
See the detailed list in the contributing guide.

[ ] C++ Guidelines
[ ] Doxygen docs
[ ] Unit tests
[ ] No unwanted commits/changes
[ ] Descriptive title/description

[ ] PR is single purpose
[ ] Related issue listed

[ ] Comments in source
[ ] No typos
[ ] Update changelog
[ ] Not work-in-progress
[ ] External references or docs updated
[ ] Self review of PR done
[ ] Any breaking changes?

tests are passing now in live https://dev.azure.com/azure-sdk/internal/_build/results?buildId=3693127&view=results
will trigger the CI only  in order to merge


A pause on translation work

Report a problem with a translation
@bovirus @CMTriX @Vaso73
I dislike doing this, but I need to pause translation work on all the Timthreetwelve projects.
The current method of updating language files is too fragile. This problem is of my own making, and I need to devise a better way to deal with additions and updates.
I honestly appreciate all the effort that everyone has put into the translations.
I have other obligations all day on Thursday, so I'll try to have an update on Friday.
Thank you for your patience and understanding.
Tim
Contribute a translation
No response
If this is a contribution, enter the language name and code
No response
If you wish to have your contribution acknowledged
No response

@bovirus @CMTriX @Vaso73 and anyone else concerned.
To make this a smoother process for everyone involved, it has become necessary to create new procedures.

Each new translation contribution or language file update must be associated with a pull request or a new translation issue.
Only one language file per PR or issue. This will make it easier to deal with merge conflicts if/when they arise.
Before submitting a new translation or an updated language file, the file must be checked using the new Check Language File tool found here. This new tool has two functions. It does file validation in the first tab. File comparison is in the second tab. Language files should be compared to the latest en-US file to check for missing keys.
Missing keys should not be replaced with the en-US version of the key. Doing so will break the comparison process.
Updates to a language file will no longer be added to the bottom of the file. Instead, they will be done in place and comments will be added to the bottom of the language file. Adding updates to the bottom was leading to too many duplicate keys. In addition, making changes in place makes it easier to see exactly what has changed when using a diff tool.
These comments will have a header record that will note when the change was made. Here's an example of how the comments look now.

    <!--  Each change will
    be associated with a comment made below this block.

    Comment Format:
       There will be a header indicating when the change was made (date yyyy/mm/dd and UTC time).
       Modified lines will follow, one comment line per line changed.
        Begin changes on 2023/11/12 @ 20:00 UTC -->
    <!-- * | Updated comments in this file -->
    <!-- * | Moved all items to appropriate sections above -->
    <!-- U | About_Contribute -->
    <!-- U | MsgText_Error_Connecting -->
    <!-- * | About_LimitsToolTipLine has been changed to 2 lines -->
    <!-- D | About_LimitsToolTipLine -->
    <!-- A | About_LimitsToolTipLine1 -->
    <!-- A | About_LimitsToolTipLine2 -->
    <!-- U | MsgText_Error_JsonNull -->
    <!-- U | MsgText_Error_JsonParsing -->
    <!-- U | MsgText_Error_OpeningFile -->
    <!-- U | MsgText_Error_Settings -->
    <!-- U | MsgText_Error_TooManyRequests -->
    <!-- U | MsgText_TooltipNothingToDisplay -->
    <!-- U | SettingsItem_PermLogFileNameTooltip -->
    <!-- * | SettingsItem_PublicInfoProviderTooltip has been changed to 2 lines -->
    <!-- D | SettingsItem_PublicInfoProviderTooltip -->
    <!-- A | SettingsItem_PublicInfoProviderTooltipLine1 -->
    <!-- A | SettingsItem_PublicInfoProviderTooltipLine2 -->
    <!-- End changes on 2023/11/12  -->

Changes to the language file will be noted in the comments. One comment per change.
The comment syntax is <!-- followed by the comment text, ending with -->. Comments must not contain two consecutive dash or hyphen -- characters.

I hope that this is something that current, and future, contributors can live with.  As I said in the original issue "This problem is of my own making". I genuinely hope that nobody is offended by these changes.
With that being said, I have updated all the language files in the Get My IP repository. I removed the
 carriage returns from all language files. Most of the strings that had a carriage return were dealt with in code. There were two instances where one string was converted into two strings. Please check About_LimitsToolTipLine and SettingsItem_PublicInfoProviderTooltip to verify that they appear ok in your language. Also check the strings marked with a U in the comments. Use the new Check Language File tool. 😉
The "pause" has been lifted. Thank you for your patience and understanding.
Tim

I've updated the language files in Get My IP and HWiNFO-VSB-Viewer. I've started in WUView but have not finished. TimVer will be next after WUView.

No problem, i will continue support with translation!


List of languages in alphabetical order

Please make a list of languages in the settings in alphabetical order to make it easier for users to find the desired language.

I've pushed a fix for this in #843

This was fixed in #843 and will be released soon.


8: Finalization and Deployment

[x] Integrate Backend with Frontend:

[ ] Ensure seamless communication between frontend and backend.
[x] Test API calls from frontend components to backend routes.

[x] Deployment:

[x] Deploy the backend on the chosen platform (Render).
[x] Deploy the frontend on Netlify.
[x] Verify the live deployment and test all functionalities.

Made the required changes and successfully deployed on Netlify  https://scrumflow.netlify.app/


Allow Dependabot to be configured to ONLY create PRs for private registry updates

I'd like for Dependabot to ONLY create the following PRs:

All security updates
Updates (major, minor, patch) for dependencies in the mycompany registry.

Given the following logic currently supporting the dependabot.yml file, that does not see possible:

By default all dependencies that are explicitly defined in a manifest or lock file are kept up to date. You can use allow and ignore to customize which dependencies to maintain with version updates. Dependabot checks for all allowed dependencies and then filters out any ignored dependencies or versions. So a dependency that is matched by both an allow and an ignore will be ignored.

I'm thinking that perhaps if allow and ignore had a registries prop, allowing you to allow/ignore dependencies in registries, that would get what I'm looking for. Although, since ignore takes precedence over allow, it would require the ability to reference default (public) registries.  Maybe something like this:
version: 2
registries:
  mycompany:
    type: npm-registry
    url: 'https://npm.pkg.github.com'
updates:
  - package-ecosystem: 'npm'
    directory: '/'
    registries:
      - 'mycompany'
    schedule:
      interval: 'daily'
    ignore:
      - registries: ['public']

This is something we are looking for as well. One use case is if you want to maintain an internal/private repository where all packages are pre-scanned for vulnerabilities, and only scanned packages are available.

We added some more features around this, and now even document specifically how to restrict Dependabot to only access private registries.


chore(.github): bump commitlint and add config

This PR bumps commit-lint GH action to 6.2.0 and adds a custom configuration.
The config resembles the ones we have across the Capsule organization.
In particular we needed to increase the maximum length of the commit body to allow more information especially for dependencies bumpings.

This should unblock the CI for the bump open PRs


chore: release v0.3.0

:robot: I have created a release beep boop
0.3.0 (2024-04-05)
What's Changed

chore(deps): bump tj-actions/changed-files from 43 to 44 by @dependabot in https://github.com/coffeebeats/gdbuild/pull/87
feat(target): implement target exporting by @coffeebeats in https://github.com/coffeebeats/gdbuild/pull/76
chore!: update init docs; bump minor version by @coffeebeats in https://github.com/coffeebeats/gdbuild/pull/89

Full Changelog: https://github.com/coffeebeats/gdbuild/compare/v0.2.5...v0.3.0

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/coffeebeats/gdbuild/releases/tag/v0.3.0 :sunflower:


Torrent details

Show file list, open folder containing downloaded files, open individual files, play/pause individual videos.

This looks so much neater!

:+1: :+1: :+1:


Revert "Revert PR #809 on list_intersect & all" [FEATURE only]

This reverts commit ff5de21b101b3ca16147cbf0d4d741627d0a913a.

This PR re-adds list_intersect & all, should be merged only after the connected PR lands on duckdb's master.

Feature has been merged now


WIP: BasicAuthenticator Tests

These tests don't work yet - need help at some point to fix them.

closing this. feel free to reopen when it works.


[Breaking] Upgrade ember-auto-import to v2

This is built on top of #283 and has two breaking changes:

It explicitly drops Node.js v10 support in package.json's engine property
Upgrades ember-auto-import to v2.

Per ember-auto-import 1.x to 2.x migration guide:

addons that upgrade to ember-auto-import >= 2 will only work in apps that have ember-auto-import >= 2, so they should do their own semver major releases when they upgrade

There is a bunch of wins (especially performance) for apps that update to e-a-i v2 and e-a-i v2 will be a hard requirement for apps to run Ember v4 (which should not be big deal as apps running v2 should be able to use addons running e-a-i v1, but why not).
There is great write up from @buschtoens about this https://twitter.com/buschtoens/status/1449745386571247620

@snewcomer I've done mixin clean up and it appear quite a bunch of tests related to it.
So I'm working on fixing tests and it will take few more days.


Compaction Design

This thread is for presenting the documentation for compaction design/implementation and for related discussion.
We have decided to go with a segmented approach for compaction. For the discussion that led to this decision look at #399.

This is a link to the document. This is a work in progress so please hold off comments until the high level design is completely documented.

The high level design (excluding recovery details) is complete. The next step is to address recovery, elaborate on any message format changes and provide implementation details for the Store

Documentation updated with implementation details.


Set field as first responder

Hello, I was wondering if there was an option to set the text field as the first responder within SwiftUI

Yes, you can. Try this:
import SwiftUI
import iPhoneNumberField

struct ContentView: View {
    @State var text = ""
    @State var isEditing = true

    var body: some View {
        iPhoneNumberField("Phone", text: $text, isEditing: $isEditing)
    }
}


Replace IE10 / IE11 testing link

The "not being supported" link which is found in the notes about IE10 / IE11 points to codepen. Codepen does not support IE11, therefore this link isn't useful to see what is supported by IE11. This commit replaces that link with one that points to glitch.com (I have copied the test script from codepen to glitch.) Glitch's 'view' feature loads the source as is, and will work in IE11. The glitch version can be used to see support in IE11.
Before

and when accepting the warning:

And when trying to view it in 'full' mode:

After

Here is a link to the 'glitch' I made. Maybe that glitch should be owned by someone with authority over caniuse (instead of me)
https://glitch.com/~indexdb-support-test

Thanks! I'm fine with your ownership though I appreciate the concern.


Support ipython directive

Related issue: #91

[x] Tests written and passed
[x] Documentation and changelog entry written, docs build passed
[x] All tox checks passed

@OriolAbril could you review this, and particularly comment on your original regex. It had \s*In\s*[...]\s, so is there a situation where the notebook has multiple (or other) spaces there? I just used ^In [...] .
@mgeier you've been involved with the other IPython stuff, so your review would be most helpful too!

It is missing the ellipsis prefix (used for multiline inputs),  see for example https://github.com/arviz-devs/arviz/blob/4d63ca5d279374ee9b524aa9181a1fd5697a7423/arviz/stats/stats.py#L143.
As for the spaces, I haven't tried but assumed an extra space between the In and the number would work too

This works very well!
... except for a few corner cases ...
I've tried it with this file: https://github.com/ipython/ipython/blob/master/docs/source/sphinxext.rst
There are several errors due to (intentional) syntax errors in the examples.
I think it would be better to use logger.warning() instead of logger.error() for syntax errors, as this would be less disruptive for users.
And there is an unhandled IndentationError when using this example:
.. ipython::
   :verbatim:

   In [15]: !wc *
       2    12    77 README.txt
      40    97   884 buttons.py
      26    90   712 check_buttons.py
      19    52   416 cursor.py
     180   404  4882 menu.py
      16    45   337 multicursor.py
      36   106   916 radio_buttons.py
      48   226  2082 rectangle_selector.py
      43   118  1063 slider_demo.py
      40   124  1088 span_selector.py
     450  1274 12457 total

I think this should also be turned into a Sphinx warning.
Maybe the @print_exceptions decorator could be turned into @turn_exceptions_into_sphinx_warnings or something like this?

Good points! I think we'll add IndentationError to the handler with SyntaxError because it is similar in intent. And I agree that logger.warning could be better there. Just to be sure: you agree that the intentional syntax errors should produce warnings, right? These are more general than this PR though, so I'll make another issue.
I don't want to change the decorator though, because it now only catches unexpected errors to print their stack traces regardless of Sphinx, so that debugging is easier. Any errors should definitely disrupt the build.

Oh, the error happens in transforming the block for parsing! So we'll have to add an error handler there.

Just to be sure: you agree that the intentional syntax errors should produce warnings, right?

Yes.
The problem now is that the location=node thing doesn't seem to work with the new warnings.
We always get line number 1 instead of the correct line number.

Good catch! It seems that the location works fine overall (e.g. .. code:: ipython works), but node.line for whatever the IPython directive inserts is 1. This only happens if :verbatim: is used though, because otherwise IPython itself catches the syntax error. I'm inclined to chuck this onto IPython, since the directive is still in beta!


Save aliases in INSTALL_RECEIPT

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you written new tests for your changes? Here's an example.
[x] Have you successfully run brew tests with your changes locally?

This is part of #567 (but not all of it ⏤ I wanted to PR this bit so that I could get feedback since I haven't worked with this codebase before).
This PR adds an install_name key to INSTALL_RECEIPT. Usually this will just be set to the name of the formula, but if it was installed as an alias, the install_name will be set to the alias instead.
Implementation-wise, I wasn't sure about how best to set the install_name on a Formula instance (which seemed like the only appropriate place to store it). I thought the best way would probably be a keyword argument, but it could also be a standard optional argument, or an attr_accessor. I'm open to suggestions if there's a better way.

Looks like that CI failure isn't anything to do with my changes? I ran brew test-bot just to make sure and everything passed.

Looks like that CI failure isn't anything to do with my changes? I ran brew test-bot locally just to make sure and everything passed.

Yeh, the Travis build has been flaky this weekend. The default is the main one we care about.

Some comments on this but liking where this is going so far and nice work creating this PR!

Nice work today ✨

A couple more tiny nits but I ❤ how this is looking and when you're testing is 🆗 then I'd be happy to merge this.

I've updated the PR based on your feedback, @MikeMcQuaid.
It also looked to me like putting data into a Tab isn't actually tested anywhere, so I added test_create and test_for_formula to make sure the source.path is set correctly in both places. I could expand this to test all of the Tab attributes if you're interested?

@penman This is looking great 👏. How's your testing going? When you consider this ready to 🚢 give me what you've been using for testing and I'll try my own too and, if it all looks good, we 🚢 this thing!

I could expand this to test all of the Tab attributes if you're interested?

Always interested in more tests! Feel free to make that a future PR, though, to avoid blocking this one.

@MikeMcQuaid I'm skeptical of that test failure. I'm not sure how this change could break cask cleanup, and I can't reproduce it locally. Is it something you've seen before?

@penman Yeh, ignore it, it's flaky.

@reitermarkus Looks like this spec isn't entirely consistent. Mind taking a look?

@MikeMcQuaid In that case, I think this is ready.
Mostly, what I've been doing to test is installing the_silver_searcher, checking the INSTALL_RECEIPT has source.path set to the path to the formula, then uninstalling and installing it with ag (an alias for the_silver_searcher) and checking source.path is set to the path to the alias. I've tried a similar thing with a few other formulae with aliases, and it seems to be working. I've also installed some formulae with no aliases and that's been working too.
Nothing has come up in my general usage of Homebrew, either.
I'm curious to see what you test, though, because I'm sure there are paths I haven't thought of where something might have gone wrong, or maybe there are parts of Homebrew that are generally tricky when things change that I'm not aware of.

Looks good to me in local testing. Nice work!

Rerunning CI then will merge.

@jawshooah @reitermarkus Going to need to remove that spec soon; it's making it pretty hard to get consistently green Homebrew builds.


Does 0 always stand for positive example after using StringIndexer ?

In every iterator, you use StringIndexer to rebuild label index and call method of getPOne to get positive sample probability. But, 0 always stands for the  most frequent label after StringIndexer  . Maybe I misunderstand somewhere?

Many thanks for noticing! Yes, it is indeed a bug. It was unnoticed previously due to the nature of positive-unlabeled learning, namely the fact that usually there are more negative than positive instances, but no doubt that we can't rely on this.
I fixed the bug.


Add global.global to "node" environment

This fixes code that tests global.global === global to check if it is running in Node, [as RxJS 5 does] (https://github.com/ReactiveX/rxjs/blob/3793e4768dd2655300b67a82be9b30c4c065bac1/src/util/root.ts#L28).

Thank you for your pull request and welcome to our community. We require contributors to sign our Contributor License Agreement, and we don't seem to have you on file. In order for us to review and merge your code, please sign up at https://code.facebook.com/cla - and if you have received this in error or have any questions, please drop us a line at<EMAIL_ADDRESS>Thanks!

Thank you for signing our Contributor License Agreement. We can now accept your code for this (and any) Facebook open source project. Thanks!

Thank you! This is great.


Any way to get debug data?

Is there any way that I can get debug data(log, printf or any other way) out of HITL so I can graph it in real time?
Thanks!

No such functionality is available, you have to implement it yourself.

Ok, I might not understand your original question correctly and debug[8] is what you actually need.
There is an array of 8 debug variables in inav int32_t debug[8] https://github.com/iNavFlight/inav/blob/ee747d66715b4bc9702c49c8b4c4b122cca4f68d/src/main/build/debug.h#L24
They can be written to blackbox, visualized in inav configurator in Sensors tab, or drawn on graph in HITL.
They can be used to debug various systems by setting debug_modes in cli or to output debug values in custom inav build.
Just assign debug[0] in inav custom built and value will be shown in HITL https://github.com/RomanLut/INAV-X-Plane-HITL/blob/main/doc/development.md#plugin-data-ref-editor-show-datarefs


WARNING [547852988432] (ds5-factory.cpp:1123) DS5 group_devices is empty.

Required Info

Camera Model
{ D435i }

Firmware Version
(05.12.09)

Operating System & Version
Linux (Ubuntu 18.04.5)

Kernel Version (Linux Only)
(4.9.14)

Platform
NVIDIA Jetson NANO

SDK Version
2.0

Segment
{Robot}

Issue Description
<My Intel realsense D435i doesn't work with Jetson NANO but it can work with my laptop(window) just fine>
Note: - USB type description: 3.2
-I already install librealsense
Here's the log when i ran the command realsense-viewer
jsnn@jsnn:~/librealsense$ realsense-viewer  04/01 14:29:51,540 WARNING [547852988432] (ds5-factory.cpp:1123) DS5 group_devices is empty.  04/01 14:29:52,178 WARNING [547852988432] (ds5-factory.cpp:1123) DS5 group_devices is empty.  04/01 14:29:52,396 WARNING [547852988432] (ds5-factory.cpp:1123) DS5 group_devices is empty.  04/01 14:29:52,613 WARNING [547852988432] (ds5-factory.cpp:1123) DS5 group_devices is empty.  04/01 14:29:52,828 WARNING [547852988432] (ds5-factory.cpp:1123) DS5 group_devices is empty.  04/01 14:29:53,046 WARNING [547852988432] (ds5-factory.cpp:1123) DS5 group_devices is empty.  04/01 14:29:53,263 WARNING [547852988432] (ds5-factory.cpp:1123) DS5 group_devices is empty.  04/01 14:29:53,479 WARNING [547852988432] (ds5-factory.cpp:1123) DS5 group_devices is empty.
Any help would be appreciated!
P.S. I want to apply D435i for my robot's SLAM

Hi @punchnami   This is an issue that is probably related to your librealsense installation.   I would recommend starting with a fresh installation of librealsense o your Jetson.
One RealSense user who had this particuar error solved it by using the Nano guide on the JetsonHacks website:
https://www.jetsonhacks.com/2019/12/22/install-realsense-camera-in-5-minutes-jetson-nano/
Another installation guide that has also worked consistently for Nano users is the one detailed in the link below for building librealsense and the Python wrapper together from source code with the RSUSB method:
https://github.com/IntelRealSense/librealsense/issues/7905#issuecomment-737544294

Hi @punchnami   This is an issue that is probably related to your librealsense installation.   I would recommend starting with a fresh installation of librealsense o your Jetson.
One RealSense user who had this particuar error solved it by using the Nano guide on the JetsonHacks website:
https://www.jetsonhacks.com/2019/12/22/install-realsense-camera-in-5-minutes-jetson-nano/
Another installation guide that has also worked consistently for Nano users is the one detailed in the link below for building librealsense and the Python wrapper together from source code with the RSUSB method:
https://github.com/IntelRealSense/librealsense/issues/7905#issuecomment-737544294

Thank you for your help @MartyG-RealSense !
The first one using the Nano guide still giving the same error even though I freshly installed it. I tried the second method and received the following error:
`jsnn@jsnn:~$ python3
Python 3.6.9 (default, Oct  8 2020, 12:12:24)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

import pyrealsense as rs
Traceback (most recent call last):
File "", line 1, in
ModuleNotFoundError: No module named 'pyrealsense'
import pyrealsense2 as rs
pipe = rs.pipeline()
profile = pipe.start()
Traceback (most recent call last):
File "", line 1, in
RuntimeError: No device connected
`

I did connect my D435i with Jetson Nano, is there other ways? This is my usb log
jsnn@jsnn:~$ lsusb Bus 002 Device 003: ID 8086:0b3a Intel Corp.  Bus 002 Device 002: ID 0bda:0411 Realtek Semiconductor Corp.  Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 003: ID 8087:0a2b Intel Corp.  Bus 001 Device 005: ID 2a7a:6a18   Bus 001 Device 004: ID 046d:c534 Logitech, Inc. Unifying Receiver Bus 001 Device 002: ID 0bda:5411 Realtek Semiconductor Corp.  Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Thank you in advance :)

Thank you for your help @MartyG-RealSense !
The first one using the Nano guide still giving the same error even though I freshly installed it. I tried the second method and received the following error:
`jsnn@jsnn:~$ python3
Python 3.6.9 (default, Oct  8 2020, 12:12:24)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

import pyrealsense as rs
Traceback (most recent call last):
File "", line 1, in
ModuleNotFoundError: No module named 'pyrealsense'
import pyrealsense2 as rs
pipe = rs.pipeline()
profile = pipe.start()
Traceback (most recent call last):
File "", line 1, in
RuntimeError: No device connected
`

I did connect my D435i with Jetson Nano, is there other ways? This is my usb log
jsnn@jsnn:~$ lsusb Bus 002 Device 003: ID 8086:0b3a Intel Corp.  Bus 002 Device 002: ID 0bda:0411 Realtek Semiconductor Corp.  Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 003: ID 8087:0a2b Intel Corp.  Bus 001 Device 005: ID 2a7a:6a18   Bus 001 Device 004: ID 046d:c534 Logitech, Inc. Unifying Receiver Bus 001 Device 002: ID 0bda:5411 Realtek Semiconductor Corp.  Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Thank you in advance :)

The official Intel guide for RealSense installation on Jetson is in the link below.   It is not specifically for Nano but has been tested with it, and I have tested it successfully on a Nano myself today.
https://github.com/IntelRealSense/librealsense/blob/master/doc/installation_jetson.md

The official Intel guide for RealSense installation on Jetson is in the link below.   It is not specifically for Nano but has been tested with it, and I have tested it successfully on a Nano myself today.
https://github.com/IntelRealSense/librealsense/blob/master/doc/installation_jetson.md

Thank you @MartyG-RealSense , I will check this method out.

Thank you @MartyG-RealSense , I will check this method out.

@MartyG-RealSense
I'm getting the error E: Unable to locate package librealsense2-dkms  while installing the Debian Package with the commadn sudo apt-get install librealsense2-dkms according to this installation guide  https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md#installing-the-packages.
Thank you for your help!

@MartyG-RealSense
I'm getting the error E: Unable to locate package librealsense2-dkms  while installing the Debian Package with the commadn sudo apt-get install librealsense2-dkms according to this installation guide  https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md#installing-the-packages.
Thank you for your help!

Hi @punchnami   The package installation method in the above link will not work on devices with an Arm processor chip such as Jetson, as it is meant for x86 /x64 processors like those in desktop and laptop PCs.  Jetson has its own package installation method:
https://github.com/IntelRealSense/librealsense/blob/master/doc/installation_jetson.md

Hi @punchnami   The package installation method in the above link will not work on devices with an Arm processor chip such as Jetson, as it is meant for x86 /x64 processors like those in desktop and laptop PCs.  Jetson has its own package installation method:
https://github.com/IntelRealSense/librealsense/blob/master/doc/installation_jetson.md

Thank you for your reply @MartyG-RealSense , I was a bit confuse. To install the debian package, I have to follow the Building from Source using RSUSB Backend installation guide from the link you provided, right?

Thank you for your reply @MartyG-RealSense , I was a bit confuse. To install the debian package, I have to follow the Building from Source using RSUSB Backend installation guide from the link you provided, right?

The two most common methods of installing librealsense are to install from packages or build it from source code.  They are two very different methods.  The RSUSB method builds from source code and does not involve packages.

The two most common methods of installing librealsense are to install from packages or build it from source code.  They are two very different methods.  The RSUSB method builds from source code and does not involve packages.

Thank you so much for your helps @MartyG-RealSense !!! I deleted all my previous installation and installed librealsense again by build it from source code and I'm able to run realsense-viewer this time! It works!

Thank you so much for your helps @MartyG-RealSense !!! I deleted all my previous installation and installed librealsense again by build it from source code and I'm able to run realsense-viewer this time! It works!

Excellent news that you got it working @punchnami - thanks very much for the update!

Excellent news that you got it working @punchnami - thanks very much for the update!


Error compiling SDK on Apple Silicon

Required Info

Camera Model
{ D400}

Firmware Version
(Open RealSense Viewer --> Click info)

Operating System & Version
{MacOS

Platform
Apple Silicon

SDK Version
{ legacy / 2.<41>.<0> }

Language
{C }

Segment
{others }

Issue Description
Error compiling SDK in Apple Silicon
make -j2
In file included from /Users/hehengxiang/Movies/software/librealsense/src/proc/color-formats-converter.cpp:31:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/cpuid.h:11:2: error:
this header is for x86 only
#error this header is for x86 only
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/cpuid.h:271:5: error:
invalid output constraint '=a' in asm
__cpuid(__leaf, __eax, __ebx, __ecx, __edx);
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/cpuid.h:236:11: note:
expanded from macro '__cpuid'
: "=a"(__eax), "=r" (__ebx), "=c"(__ecx), "=d"(__edx)
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/cpuid.h:286:5: error:
invalid output constraint '=a' in asm
__cpuid(__leaf, *__eax, *__ebx, *__ecx, *__edx);
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/cpuid.h:236:11: note:
expanded from macro '__cpuid'
: "=a"(__eax), "=r" (__ebx), "=c"(__ecx), "=d"(__edx)
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/cpuid.h:300:5: error:
invalid output constraint '=a' in asm
__cpuid_count(__leaf, __subleaf, *__eax, *__ebx, *__ecx, *__edx);
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/cpuid.h:243:11: note:
expanded from macro '__cpuid_count'
: "=a"(__eax), "=r" (__ebx), "=c"(__ecx), "=d"(__edx)
^
/Users/hehengxiang/Movies/software/librealsense/src/proc/color-formats-converter.cpp:33:5: error: invalid output constraint
'=a' in asm
__cpuid_count(info_type, 0, info[0], info[1], info[2], info[3]);
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/include/cpuid.h:243:11: note:
expanded from macro '__cpuid_count'
: "=a"(__eax), "=r" (__ebx), "=c"(__ecx), "=d"(__edx)
^
[ 63%] Building CXX object CMakeFiles/realsense2.dir/src/proc/depth-formats-converter.cpp.o
5 errors generated.
make[2]: *** [CMakeFiles/realsense2.dir/src/proc/color-formats-converter.cpp.o] Error 1

Hi @hehengxiang0   The link below leads to a discussion where somebody else had a similar problem in December 2020 with installing librealsense on a new M1 processor based Mac.
http://<IP_ADDRESS>/65154758/intel-real-sense-d435-use-on-m1-mac
It is likely that librealsense has not been tested on an M1 Mac at the time of writing this due to the newness of the technology.  I will therefore seek advice on the subject from Intel.   Thanks for your patience!

Hi again @hehengxiang0   Intel responded that they will look into it.

Hi again @hehengxiang0 Intel responded that they will look into it.

Thank you！
Waiting for your good news～

Hi again @hehengxiang0 Intel responded that they will look into it.

Thank you！
Waiting for your good news～

I have compiled the library for Apple Silicon by adding "|| defined(aarch64)" to the line before "bool has_avx() { return false; }":
#if defined (ANDROID) || (defined (__linux__) && !defined (__x86_64__)) || defined(__aarch64__)

bool has_avx() { return false; }

And the library appears to be working properly in my code.

Thanks very much @dyamized for sharing the method that worked for you!   I will pass your information to Intel.

I have compiled the library for Apple Silicon by adding || defined(__aarch64__) to the line before "bool has_avx() { return false; }":
#if defined (ANDROID) || (defined (__linux__) && !defined (__x86_64__)) || defined(__aarch64__)

bool has_avx() { return false; }

And the library appears to be working properly in my code.

hi, may I ask where (which file?) can I find and modify this?
I am using macOS BigSure 11.1 with Xcode 12.4(installed via appstore) and Apple clang version 12.0.0.
I have followed instruction on https://github.com/IntelRealSense/librealsense/blob/master/doc/installation_osx.md
with extra steps (sudo chown -R $(whoami) /usr/local/  to get vulkan-sdk properly installed,
git clone https://github.com/IntelRealSense/librealsense.git and cd librealsense...etc
now I am stocking on the last procedure of step 4:
cmake .. -DBUILD_EXAMPLES=true -DBUILD_WITH_OPENMP=false -DHWM_OVER_XU=false
at beginning cmake returned pthread.h  not found error, I tried adding extra sets in CMakeLists.txt as instructed from #8250

set(CMAKE_THREAD_LIBS_INIT "-lpthread")
set(CMAKE_HAVE_THREADS_LIBRARY 1)
set(CMAKE_USE_WIN32_THREADS_INIT 0)
set(CMAKE_USE_PTHREADS_INIT 1)
set(THREADS_PREFER_PTHREAD_FLAG ON)

and now I am getting these errors from cmake :
CMake Error at /opt/homebrew/Cellar/cmake/3.20.1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find Threads (missing: Threads_FOUND)
Call Stack (most recent call first):
/opt/homebrew/Cellar/cmake/3.20.1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
/opt/homebrew/Cellar/cmake/3.20.1/share/cmake/Modules/FindThreads.cmake:238 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
examples/measure/CMakeLists.txt:9 (find_package)
-- Configuring incomplete, errors occurred!
See also "/users/Rezo/librealsense/build/CMakeFiles/CMakeOutput.log".
See also "/users/Rezo/librealsense/build/CMakeFiles/CMakeError.log".
CMakeError.log reads

Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed.
Compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
Build flags:
Id flags:
The output was:
1
ld: library not found for -lc++
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
Compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
Build flags:
Id flags:
The output was:
1
ld: library not found for -lSystem
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Determining if the include file pthread.h exists failed with the following output:
Change Dir: /users/Rezo/librealsense/build/CMakeFiles/CMakeTmp
Run Build Command(s):/usr/bin/make -f Makefile cmTC_3597a/fast && /Applications/Xcode.app/Contents/Developer/usr/bin/make  -f CMakeFiles/cmTC_3597a.dir/build.make CMakeFiles/cmTC_3597a.dir/build
Building C object CMakeFiles/cmTC_3597a.dir/CheckIncludeFile.c.o
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc   -pedantic -g -D_DEFAULT_SOURCE   -mfpu=neon -mfloat-abi=hard -ftree-vectorize -latomic -pthread  -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk -fPIE -MD -MT CMakeFiles/cmTC_3597a.dir/CheckIncludeFile.c.o -MF CMakeFiles/cmTC_3597a.dir/CheckIncludeFile.c.o.d -o CMakeFiles/cmTC_3597a.dir/CheckIncludeFile.c.o -c /users/Rezo/librealsense/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c
clang: warning: -latomic: 'linker' input unused [-Wunused-command-line-argument]
clang: warning: argument unused during compilation: '-mfpu=neon' [-Wunused-command-line-argument]
clang: warning: argument unused during compilation: '-mfloat-abi=hard' [-Wunused-command-line-argument]
Linking C executable cmTC_3597a
/opt/homebrew/Cellar/cmake/3.20.1/bin/cmake -E cmake_link_script CMakeFiles/cmTC_3597a.dir/link.txt --verbose=1
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc    -pedantic -g -D_DEFAULT_SOURCE   -mfpu=neon -mfloat-abi=hard -ftree-vectorize -latomic -pthread  -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names CMakeFiles/cmTC_3597a.dir/CheckIncludeFile.c.o -o cmTC_3597a
ld: library not found for -latomic
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [cmTC_3597a] Error 1
make: *** [cmTC_3597a/fast] Error 2

I am wondering if it is missing the  -lc++ and -lSystem
I have tried to port install ld64-xcode and the problem still persists.
Thanks in advance for anyone helping.

I didn't try to install Vulkan.
I was following the simpler instructions here:
https://dev.intelrealsense.com/docs/macos-installation-for-intel-realsense-sdk
The file I changed is the original one listed in the bug report with the
error: librealsense/src/proc/color-formats-converter.cpp
On Sun, Apr 25, 2021 at 11:22 AM RezoGreywords @.***>
wrote:

I have compiled the library for Apple Silicon by adding ||
defined(aarch64) to the line before "bool has_avx() { return false;
}":
#if defined (ANDROID) || (defined (linux) && !defined (x86_64)) || defined(aarch64)
bool has_avx() { return false; }
And the library appears to be working properly in my code.
hi, may I ask where (which file?) can I find and modify this?
I am using macOS BigSure 11.1 with Xcode 12.4(installed via appstore) and
Apple clang version 12.0.0.
I have followed instruction on
https://github.com/IntelRealSense/librealsense/blob/master/doc/installation_osx.md
with extra steps (sudo chown -R $(whoami) /usr/local/ to get vulkan-sdk
properly installed,
git clone https://github.com/IntelRealSense/librealsense.git and cd
librealsense...etc
now I am stocking on the last procedure of step 4:
cmake .. -DBUILD_EXAMPLES=true -DBUILD_WITH_OPENMP=false
-DHWM_OVER_XU=false
at beginning cmake returned pthread.h not found error, I tried adding
extra sets in CMakeLists.txt as instructed from #8250
https://github.com/IntelRealSense/librealsense/issues/8250
set(CMAKE_THREAD_LIBS_INIT "-lpthread")
set(CMAKE_HAVE_THREADS_LIBRARY 1)
set(CMAKE_USE_WIN32_THREADS_INIT 0)
set(CMAKE_USE_PTHREADS_INIT 1)
set(THREADS_PREFER_PTHREAD_FLAG ON)
and now I am getting these errors from cmake :
CMake Error at
/opt/homebrew/Cellar/cmake/3.20.1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230
(message):
Could NOT find Threads (missing: Threads_FOUND)
Call Stack (most recent call first):
/opt/homebrew/Cellar/cmake/3.20.1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:594
(_FPHSA_FAILURE_MESSAGE)
/opt/homebrew/Cellar/cmake/3.20.1/share/cmake/Modules/FindThreads.cmake:238
(FIND_PACKAGE_HANDLE_STANDARD_ARGS)
examples/measure/CMakeLists.txt:9 (find_package)
-- Configuring incomplete, errors occurred!
See also "/users/Rezo/librealsense/build/CMakeFiles/CMakeOutput.log".
See also "/users/Rezo/librealsense/build/CMakeFiles/CMakeError.log".
CMakeError.log reads
Compiling the CXX compiler identification source file
"CMakeCXXCompilerId.cpp" failed.
Compiler:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
Build flags:
Id flags:
The output was:
1
ld: library not found for -lc++
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
Compiling the C compiler identification source file "CMakeCCompilerId.c"
failed.
Compiler:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
Build flags:
Id flags:
The output was:
1
ld: library not found for -lSystem
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
Determining if the include file pthread.h exists failed with the following
output:
Change Dir: /users/Rezo/librealsense/build/CMakeFiles/CMakeTmp
Run Build Command(s):/usr/bin/make -f Makefile cmTC_3597a/fast &&
/Applications/Xcode.app/Contents/Developer/usr/bin/make -f
CMakeFiles/cmTC_3597a.dir/build.make CMakeFiles/cmTC_3597a.dir/build
Building C object CMakeFiles/cmTC_3597a.dir/CheckIncludeFile.c.o
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-pedantic -g -D_DEFAULT_SOURCE -mfpu=neon -mfloat-abi=hard -ftree-vectorize
-latomic -pthread -arch arm64 -isysroot
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk
-fPIE -MD -MT CMakeFiles/cmTC_3597a.dir/CheckIncludeFile.c.o -MF
CMakeFiles/cmTC_3597a.dir/CheckIncludeFile.c.o.d -o
CMakeFiles/cmTC_3597a.dir/CheckIncludeFile.c.o -c
/users/Rezo/librealsense/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c
clang: warning: -latomic: 'linker' input unused
[-Wunused-command-line-argument]
clang: warning: argument unused during compilation: '-mfpu=neon'
[-Wunused-command-line-argument]
clang: warning: argument unused during compilation: '-mfloat-abi=hard'
[-Wunused-command-line-argument]
Linking C executable cmTC_3597a
/opt/homebrew/Cellar/cmake/3.20.1/bin/cmake -E cmake_link_script
CMakeFiles/cmTC_3597a.dir/link.txt --verbose=1
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-pedantic -g -D_DEFAULT_SOURCE -mfpu=neon -mfloat-abi=hard -ftree-vectorize
-latomic -pthread -arch arm64 -isysroot
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk
-Wl,-search_paths_first -Wl,-headerpad_max_install_names
CMakeFiles/cmTC_3597a.dir/CheckIncludeFile.c.o -o cmTC_3597a
ld: library not found for -latomic
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
make[1]: *** [cmTC_3597a] Error 1
make: *** [cmTC_3597a/fast] Error 2
I am wondering if it is missing the -lc++ and -lSystem
I have tried to port install ld64-xcode and the problem still persists.
Thanks in advance for anyone helping.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/IntelRealSense/librealsense/issues/8090#issuecomment-826367462,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJWKUHOE6FFDKDUANK6FJYDTKRMV7ANCNFSM4VOKO2AA
.

i update the code in  color-formats-converter.cpp file ,but i find a new error
ld: library not found for -latomic
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [CMakeFiles/realsense2.dir/build.make:2277: librealsense<IP_ADDRESS>.dylib] Error 1

I don't think you followed the build instructions on this page:
https://dev.intelrealsense.com/docs/macos-installation-for-intel-realsense-sdk
Since these instructions create an Xcode project.
On Thu, Apr 29, 2021 at 8:32 AM wangyuan @.***> wrote:

i update the code in color-formats-converter.cpp file ,but i find a new
error
ld: library not found for -latomic
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
make[2]: *** [CMakeFiles/realsense2.dir/build.make:2277:
librealsense<IP_ADDRESS>.dylib] Error 1
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/IntelRealSense/librealsense/issues/8090#issuecomment-829339582,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJWKUHN2Z4PDOCFCMTHJ4SDTLF3ZZANCNFSM4VOKO2AA
.

thanks i can build it in xcode ,but can you tell me the next (such as  run a demo),i want to use it in the python3

ohh i can run the demo!!! ,just click the file in debug folder

Hi, I'm still getting errors building in Xcode on Apple Silicon.
After entering this line cmake .. -DBUILD_EXAMPLES=true -DBUILD_WITH_OPENMP=false -DHWM_OVER_XU=false -G Xcode, I get the following error:
CMake Error at /opt/homebrew/Cellar/cmake/3.20.2/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message):   Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the   system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY   OPENSSL_INCLUDE_DIR) Call Stack (most recent call first):   /opt/homebrew/Cellar/cmake/3.20.2/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)   /opt/homebrew/Cellar/cmake/3.20.2/share/cmake/Modules/FindOpenSSL.cmake:570 (find_package_handle_standard_args)   CMake/external_libcurl.cmake:56 (find_package)   CMake/global_config.cmake:93 (include)   CMakeLists.txt:44 (global_set_flags)
I can create the Xcode project by adding the line export OPENSSL_ROOT_DIR=/opt/homebrew/opt/openssl and editing the file that @dyamized posted above, but building fails with these openssl errors relating to libcurl:
`PhaseScriptExecution Generate\ libcurl/src/libcurl-stamp/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/libcurl-configure /Users/charliekemp/Documents/librealsense/build/librealsense2.build/Debug/libcurl.build/Script-EEA27806F0687504DA280E8B.sh (in target 'libcurl' from project 'librealsense2')
cd /Users/charliekemp/Documents/librealsense
/bin/sh -c /Users/charliekemp/Documents/librealsense/build/librealsense2.build/Debug/libcurl.build/Script-EEA27806F0687504DA280E8B.sh
-- The C compiler identification is AppleClang <IP_ADDRESS>50022
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- curl version=[7.75.0-DEV]
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_ADDR
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_ADDR - Success
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID
-- Performing Test HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID - Success
-- Found Perl: /usr/bin/perl (found version "5.30.2")
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Looking for dlopen in ;
-- Looking for dlopen in ; - found
-- Looking for connect in socket;
-- Looking for connect in socket; - not found
-- Looking for gethostbyname in c
-- Looking for gethostbyname in c - found
-- Looking for gethostname
-- Looking for gethostname - found
CMake Error at /opt/homebrew/Cellar/cmake/3.20.2/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the
system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY
OPENSSL_INCLUDE_DIR)
Call Stack (most recent call first):
/opt/homebrew/Cellar/cmake/3.20.2/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
/opt/homebrew/Cellar/cmake/3.20.2/share/cmake/Modules/FindOpenSSL.cmake:570 (find_package_handle_standard_args)
CMakeLists.txt:387 (find_package)
-- Configuring incomplete, errors occurred!
See also "/Users/charliekemp/Documents/librealsense/build/libcurl/src/libcurl-build/CMakeFiles/CMakeOutput.log".
See also "/Users/charliekemp/Documents/librealsense/build/libcurl/src/libcurl-build/CMakeFiles/CMakeError.log".
Command PhaseScriptExecution failed with a nonzero exit code`
Does anyone have any ideas how to fix these errors? I'm guessing I need to add some lines to CMakeLists.txt, but I'm not sure what exactly.
Thanks!

Thanks @MartyG-RealSense. This thread got me to a completed build.
Investigating a little further...
which openssl on my system revealed that MacOS defaults to using openssl at /usr/bin/openssl, which is actually LibreSSL (version 2.8.3 in my case).
Using brew unlink openssl && brew link openssl --force resulted in a message instructing my to export the following variables in order for openssl, not LibreSSL, to be used during builds. It was this particular detail that got me to ta completed build using cmake .. -DBUILD_PYTHON_BINDINGS:bool=true -DBUILD_EXAMPLES=true -DBUILD_WITH_OPENMP=false -DHWM_OVER_XU=false
export<EMAIL_ADDRESS>export<EMAIL_ADDRESS>export<EMAIL_ADDRESS>

I think this thread can be closed for now since a solution has been provided. A ticket had been filed internally for expanding this support in future SDK.
Thank you all for the contribution and efforts to enable RealSense on Apple M1.

@MartyG-RealSense, @c-mendoza and @dyamized
I could successfully build the project but am not able to run realsense-viewer. Initially I got the below error and I fixed it by adding 'set(CMAKE_MACOSX_RPATH 1)' to the CMakeLists.txt file.
Initial error:
MACOSX_RPATH is not specified for the following targets: realsense2-gl
Current error:
'zsh: command not found: realsense_viewer'
Could you please help me fix this.

HI, I"m having an issue install sdk on apple silicon ... my issue is detailed on this issue any help would be appreciated! https://github.com/IntelRealSense/librealsense/issues/9709

-- Info: REALSENSE_VERSION_STRING=2.49.0
-- Setting Unix configurations
-- Building libcurl enabled
CMake Error at /opt/homebrew/Cellar/cmake/3.21.2/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the
system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY
OPENSSL_INCLUDE_DIR)
Call Stack (most recent call first):
/opt/homebrew/Cellar/cmake/3.21.2/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
/opt/homebrew/Cellar/cmake/3.21.2/share/cmake/Modules/FindOpenSSL.cmake:574 (find_package_handle_standard_args)
CMake/external_libcurl.cmake:56 (find_package)
CMake/global_config.cmake:93 (include)
CMakeLists.txt:44 (global_set_flags)
-- Configuring incomplete, errors occurred!
<EMAIL_ADDRESS>1.1.1l is already installed and up-to-date.
To reinstall 1.1.1l, run:
brew reinstall<EMAIL_ADDRESS>brew is a total mess.

hey! thanks @rlabs-oss !! I'm further than I was... but now I'm getting this error after running make -j2
Is there a way to build this for Xcode and run it like that?  Thanks for any help in advance!
n file included from /Users/gennaroschiano/Documents/GitHub/librealsense/src/proc/motion-transform.cpp:4: /Users/gennaroschiano/Documents/GitHub/librealsense/src/ds5/ds5-options.h:344:22: warning: 'is_read_only' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]         virtual bool is_read_only() const { return _sensor && _sensor->is_opened(); }                      ^ /Users/gennaroschiano/Documents/GitHub/librealsense/src/core/options.h:27:22: note: overridden virtual function is here         virtual bool is_read_only() const { return false; }                      ^ In file included from /Users/gennaroschiano/Documents/GitHub/librealsense/src/proc/motion-transform.cpp:4: /Users/gennaroschiano/Documents/GitHub/librealsense/src/ds5/ds5-options.h:367:22: warning: 'is_read_only' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]         virtual bool is_read_only() const { return _sensor && _sensor->is_opened(); }                      ^ /Users/gennaroschiano/Documents/GitHub/librealsense/src/core/options.h:27:22: note: overridden virtual function is here         virtual bool is_read_only() const { return false; }                      ^ In file included from /Users/gennaroschiano/Documents/GitHub/librealsense/src/proc/motion-transform.cpp:5: In file included from /Users/gennaroschiano/Documents/GitHub/librealsense/src/ds5/ds5-motion.h:6: In file included from /Users/gennaroschiano/Documents/GitHub/librealsense/src/ds5/ds5-device.h:14: /Users/gennaroschiano/Documents/GitHub/librealsense/src/fw-update/fw-update-device-interface.h:27:102: warning: adding 'size_t' (aka 'unsigned long') to a string does not append to the string [-Wstring-plus-int]                 throw std::runtime_error("Firmware binary image might be corrupted - size is only: " + fw_image_size);                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ /Users/gennaroschiano/Documents/GitHub/librealsense/src/fw-update/fw-update-device-interface.h:27:102: note: use array indexing to silence this warning                 throw std::runtime_error("Firmware binary image might be corrupted - size is only: " + fw_image_size);                                                                                ^                                          &                                                           [              ] 4 warnings generated. make[1]: *** [CMakeFiles/realsense2.dir/all] Error 2 make: *** [all] Error 2

xcode - not that Im aware of. - brew with perquisite libraries ideally packaged to brew install (apple silicon pending)  ... otherwise packages installed via git clone will spew files and cause inconsistencies. e.g installing to /use/local and not /opt/homebrew most dont even honor the cmake prefix. I'd delete everything in librealsense, git clone it again and start again. At one point I did setup a terminal to start under Rosetta as x86 and brew install that way - but thats just asking for more trouble once you want to use brew to build native apps. They dont play together.

well.. I tried the Xcode thing.. and it looks like the issue is the cpuid.h file.
It hangs up on this part of the code ... `#if defined (ANDROID) || (defined (linux) && !defined (x86_64))
bool has_avx() { return false; }
#else
#ifdef _WIN32
#include <intrin.h>
#define cpuid(info, x)    __cpuidex(info, x, 0)
#else
#include <cpuid.h>
void cpuid(int info[4], int info_type) {
__cpuid_count(info_type, 0, info[0], info[1], info[2], info[3]);
}
//#endif
bool has_avx()
{
int info[4];
cpuid(info, 0);
cpuid(info, 0x80000000);
return (info[2] & ((int)1 << 28)) != 0;
}
#endif`

just to be clear I also added these lines to my global_config.cmake file
set(CMAKE_THREAD_LIBS_INIT "-lpthread") set(CMAKE_HAVE_THREADS_LIBRARY 1) set(CMAKE_USE_WIN32_THREADS_INIT 0) set(CMAKE_USE_PTHREADS_INIT 1) set(THREADS_PREFER_PTHREAD_FLAG ON)

Hey @cpkcpkcpk I was getting the same error in building libcurl, fixed it by modifying CMake/external_libcurl.cmake.
After line 35, I added:
-DOPENSSL_ROOT_DIR=/opt/homebrew/opt/openssl
Basically it seems that the internal cmake call doesn't get the flags passed along in the main cmake call, so it doesn't know where OpenSSL is to be found.
Got it to compile and run realsense_viewer, connected a camera and runs as it's supposed to, so yay for that.

Hi buddy. I succeed build with your help. But I am not familiar with xcode.  After succeed how you run realsense_viewer?

Hi @shadowgroundz   Could you check whether the Unix files to run realsense-viewer are located in /usr/local/Cellar/librealsense/

Hi again @hehengxiang0 Intel responded that they will look into it.

Any info update?

Hi @JoeFirmament  There is not currently an official guide to installing on M1 Mac, though solutions for most of the problems that may be encountered during an M1 installation have been shared by RealSense users on this discussion and other discussions linked to from this page.

Hi @JoeFirmament There is not currently an official guide to installing on M1 Mac, though solutions for most of the problems that may be encountered during an M1 installation have been shared by RealSense users on this discussion and other discussions linked to from this page.

Thx a lot for ur feedback @MartyG-RealSense . I've already solve it by reading this discussion again and again.

latomi

How did solve latomic issue?

Hi everyone, I just wanted to highlight that the brew install librealsense method of installing librealsense on Mac now lists support for MacOS Monterey and for Apple Silicon M1.
https://formulae.brew.sh/formula/librealsense

Great news!
What step was skipped if there is no module named 'pyrealsense2'?
installed via brew

Hi @Obrepal  If the brew method was used then the pyrealsense2 wrapper would likely not be included in the build of librealsense, as it is usually not included in librealsense packages or only built from source code at the same time as building librealsense if including the build flag -DBUILD_PYTHON_BINDINGS:bool=true in the CMake build instruction.
In that case, you may be able to use the pre-built pyrealsense2 package for MacOS by cansik that is referenced in the lightbuzz guide to install pyrealsense2 on your Mac once librealsense has been installed by brew.
https://github.com/cansik/pyrealsense2-macosx/tree/apple-silicon

Ok, did somebody handled this issue?
pipeline_profile = config.resolve(pipeline_wrapper)
RuntimeError: No device connected

lsusb:
Bus 000 Device 001: ID 8086:0b07 Intel Corporation Intel(R) RealSense(TM) Depth Camera 435
Bus 000 Device 000: ID 8086:0b07 Intel Corporation USB 3.1 Bus

I looked at other posts, but due to different origin of problem they were not much helpful


Add compatibility with serverless-offline plugin

This PR adds a hook to automatically start local dynamodb database before running serverless-offline plugin. I added a note about it to README. And while there, updated project dependencies.

Thanks @miltador
LGTM.
@AshanFernando @mjzone


Can't get certs with Let's Encrypt on HA install

What kind of request is this (question/bug/enhancement/feature request):
Question
Steps to reproduce (least amount of steps as possible):
Follow HA guide: https://rancher.com/docs/rancher/v2.x/en/installation/ha/
Using nginx as a layer 4 load balancer with example config (https://rancher.com/docs/rancher/v2.x/en/installation/ha/create-nodes-lb/nginx/) in front of 3 Rancher master nodes. Use cert-manager and Lets Encrypt to attempt to generate ssl certs. Load balancer has public IP address with domain/DNS associated with it. Port 80 and 443 are open.
Result:
Rancher and associated pods (ingress, cert-manager) all running successfully, but certs are never obtained. I can not manually navigate to the well-known address either, which makes me think the L4 load balancer isn't working or the ingress load balancer isn't working.
Ingress info:
Name:             cm-acme-http-solver-tr74p
Namespace:        cattle-system
Address:          x.x.x.x,x.x.x.y
Default backend:  default-http-backend:80 (<none>)
Rules:
  Host                   Path  Backends
  ----                   ----  --------
  rancher.mydomain.com
                         /.well-known/acme-challenge/Bf-oPbO34tgehadfI0k7Qsf_fza4rHUKC534easfO5TM   cm-acme-http-solver-xnw4t:8089 (<none>)
Annotations:
  field.cattle.io/publicEndpoints:  [{"addresses":["x.x.x.x","x.x.x.y"],"port":80,"protocol":"HTTP","serviceName":"cattle-system:cm-acme-http-solver-xnw4t","ingressName":"cattle-system:cm-acme-http-solver-tr74p","hostname":"rancher.mydomain.com","path":"/.well-known/acme-challenge/Bf-oPbO6hy7DdfI0k7Qsf_fza4rHUKC575duPOfO5TM","allNodes":false}]
Events:                             <none>

Name:             rancher
Namespace:        cattle-system
Address:          x.x.x.x,x.x.x.xy
Default backend:  default-http-backend:80 (<none>)
TLS:
  tls-rancher-ingress terminates rancher.mydomain.com
Rules:
  Host                   Path  Backends
  ----                   ----  --------
  rancher.mydomain.com
                            rancher:80 (<none>)
Annotations:
  certmanager.k8s.io/issuer:                          rancher
  field.cattle.io/publicEndpoints:                    [{"addresses":["x.x.x.x","x.x.xy"],"port":443,"protocol":"HTTPS","serviceName":"cattle-system:rancher","ingressName":"cattle-system:rancher","hostname":"rancher.mydomain.com","allNodes":false}]
  nginx.ingress.kubernetes.io/proxy-connect-timeout:  30
  nginx.ingress.kubernetes.io/proxy-read-timeout:     1800
  nginx.ingress.kubernetes.io/proxy-send-timeout:     1800
Events:                                               <none>

Ingress logs:
I0123 02:02:32.615026       7 controller.go:179] Backend successfully reloaded.
I0123 02:07:26.990283       7 event.go:218] Event(v1.ObjectReference{Kind:"Ingress", Namespace:"cattle-system", Name:"rancher", UID:"a18cc766-1eb3-11e9-a3a4-9c8e9916e498", APIVersion:"extensions", ResourceVersion:"1347", FieldPath:""}): type: 'Normal' reason: 'CREATE' Ingress cattle-system/rancher
W0123 02:07:26.990427       7 backend_ssl.go:49] error obtaining PEM from secret cattle-system/tls-rancher-ingress: error retrieving secret cattle-system/tls-rancher-ingress: secret cattle-system/tls-rancher-ingress was not found
W0123 02:07:30.307510       7 controller.go:769] Service "cattle-system/rancher" does not have any active Endpoint.
W0123 02:07:30.307607       7 controller.go:1015] SSL certificate "cattle-system/tls-rancher-ingress" does not exist in local store.
I0123 02:07:30.307675       7 controller.go:169] Configuration changes detected, backend reload required.

Other details that may be helpful:
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): 2.1.5
Installation option (single install/HA): HA

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported):
Machine type (cloud/VM/metal) and specifications (CPU/memory):
Kubernetes version (use kubectl version):

(paste the output here)

Docker version (use docker version):

(paste the output here)

Having the same problem as well.

I have also the same setup and the same issue.

I am also having this problem following the same instructions. I can confirm the issue is not with my HA nginx proxy as I have confirmed packets get sent from the HA proxy system to each of the RKE provisioned nodes on port 80 when cert-manager tries to do a self test. Therefore the problem must be with the ingress setup by the Rancher helm chart.
Here is the log of my cert-manager
kubectl -n kube-system logs cert-manager-6464494858-9znlb

I0325 17:22:25.633379       1 start.go:79] starting cert-manager v0.5.2 (revision 9e8c3ad899c5aafaa360ca947eac7f5ba6301035)
I0325 17:22:25.634494       1 controller.go:126] Using the following nameservers for DNS01 checks: [<IP_ADDRESS>:53]
I0325 17:22:25.634997       1 leaderelection.go:175] attempting to acquire leader lease  kube-system/cert-manager-controller...
I0325 17:22:25.635465       1 server.go:84] Listening on http://<IP_ADDRESS>:9402
I0325 17:23:28.793842       1 leaderelection.go:184] successfully acquired lease kube-system/cert-manager-controller
I0325 17:23:28.794097       1 controller.go:68] Starting certificates controller
I0325 17:23:28.794159       1 controller.go:68] Starting clusterissuers controller
I0325 17:23:28.794172       1 controller.go:68] Starting ingress-shim controller
I0325 17:23:28.794959       1 controller.go:68] Starting issuers controller
I0325 17:23:28.894301       1 controller.go:168] ingress-shim controller: syncing item 'cattle-system/rancher'
I0325 17:23:28.894344       1 sync.go:140] Certificate "tls-rancher-ingress" for ingress "rancher" already exists
I0325 17:23:28.894366       1 sync.go:143] Certificate "tls-rancher-ingress" for ingress "rancher" is up to date
I0325 17:23:28.894378       1 controller.go:182] ingress-shim controller: Finished processing work item "cattle-system/rancher"
I0325 17:23:30.820095       1 controller.go:171] certificates controller: syncing item 'cattle-system/tls-rancher-ingress'
I0325 17:23:30.820268       1 sync.go:274] Preparing certificate cattle-system/tls-rancher-ingress with issuer
I0325 17:23:30.820436       1 logger.go:43] Calling GetOrder
I0325 17:23:31.149014       1 logger.go:73] Calling GetAuthorization
I0325 17:23:31.246788       1 logger.go:93] Calling HTTP01ChallengeResponse
I0325 17:23:31.246824       1 prepare.go:279] Cleaning up old/expired challenges for Certificate cattle-system/tls-rancher-ingress
I0325 17:23:31.246841       1 logger.go:68] Calling GetChallenge
I0325 17:23:31.432318       1 http.go:134] wrong status code '404'
I0325 17:23:31.432526       1 ingress.go:49] Looking up Ingresses for selector certmanager.k8s.io/acme-http-domain=1227163451,certmanager.k8s.io/acme-http-token=1177226878
I0325 17:23:31.432560       1 helpers.go:201] Found status change for Certificate "tls-rancher-ingress" condition "Ready": "False" -> "False"; setting lastTransitionTime to 2019-03-25 17:23:31.432555558 +0000 UTC m=+65.804544564
I0325 17:23:31.432597       1 sync.go:276] Error preparing issuer for certificate cattle-system/tls-rancher-ingress: http-01 self check failed for domain "argus.icasa.nmt.edu"
E0325 17:23:31.432658       1 sync.go:197] [cattle-system/tls-rancher-ingress] Error getting certificate 'tls-rancher-ingress': secret "tls-rancher-ingress" not found
E0325 17:23:31.438717       1 controller.go:180] certificates controller: Re-queuing item "cattle-system/tls-rancher-ingress" due to error processing: http-01 self check failed for domain "argus.icasa.nmt.edu"
I0325 17:23:31.438977       1 controller.go:168] ingress-shim controller: syncing item 'cattle-system/rancher'
I0325 17:23:31.439014       1 sync.go:140] Certificate "tls-rancher-ingress" for ingress "rancher" already exists
I0325 17:23:31.439026       1 sync.go:143] Certificate "tls-rancher-ingress" for ingress "rancher" is up to date
I0325 17:23:31.439033       1 controller.go:182] ingress-shim controller: Finished processing work item "cattle-system/rancher"
I0325 17:23:33.812815       1 controller.go:168] ingress-shim controller: syncing item 'cattle-system/rancher'
I0325 17:23:33.812876       1 sync.go:140] Certificate "tls-rancher-ingress" for ingress "rancher" already exists
I0325 17:23:33.812895       1 sync.go:143] Certificate "tls-rancher-ingress" for ingress "rancher" is up to date
I0325 17:23:33.812906       1 controller.go:182] ingress-shim controller: Finished processing work item "cattle-system/rancher"
I0325 17:23:33.812815       1 controller.go:168] ingress-shim controller: syncing item 'cattle-system/cm-acme-http-solver-s7nm7'
I0325 17:23:33.812916       1 sync.go:65] Not syncing ingress cattle-system/cm-acme-http-solver-s7nm7 as it does not contain necessary annotations
I0325 17:23:33.812923       1 controller.go:182] ingress-shim controller: Finished processing work item "cattle-system/cm-acme-http-solver-s7nm7"
I0325 17:23:33.813876       1 controller.go:141] issuers controller: syncing item 'cattle-system/rancher'
I0325 17:23:33.814063       1 setup.go:144] Skipping re-verifying ACME account as cached registration details look sufficient.
I0325 17:23:33.814087       1 controller.go:155] issuers controller: Finished processing work item "cattle-system/rancher"
I0325 17:23:35.438965       1 controller.go:171] certificates controller: syncing item 'cattle-system/tls-rancher-ingress'
I0325 17:23:35.439125       1 sync.go:274] Preparing certificate cattle-system/tls-rancher-ingress with issuer
I0325 17:23:35.439290       1 logger.go:43] Calling GetOrder
I0325 17:23:35.641491       1 logger.go:73] Calling GetAuthorization
I0325 17:23:35.774380       1 logger.go:93] Calling HTTP01ChallengeResponse
I0325 17:23:35.774469       1 prepare.go:279] Cleaning up old/expired challenges for Certificate cattle-system/tls-rancher-ingress
I0325 17:23:35.774532       1 logger.go:68] Calling GetChallenge
I0325 17:23:35.892286       1 http.go:134] wrong status code '404'

It then repeats the "Looking up Ingress to wrong status code '404' each time cert-manager tries to issue the cert.

For others who may be having this problem with Rancher and cert-manager, I have fixed my issue and it is due to my HA nginx proxy in front of the cluster ingress. The key was realizing that the ACME well-known URL would fail with an http request to port 80, to the front end server we want to use (the server name we are ultimately getting a certificate for) but would succeed with an https request to port 443 (after dealing with the self signed certificate presented by the ingress controller).
Increasing the debugging to the ingress controllers via a -v added to the daemonset (similar instructions can be found from the kubernetes folks. Gives an idea of what the ingress is actually seeing from the HA proxy. On a working (https) request we see:
"GET /.well-known/acme-challenge/LUntllMMSQlSYA5xqMbgsd8iCF53-VVfX7Lkt_3-Pwo HTTP/1.1
Host: argus.xxx.yyy.zzz
X-Request-ID: 21cb422ed5d10630ca87cbf0d0a40851
X-Real-IP: <IP_ADDRESS>
X-Forwarded-For: <IP_ADDRESS>
X-Forwarded-Host: argus.xxx.yyy.zzz
X-Forwarded-Port: 443
X-Forwarded-Proto: https
X-Original-URI: /.well-known/acme-challenge/LUntllMMSQlSYA5xqMbgsd8iCF53-VVfX7Lkt_3-Pwo
X-Scheme: https
User-Agent: Wget/1.19.5 (darwin17.5.0)
Accept: */*
Accept-Encoding: identity

On a failed (http) request we see:
"GET /.well-known/acme-challenge/LUntllMMSQlSYA5xqMbgsd8iCF53-VVfX7Lkt_3-Pwo HTTP/1.1
Host: rancher_servers
X-Request-ID: bdf2268f3fad1efda9f3490dbd5a95bf
X-Real-IP: <IP_ADDRESS>
X-Forwarded-For: <IP_ADDRESS>
X-Forwarded-Host: rancher_servers
X-Forwarded-Port: 80
X-Forwarded-Proto: http
X-Original-URI: /.well-known/acme-challenge/LUntllMMSQlSYA5xqMbgsd8iCF53-VVfX7Lkt_3-Pwo
X-Scheme: http
User-Agent: Go-http-client/1.1
Accept-Encoding: gzip

Notice that the 'Host:' and 'X-Forwarded-Host:' headers seen by the ingress are not the same between the working and non-working cases. This is caused by using a "stream" definition to send TLS traffic to the ingress while using an "http" definition to proxy regular port 80 traffic. My nginx HA proxy in front of the ingress passes on exactly what came from the client in the "stream" case but changes the headers in the "http" case. The solution is to tell nginx to send appropriate headers. Specifically:
   upstream rancher_servers {
        least_conn;
        server <IP_ADDRESS>:80 max_fails=3 fail_timeout=5s;
        server <IP_ADDRESS>:80 max_fails=3 fail_timeout=5s;
        server <IP_ADDRESS>:80 max_fails=3 fail_timeout=5s;
    }

    server {
        listen  80;

        location /.well-known {
                proxy_pass http://rancher_servers;
                proxy_set_header Host argus.xxx.yyy.zzz;
                proxy_set_header X-Forwarded-Host argus.xxx.yyy.zzz;
                allow all;
        }

        location / {
                deny all;
        }
    }

Works for me, as it allows lets encrypt to get at things via port 80, and denies everything else, and ensures that the ingress controller see's the host header it expects to correctly route the GET request.
Works for me

This should be resolved by the current config which does not redirect HTTP -> HTTPS