Why do carriers install their version of the OS on phones?

This question has bothered me since a few years back, when I booted up my mother’s phone, only to find that the beautiful XPERIA startup screen had been destroyed by the carrier’s custom boot animation. I had also found a lot of bloatware which could only be disabled, delayed updates, etc. (we all know what’s happening, there’s no reason for me to go in depth).

I searched the web for an answer this question, but to no avail. So, can anyone answer me this:

Why do carriers install their version of the OS on phones and don’t keep the original firmware from the manufacturer untouched?

Because I don’t think it makes any difference for the carriers whatsoever compared to users who get a worse experience.

(Also, let me know if this is a duplicate.)

FastReport Document Properties( Title, Topic, Version, Author) Setting

I’m creating .pdf reports with c # in fastreport.Then I’m trying to set the document properties in the report. In FastReport, these properties have both set and get properties, but these features are not assigned to the report that I saved.

Before saving the report as .pdf, FastReport can open its own form and enter the relevant topic, title and author data here, but I do not want the user to enter this process every time. I want to set these properties programmatically with c #.

How can I do this?

//c# codes public Report_Test()  { FastReport.Report report1 = new FastReport.Report(); report1.ReportInfo.Author = "Test Test"; report1.ReportInfo.Description = "TEST Report"; report1.ReportInfo.Created = DateTime.Now; report1.ReportInfo.CreatorVersion = "1.1"; report1.ReportInfo.Modified = DateTime.Now; report1.ReportInfo.Name = "1.1"; report1.ReportInfo.Version = "1.1"; /* I wrote other codes here () */ report1.RegisterData(dataSet11.Tables["Datas"], "Datas"); report1.GetDataSource("Datas").Enabled = true; (report1.Report.FindObject("Data1") as FastReport.DataBand).DataSource =  report1.GetDataSource("Datas"); report1.Show(); } 

Is this Half-dragon Quaggoth mage boss balanced? Revised version

This is going to be the first boss for my upcoming campaign. I have 7 5th level players, and this fight is meant to challenge them quite a bit. There will also be a down leveled mage (Challenge rating 4) and at least 2 regular quagoths.

The story is that this quagoth found a dying dryad and consumed her heart, this made him a sorcerer as well as giving him some druid magic. Then the cult of the dragon found him and made him a half dragon. If the players don’t kill him I plan on making him an NPC later on.

I would like to know if this monster is ready to be thrown at my players. If it is too overpowered or underpowered at its current challenge rating. And what I can do to fix any balancing problems found in the stats of this monster.

Treill

Half-dragon Quaggoth Thonot (5th level sorcerer)

Armor Class: 18 (permanent Barkskin, Dragonic resilience, ring of protection)

Hit points: 70 (10d8+3)

Str (16; +3) Dex (12; +1) Con (16; +3) Int (8; -1) Wis (16; +3) Cha (16; +3)

Saving Throws: Str +6, Con +6

Senses: Treill has blindsight out to 10 ft, and darkvision out to 180 ft.

Challenge: 7

Wounded Fury. While he has 20 hit points or fewer, Treill has advantage on attack rolls. In addition, he deals an extra 7 (2d6) damage to any target he hits with a melee attack.

Lighting resistance.

Meta magic. 5 sorcery points:

Twined spell, distant spell.

Multiattack. The quaggoth makes two claw attacks.

Claw Attack. Melee Weapon Attack: + 5 to hit, reach 5 ft., 1 target. Hit: 10 (2d6 + 3) slashing damage, puls 4 (1d8) fire damge, and 7 (1d8+3) fire damge to second target. (Only one calaw attack per turn may use green flame balde).

Lighting breath Recharge (5-6). Treill can use his action to exhale destructive energy. Each creature in a 5 by 30 ft. line must make a Dexterity saving throw or take 24 (7d6) lighting damage, or half as much on a successful save.

Spellcasting. Treill is a 5th level caster, his casting ability is Charisma. DC 14, +6 to hit with spell attacks.

Cantrips (at will) firebolt, sword burst, poison spray, predestination, Toll the Dead, Green flame blade.

1st level (4 slots): Cormatic orb, magic missile, shield.

2nd level (3 slots): Invisibility, spider climb.

3rd level (2 slots) Lighting bolt, Hast.

Innate spellcasting Thonot DC 14. +6 to hit.

At will : Mage hand, Feather fall.

1/day Cure wounds, enlarge/reduce, heat metal, mirror image.

Magic initiate (druid) DC 14, +6 to hit with spell attacks.

Cantrips: Thorn whip, druidcraft

1/day: healing word

How to identify drupal bootstrap version?

I’m using project bootstrap 3.x and wondering how can I check version of bootstrap library itself? There is general solution here stackoverflow but I found it’s not useful in this case (drupal). I couldn’t find bootstrap.css file.

The reason behind this is I think I found a bug in it and I want to compare my bootstrap version against the current one and see if it was already fixed.

How can I check bootstrap library version inside bootstrap theme?

Update editor of published version without affecting version number – CSOM

I am trying to copy files from one site collection to another including their version history and preserve the metadata using CSOM. I am almost there using the below logic for each version of the file. However I am not able to get this to work for major/published/X.0 versions.

1) Check out existing file (If not first version uploaded)

2) Upload the file version

3) Assign the document metadata and perform a checkin (either major or minor to match original files version history).

4) Use ValidateUpdateListItem to set the Editor and Modified values as they were overwritten by the checkin in step 3

This works in most scenarios and keeps the modified date. However if the version was a published version and minor versions are enabled this creates a new X.1 version.

Does anyone have a way of updating the Editor for a published version with minor versions enabled on the list that does not affect the version number? The only solutions I have found require server side code or temporarily disabling versioning which I cannot do!

Requirements:

CSOM only – this is client side C# code.

I cannot temporarily enable/disable versioning or minor versions on the library.

Spark Dependency Issue, considering default version of Jar even if –packages with version is specified

The default version of aws-sdk and its related jars are all 1.11.297 in EMR. even if I specify ** –packages com.amazonaws:aws-java-sdk-s3:1.11.434**. all the aws-sdk related jars are being referenced to 1.11.297

I tried to manually specify the jars to runtime by downloading the jar and passing the jar using –jars in the args

spark-shell --packages com.amazonaws:aws-java-sdk-s3:1.11.434 import com.amazonaws.services.s3.model.InputSerialization new InputSerialization().getClass.getResource("InputSerialization.class") 
res0: java.net.URL = jar:file:/usr/share/aws/aws-java-sdk/aws-java-sdk-s3-1.11.297.jar!/com/amazonaws/services/s3/model/InputSerialization.class` 

Warlock homebrew Supernatural patron version 3! Is it balanced?

This is what I hope to be the last revision of my homebrew otherworldly patron, the Supernatural.

The Supernatural

You have struck a pact with a great supernatural being, a great lord over the chaotic Undead. The Supernatural rarely make these alliances with the living, but those who do tire of only ruling over the dead and long for the world of the living. You could have been found yourself in the service of a rather ambitious Lich or Demilich, such as Acererak, or a powerful Vampire, perhaps even the mysterious Artor Morlin, or Shyressa. Perhaps your patron is a powerful ghost of a lost adventurer who has come back to share their wealth of knowledge.

This patron is the direct byproduct of me wanting a warlock with more flavor and diversity of who could be the patron. I hope that this is balanced against the other subclasses of Warlocks.

Here we go…Level 1

Expanded Spell List

  • 1st level: Ray of Sickness, False Life
  • 2nd level: See Invisibility, Blur
  • 3rd level: Life Transferrence, Feign Death
  • 4th level: Locate Creature, Evard’s Black Tentacles
  • 5th level: Telekinesis, Contagion

Unnatural Aura

At first level, creatures sense an unnatural air about you. You are proficient with Intimidation checks, and can deal a collective 1d6 damage to creatures within 10 ft. of you as a bonus action. At 6th, 10th, and 14th level, the damage increases by 1d6. The damage type is linked to your Supernatural Path that you also take at first level.

This feature has probably changed the most since me first making this subclass without completely being replaced. Autohit d6s places this ability at about the strength of a cantrip, albeit a bit stronger, and with a complex AoE. The damage relies on the path you take at first level, which can make it deal Necrotic, Cold, or Psychic damage. Oh, and I removed the limited use of it, as the damage is not overwhelming anymore :).

  • Path of the Blix: When you kill a creature, you may regain HP up to the creature’s number of hit dice. Your damage type for Unnatural Aura is Necrotic.

Unlike the Fiend’s first level ability, this does not grant temporary HP but heals you actual HP. Its effect varies on the strength of your opponent, which I see as more balanced than Dark One’s Blessing (you could kill 1 rat for temp. HP).

  • Path of the Skeleton: You may reduce damage by 1d8 plus your Warlock level that you take from a single source as a reaction. Once you use this feature, you cannot use it again until you complete a short or long rest. Your damage type for Unnatural Aura is Cold.

Great defense, as most of the Zombie-based middle options of this subclass are. Cold damage is the worst damage option, though (lots of monsters have resistance).

  • Path of the Ghost: As an action, you may become invisible until the end of your next turn. You may use this feature a number of times equal to your Charisma modifier (minimum 1) before completing a short or long rest. Your damage type for Unnatural Aura is Psychic.

Hands-down the best damage type for Unnatural Aura, as only one monster from the MM is resistant and ten immune (see here). An okay sneaky option.

That wraps it up for level 1. A cantrip-like effect, a proficiency, and a varying third option. Here comes level 6:

Monstrous Power

At 6th level, you may choose a Monstrous Power.

  • Powers of the Vampire: You are always under the effects of Spider Climb and cannot be seen by Truesight or divination magic.

In earlier versions, the Vampire strangely had a flight feature and an AC penalty for being in sunlight. I eliminated this and added a classic Vampire feature. Nice feature for those that are indoors a lot.

  • Powers of the Zombie: When you are hit by a melee attack, you may use your reaction to use your Unnatural Aura. To do this, you cannot have used your Unnatural Aura this round.

Very solid defense option, though you should use your Unnatural Aura sparingly on your turns.

  • Powers of the Spectre: As an action, you may become intangible for 1 minute. While intangible, you may move through objects and other creatures’ positions as if they were difficult terrain (though you cannot end your turn there), and you cannot be hit by opportunity attacks. Once you use this feature, you cannot use it again until you complete a short or long rest.

Absolutely fantastic for scouting. Oh, look. A great big wall. I’ll…GO THROUGH IT!!!! BWAHAHAHA! DMs beware… This was way more unbalanced last version, so I completely revamped it.

Of course, the 10th level feature:

Supernatural Sense

At 10th level, you are incredibly aware of what is happening at any given moment. You cannot be surprised or frightened, and are always under the effect of the Detect Good and Evil spell. Additionally, when you use your Unnatural Aura and deal damage to only one creature with it, that creature makes a Wisdom saving throw or is frightened of you for 1 minute.

What’s a scary undead-controlling guy look like when he’s frightened? Really bad, right? They’re much better suited for scaring others…

And now, the final features at 14th level:

Undead Legacy

At 14th level, you may choose an Undead Legacy.

  • The Count’s Legacy: Your cantrips and Unnatural Aura drain energy from your enemies. When you damage enemies using a cantrip or Unnatural Aura, you gain temporary hit points equal to the total damage you dealt with them on your turn for 1 hour.

To clarify, this damage is equal to all the damage you did on your turn with your scary Eldritch Blast and Unnatural Aura. This makes for some great temp. HP.

  • The Lich’s Legacy: As a bonus action, you point to a creature that has died within the last round that has a number of Hit Dice equal or lesser than your own. That creature regains hit points equal to their number of Hit Dice. You control this creature for one hour, after which it returns to life with its current HP. Once you use this feature, you cannot use it again until you complete a short or long rest.

Before revision, this could’ve been used to revive a Tarrasque as your slave for 1 hour. I obviously changed that…very good for taking control of boss monsters and reviving your friends alike.

  • The Wraith’s Legacy: When you deal damage to a creature, their hit point maximum is reduced by the damage you deal until they finish a long rest. Additionally, if you kill a humanoid, it becomes a Specter under your command, as long as you have room to control more Specters. You may have a number of Specters under your control equal to your Charisma modifier (minimum of one) at a time.

Almost word-for-word what a Wraith does. That scary regenerating boss monster getting on your nerves? Say good-bye to his huge HP maximum and hello to an army of Specters.

That is all for (hopefully) the final and balanced version of the Supernatural Otherworldly Patron. I still welcome criticism, and especially appreciate commentary on how balanced this is with the other subclasses!

If you think this is balanced, please tell me! If you don’t…please at least leave a comment telling me why.

How to solve Magento 2.3 Setup Version Errors

When running the command n98-magerun2 sys:setup:compare-versions I’m receiving the following errors:

+-------------------------------------+---------+---------+---------+--------+ | Setup                               | Module  | DB      | Data    | Status | +-------------------------------------+---------+---------+---------+--------+ | Amasty_AdminActionsLog              | 1.0.0   | 1.0.0   | 1.0.0   | OK     | | Amasty_Base                         | 1.5.0   | 1.5.0   | 1.5.0   | OK     | | Amasty_Geoip                        | 1.3.2   | 1.3.2   | 1.3.2   | OK     | | Amazon_Core                         | 3.0.0   | 3.0.0   | 3.0.0   | OK     | | Amazon_Login                        | 3.0.0   | 3.0.0   | 3.0.0   | OK     | | Amazon_Payment                      | 3.0.0   | 3.0.0   | 3.0.0   | OK     | | Auctane_Api                         | 2.0.21  | 2.0.21  | 2.0.21  | OK     | | MSP_ReCaptcha                       | 1.5.0   | 1.5.0   | 1.5.0   | OK     | | MSP_TwoFactorAuth                   | 2.2.0   | 2.2.0   | 2.2.0   | OK     | | MagePal_GmailSmtpApp                | 1.5.1   | 1.5.1   | 1.5.1   | OK     | | Magefan_Blog                        | 2.8.9   | 2.8.9   | 2.8.9   | OK     | | Magefan_Community                   | 2.0.4   | 2.0.4   | 2.0.4   | OK     | | Magetrend_Email                     | 2.0.3   | 2.0.3   | 2.0.3   | OK     | | Vertex_Tax                          | 100.2.1 | 100.2.1 | 100.2.1 | OK     | | Magento_AdminNotification           |         | 2.0.0   | 2.0.0   | Error  | | Magento_AdvancedPricingImportExport |         | 2.0.0   | 2.0.0   | Error  | | Magento_AdvancedSearch              |         |         |         | Error  | | Magento_Amqp                        |         |         |         | Error  | | Magento_Analytics                   |         | 2.0.0   | 2.0.0   | Error  | | Magento_AsynchronousOperations      |         |         |         | Error  | | Magento_Authorization               |         | 2.0.0   | 2.0.0   | Error  | | Magento_Authorizenet                |         | 2.0.0   | 2.0.0   | Error  | | Magento_Backend                     |         | 2.0.0   | 2.0.0   | Error  | | Magento_Backup                      |         | 2.0.0   | 2.0.0   | Error  | | Magento_Braintree                   |         | 2.0.1   | 2.0.1   | Error  | | Magento_Bundle                      |         | 2.0.4   | 2.0.4   | Error  | | Magento_BundleGraphQl               |         |         |         | Error  | | Magento_BundleImportExport          |         | 2.0.0   | 2.0.0   | Error  | | Magento_CacheInvalidate             |         | 2.0.0   | 2.0.0   | Error  | | Magento_Captcha                     |         | 2.0.0   | 2.0.0   | Error  | | Magento_Catalog                     |         | 2.2.6   | 2.2.6   | Error  | | Magento_CatalogAnalytics            |         | 2.0.0   | 2.0.0   | Error  | | Magento_CatalogGraphQl              |         |         |         | Error  | | Magento_CatalogImportExport         |         | 2.0.0   | 2.0.0   | Error  | | Magento_CatalogInventory            |         | 2.3.0   | 2.3.0   | Error  | | Magento_CatalogInventoryGraphQl     |         |         |         | Error  | | Magento_CatalogRule                 |         | 2.1.0   | 2.1.0   | Error  | | Magento_CatalogRuleConfigurable     |         | 2.0.0   | 2.0.0   | Error  | | Magento_CatalogSearch               |         | 2.0.0   | 2.0.0   | Error  | | Magento_CatalogUrlRewrite           |         | 2.0.0   | 2.0.0   | Error  | | Magento_CatalogUrlRewriteGraphQl    |         |         |         | Error  | | Magento_CatalogWidget               |         | 2.0.0   | 2.0.0   | Error  | | Magento_Checkout                    |         | 2.0.0   | 2.0.0   | Error  | | Magento_CheckoutAgreements          |         | 2.2.0   | 2.2.0   | Error  | | Magento_Cms                         |         | 2.0.2   | 2.0.2   | Error  | | Magento_CmsGraphQl                  |         |         |         | Error  | | Magento_CmsUrlRewrite               |         | 2.0.0   | 2.0.0   | Error  | | Magento_CmsUrlRewriteGraphQl        |         |         |         | Error  | | Magento_Config                      |         | 2.0.0   | 2.0.0   | Error  | | Magento_ConfigurableImportExport    |         | 2.0.0   | 2.0.0   | Error  | | Magento_ConfigurableProduct         |         | 2.2.1   | 2.2.1   | Error  | | Magento_ConfigurableProductGraphQl  |         |         |         | Error  | | Magento_ConfigurableProductSales    |         | 2.2.0   | 2.2.0   | Error  | | Magento_Contact                     |         | 2.0.0   | 2.0.0   | Error  | | Magento_Cookie                      |         | 2.0.0   | 2.0.0   | Error  | | Magento_Cron                        |         | 2.0.0   | 2.0.0   | Error  | | Magento_CurrencySymbol              |         | 2.0.1   | 2.0.1   | Error  | | Magento_Customer                    |         | 2.0.13  | 2.0.13  | Error  | | Magento_CustomerAnalytics           |         | 2.0.0   | 2.0.0   | Error  | | Magento_CustomerGraphQl             |         |         |         | Error  | | Magento_CustomerImportExport        |         | 2.0.0   | 2.0.0   | Error  | | Magento_Deploy                      |         | 2.0.0   | 2.0.0   | Error  | | Magento_Developer                   |         | 2.0.0   | 2.0.0   | Error  | | Magento_Dhl                         |         | 2.0.0   | 2.0.0   | Error  | | Magento_Directory                   |         | 2.0.2   | 2.0.2   | Error  | | Magento_Downloadable                |         | 2.0.2   | 2.0.2   | Error  | | Magento_DownloadableGraphQl         |         |         |         | Error  | | Magento_DownloadableImportExport    |         | 2.0.0   | 2.0.0   | Error  | | Magento_Eav                         |         | 2.1.1   | 2.1.1   | Error  | | Magento_EavGraphQl                  |         |         |         | Error  | | Magento_Elasticsearch               |         |         |         | Error  | | Magento_Email                       |         | 2.0.0   | 2.0.0   | Error  | | Magento_EncryptionKey               |         | 2.0.0   | 2.0.0   | Error  | | Magento_Fedex                       |         | 2.0.0   | 2.0.0   | Error  | | Magento_GiftMessage                 |         | 2.0.1   | 2.0.1   | Error  | | Magento_GoogleAdwords               |         | 2.0.0   | 2.0.0   | Error  | | Magento_GoogleAnalytics             |         | 2.0.0   | 2.0.0   | Error  | | Magento_GoogleOptimizer             |         | 2.0.0   | 2.0.0   | Error  | | Magento_GraphQl                     |         |         |         | Error  | | Magento_GroupedImportExport         |         | 2.0.0   | 2.0.0   | Error  | | Magento_GroupedProduct              |         | 2.0.1   | 2.0.1   | Error  | | Magento_GroupedProductGraphQl       |         |         |         | Error  | | Magento_ImportExport                |         | 2.0.1   | 2.0.1   | Error  | | Magento_Indexer                     |         | 2.1.0   | 2.1.0   | Error  | | Magento_InstantPurchase             |         | 1.0.0   | 1.0.0   | Error  | | Magento_Integration                 |         | 2.2.1   | 2.2.1   | Error  | | Magento_LayeredNavigation           |         | 2.0.0   | 2.0.0   | Error  | | Magento_Marketplace                 |         | 1.0.0   | 1.0.0   | Error  | | Magento_MediaStorage                |         | 2.0.0   | 2.0.0   | Error  | | Magento_MessageQueue                |         |         |         | Error  | | Magento_Msrp                        |         | 2.1.3   | 2.1.3   | Error  | | Magento_Multishipping               |         | 2.0.0   | 2.0.0   | Error  | | Magento_MysqlMq                     |         |         |         | Error  | | Magento_NewRelicReporting           |         | 2.0.1   | 2.0.1   | Error  | | Magento_Newsletter                  |         | 2.0.1   | 2.0.1   | Error  | | Magento_OfflinePayments             |         | 2.0.0   | 2.0.0   | Error  | | Magento_OfflineShipping             |         | 2.0.1   | 2.0.1   | Error  | | Magento_PageCache                   |         | 2.0.0   | 2.0.0   | Error  | | Magento_Payment                     |         | 2.0.0   | 2.0.0   | Error  | | Magento_Paypal                      |         | 2.0.1   | 2.0.1   | Error  | | Magento_Persistent                  |         | 2.0.0   | 2.0.0   | Error  | | Magento_ProductAlert                |         | 2.0.0   | 2.0.0   | Error  | | Magento_ProductVideo                |         | 2.0.0.2 | 2.0.0.2 | Error  | | Magento_Quote                       |         | 2.0.8   | 2.0.8   | Error  | | Magento_QuoteAnalytics              |         | 2.0.0   | 2.0.0   | Error  | | Magento_QuoteGraphQl                |         |         |         | Error  | | Magento_ReleaseNotification         |         | 2.2.0   | 2.2.0   | Error  | | Magento_Reports                     |         | 2.0.0   | 2.0.0   | Error  | | Magento_RequireJs                   |         | 2.0.0   | 2.0.0   | Error  | | Magento_Review                      |         | 2.0.0   | 2.0.0   | Error  | | Magento_ReviewAnalytics             |         | 2.0.0   | 2.0.0   | Error  | | Magento_Robots                      |         | 2.0.0   | 2.0.0   | Error  | | Magento_Rss                         |         | 2.0.0   | 2.0.0   | Error  | | Magento_Rule                        |         | 2.0.0   | 2.0.0   | Error  | | Magento_Sales                       |         | 2.0.10  | 2.0.10  | Error  | | Magento_SalesAnalytics              |         | 2.0.0   | 2.0.0   | Error  | | Magento_SalesInventory              |         | 1.0.0   | 1.0.0   | Error  | | Magento_SalesRule                   |         | 2.0.3   | 2.0.3   | Error  | | Magento_SalesSequence               |         | 2.0.0   | 2.0.0   | Error  | | Magento_SampleData                  |         | 2.0.0   | 2.0.0   | Error  | | Magento_Search                      |         | 2.0.4   | 2.0.4   | Error  | | Magento_Security                    |         | 2.0.1   | 2.0.1   | Error  | | Magento_SendFriend                  |         | 2.0.0   | 2.0.0   | Error  | | Magento_Shipping                    |         | 2.0.0   | 2.0.0   | Error  | | Magento_Signifyd                    |         | 2.2.0   | 2.2.0   | Error  | | Magento_Sitemap                     |         | 2.0.0   | 2.0.0   | Error  | | Magento_Store                       |         | 2.1.0   | 2.1.0   | Error  | | Magento_StoreGraphQl                |         |         |         | Error  | | Magento_Swagger                     |         | 2.0.0   | 2.0.0   | Error  | | Magento_SwaggerWebapi               |         | 1.0.0   | 1.0.0   | Error  | | Magento_SwaggerWebapiAsync          |         |         |         | Error  | | Magento_Swatches                    |         | 2.0.3   | 2.0.3   | Error  | | Magento_SwatchesGraphQl             |         |         |         | Error  | | Magento_SwatchesLayeredNavigation   |         | 2.0.0   | 2.0.0   | Error  | | Magento_Tax                         |         | 2.0.3   | 2.0.3   | Error  | | Magento_TaxGraphQl                  |         |         |         | Error  | | Magento_TaxImportExport             |         | 2.0.0   | 2.0.0   | Error  | | Magento_Theme                       |         | 2.0.2   | 2.0.2   | Error  | | Magento_Tinymce3                    |         |         |         | Error  | | Magento_Translation                 |         | 2.0.0   | 2.0.0   | Error  | | Magento_Ui                          |         | 2.0.0   | 2.0.0   | Error  | | Magento_Ups                         |         | 2.0.0   | 2.0.0   | Error  | | Magento_UrlRewrite                  |         | 2.0.1   | 2.0.1   | Error  | | Magento_UrlRewriteGraphQl           |         |         |         | Error  | | Magento_User                        |         | 2.0.3   | 2.0.3   | Error  | | Magento_Usps                        |         | 2.0.1   | 2.0.1   | Error  | | Magento_Variable                    |         | 2.0.0   | 2.0.0   | Error  | | Magento_Vault                       |         | 2.0.3   | 2.0.3   | Error  | | Magento_Version                     |         | 2.0.0   | 2.0.0   | Error  | | Magento_Webapi                      |         | 2.0.0   | 2.0.0   | Error  | | Magento_WebapiAsync                 |         |         |         | Error  | | Magento_WebapiSecurity              |         | 2.0.0   | 2.0.0   | Error  | | Magento_Weee                        |         | 2.0.0   | 2.0.0   | Error  | | Magento_WeeeGraphQl                 |         |         |         | Error  | | Magento_Widget                      |         | 2.0.1   | 2.0.1   | Error  | | Magento_Wishlist                    |         | 2.0.1   | 2.0.1   | Error  | | Magento_WishlistAnalytics           |         | 2.0.0   | 2.0.0   | Error  | +-------------------------------------+---------+---------+---------+--------+    143 setup errors were found! 

I’ve tried running bin/magento setup:upgrade and clearing all cache. But nothing has worked up to this point. How to troubleshoot / solve these errors?

Function unable to match GLDEBUGPROC, only on MSVC (uses same glew version 2.1.0, on linux with gcc/clang it’s fine)

I have the following function I’ve defined that i use with glDebugCallback, which works perfectly fine with GCC and Clang on Linux. However on Windows, the following code does not want to register as a debug callback for OpenGL:

inline void messageCallback(GLenum source, GLenum type, GLuint id,                              GLenum severity, GLsizei length, const GLchar* message,                              const void* userParam) {     // ... } 

and then I set it up with

glDebugMessageCallback(messageCallback, nullptr); 

After looking up what the glew headers have, it shows:

typedef void (GLAPIENTRY *GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity,                                         GLsizei length, const GLchar* message,                                         const void* userParam); 

but I’m getting an error message that says

Error (active) E0167 argument of type “void (*)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam)” is incompatible with parameter of type “GLDEBUGPROC”

I’ve been trying to figure out why it fails only with MSVC… but I’m quite stuck since it looks like it matches verbatim. The fact it compiles on GCC/Clang is also a bit confusing as well, I’m not sure what I’m missing or why this is happening.

Note that the inline keyword does not affect the result, I tried it without the keyword and the same problem is there. I just kept it there because I wanted to copy and paste the exact thing.

This is within Visual Studio 2017, using C++17, glew 2.1.0, modern Opengl, etc. My OpenGL version is 4.6 as well.