{"action":"created","issue":{"url":"https://api.github.com/repos/gfx-rs/gfx/issues/1048","repository_url":"https://api.github.com/repos/gfx-rs/gfx","labels_url":"https://api.github.com/repos/gfx-rs/gfx/issues/1048/labels{/name}","comments_url":"https://api.github.com/repos/gfx-rs/gfx/issues/1048/comments","events_url":"https://api.github.com/repos/gfx-rs/gfx/issues/1048/events","html_url":"https://github.com/gfx-rs/gfx/issues/1048","id":176558207,"number":1048,"title":"Checked out master on OSX 10.11.6 with Rust 1.11.0 unable to compile cube or triangle example","user":{"login":"jamiltron","id":374204,"avatar_url":"https://avatars.githubusercontent.com/u/374204?v=3","gravatar_id":"","url":"https://api.github.com/users/jamiltron","html_url":"https://github.com/jamiltron","followers_url":"https://api.github.com/users/jamiltron/followers","following_url":"https://api.github.com/users/jamiltron/following{/other_user}","gists_url":"https://api.github.com/users/jamiltron/gists{/gist_id}","starred_url":"https://api.github.com/users/jamiltron/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jamiltron/subscriptions","organizations_url":"https://api.github.com/users/jamiltron/orgs","repos_url":"https://api.github.com/users/jamiltron/repos","events_url":"https://api.github.com/users/jamiltron/events{/privacy}","received_events_url":"https://api.github.com/users/jamiltron/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-09-13T06:13:53Z","updated_at":"2016-09-13T14:36:59Z","closed_at":null,"body":"Hello,\r\n\r\nI just cloned gfx-rs on my OSX 10.11.6 machine, tried running the examples, and ran into a number of errors.\r\n\r\nHere's the steps I used to arrive at the errors:\r\n```\r\ngit clone https://github.com/gfx-rs/gfx.git\r\ncd gfx\r\ncargo run --example cube\r\n````\r\n\r\nThe errors I'm seeing look related to the metal backend:\r\n```\r\nsrc/backend/metal/src/command.rs:25:5: 25:27 error: unresolved import `gfx_core::shade::Stage`. Maybe a missing `extern crate gfx_core`? [E0432]\r\nsrc/backend/metal/src/command.rs:25 use gfx_core::shade::Stage;\r\n                                        ^~~~~~~~~~~~~~~~~~~~~~\r\nsrc/backend/metal/src/command.rs:25:5: 25:27 help: run `rustc --explain E0432` to see a detailed explanation\r\nsrc/backend/metal/src/map.rs:443:9: 443:38 error: unresolved import `ore::shade::IsMultiSample::*`. Maybe a missing `extern crate ore`? [E0432]\r\nsrc/backend/metal/src/map.rs:443     use ore::shade::IsMultiSample::*;\r\n                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\nsrc/backend/metal/src/map.rs:443:9: 443:38 help: run `rustc --explain E0432` to see a detailed explanation\r\nsrc/backend/metal/src/factory.rs:40:6: 40:24 error: `core::mapping::Raw` is not a trait [E0404]\r\nsrc/backend/metal/src/factory.rs:40 impl core::mapping::Raw for RawMapping {\r\n                                         ^~~~~~~~~~~~~~~~~~\r\nsrc/backend/metal/src/factory.rs:40:6: 40:24 help: run `rustc --explain E0404` to see a detailed explanation\r\nsrc/backend/metal/src/factory.rs:77:44: 77:63 error: type name `factory::BufferInfo` is undefined or not in scope [E0412]\r\nsrc/backend/metal/src/factory.rs:77     fn create_buffer_internal(&self, info: factory::BufferInfo, raw_data: Option<*const c_void>)\r\n                                                                               ^~~~~~~~~~~~~~~~~~~\r\nsrc/backend/metal/src/factory.rs:77:44: 77:63 help: run `rustc --explain E0412` to see a detailed explanation\r\nsrc/backend/metal/src/factory.rs:77:44: 77:63 help: no candidates by the name of `BufferInfo` found in your project; maybe you misspelled the name or forgot to import an external crate?\r\nsrc/backend/metal/src/factory.rs:78:53: 78:73 error: type name `factory::BufferError` is undefined or not in scope [E0412]\r\nsrc/backend/metal/src/factory.rs:78             -> Result<handle::RawBuffer<Resources>, factory::BufferError> {\r\n                                                                                        ^~~~~~~~~~~~~~~~~~~~\r\nsrc/backend/metal/src/factory.rs:78:53: 78:73 help: run `rustc --explain E0412` to see a detailed explanation\r\nsrc/backend/metal/src/factory.rs:78:53: 78:73 help: no candidates by the name of `BufferError` found in your project; maybe you misspelled the name or forgot to import an external crate?\r\nsrc/backend/metal/src/factory.rs:83:31: 83:53 error: unresolved name `factory::RENDER_TARGET` [E0425]\r\nsrc/backend/metal/src/factory.rs:83         if info.bind.contains(factory::RENDER_TARGET) | info.bind.contains(factory::DEPTH_STENCIL) {\r\n                                                                  ^~~~~~~~~~~~~~~~~~~~~~\r\nsrc/backend/metal/src/factory.rs:83:31: 83:53 help: run `rustc --explain E0425` to see a detailed explanation\r\nsrc/backend/metal/src/factory.rs:83:76: 83:98 error: unresolved name `factory::DEPTH_STENCIL` [E0425]\r\nsrc/backend/metal/src/factory.rs:83         if info.bind.contains(factory::RENDER_TARGET) | info.bind.contains(factory::DEPTH_STENCIL) {\r\n                                                                                                               ^~~~~~~~~~~~~~~~~~~~~~\r\nsrc/backend/metal/src/factory.rs:83:76: 83:98 help: run `rustc --explain E0425` to see a detailed explanation\r\nsrc/backend/metal/src/factory.rs:84:24: 84:61 error: failed to resolve. Could not find `BufferError` in `core::factory` [E0433]\r\nsrc/backend/metal/src/factory.rs:84             return Err(factory::BufferError::UnsupportedBind(info.bind))\r\n                                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\nsrc/backend/metal/src/factory.rs:84:24: 84:61 help: run `rustc --explain E0433` to see a detailed explanation\r\nsrc/backend/metal/src/factory.rs:141:5: 141:30 error: type `Mapper` is not a member of trait `core::Factory` [E0437]\r\nsrc/backend/metal/src/factory.rs:141     type Mapper = RawMapping;\r\n                                         ^~~~~~~~~~~~~~~~~~~~~~~~~\r\nsrc/backend/metal/src/factory.rs:141:5: 141:30 help: run `rustc --explain E0437` to see a detailed explanation\r\nsrc/backend/metal/src/factory.rs:147:43: 147:62 error: type name `factory::BufferInfo` is undefined or not in scope [E0412]\r\nsrc/backend/metal/src/factory.rs:147     fn create_buffer_raw(&mut self, info: factory::BufferInfo) -> Result<handle::RawBuffer<Resources>, factory::BufferError> {\r\n                                                                               ^~~~~~~~~~~~~~~~~~~\r\nsrc/backend/metal/src/factory.rs:147:43: 147:62 help: run `rustc --explain E0412` to see a detailed explanation\r\nsrc/backend/metal/src/factory.rs:147:43: 147:62 help: no candidates by the name of `BufferInfo` found in your project; maybe you misspelled the name or forgot to import an external crate?\r\nsrc/backend/metal/src/factory.rs:147:104: 147:124 error: type name `factory::BufferError` is undefined or not in scope [E0412]\r\nsrc/backend/metal/src/factory.rs:147     fn create_buffer_raw(&mut self, info: factory::BufferInfo) -> Result<handle::RawBuffer<Resources>, factory::BufferError> {\r\n                                                                                                                                            ^~~~~~~~~~~~~~~~~~~~\r\nsrc/backend/metal/src/factory.rs:147:104: 147:124 help: run `rustc --explain E0412` to see a detailed explanation\r\nsrc/backend/metal/src/factory.rs:147:104: 147:124 help: no candidates by the name of `BufferError` found in your project; maybe you misspelled the name or forgot to import an external crate?\r\nsrc/backend/metal/src/factory.rs:151:5: 161:6 error: method `create_buffer_const_raw` is not a member of trait `core::Factory` [E0407]\r\nsrc/backend/metal/src/factory.rs:151     fn create_buffer_const_raw(&mut self, data: &[u8], stride: usize, role: factory::BufferRole, bind: factory::Bind)\r\n                                         ^\r\nsrc/backend/metal/src/factory.rs:151:5: 161:6 help: run `rustc --explain E0407` to see a detailed explanation\r\nsrc/backend/metal/src/factory.rs:151:77: 151:96 error: type name `factory::BufferRole` is undefined or not in scope [E0412]\r\nsrc/backend/metal/src/factory.rs:151     fn create_buffer_const_raw(&mut self, data: &[u8], stride: usize, role: factory::BufferRole, bind: factory::Bind)\r\n                                                                                                                 ^~~~~~~~~~~~~~~~~~~\r\nsrc/backend/metal/src/factory.rs:151:77: 151:96 help: run `rustc --explain E0412` to see a detailed explanation\r\nsrc/backend/metal/src/factory.rs:151:77: 151:96 help: no candidates by the name of `BufferRole` found in your project; maybe you misspelled the name or forgot to import an external crate?\r\nsrc/backend/metal/src/factory.rs:151:104: 151:117 error: type name `factory::Bind` is undefined or not in scope [E0412]\r\nsrc/backend/metal/src/factory.rs:151     fn create_buffer_const_raw(&mut self, data: &[u8], stride: usize, role: factory::BufferRole, bind: factory::Bind)\r\n                                                                                                                                            ^~~~~~~~~~~~~\r\nsrc/backend/metal/src/factory.rs:151:104: 151:117 help: run `rustc --explain E0412` to see a detailed explanation\r\nsrc/backend/metal/src/factory.rs:151:104: 151:117 help: you can import it into scope: `use core::memory::Bind;`.\r\nsrc/backend/metal/src/factory.rs:152:73: 152:93 error: type name `factory::BufferError` is undefined or not in scope [E0412]\r\nsrc/backend/metal/src/factory.rs:152                                 -> Result<handle::RawBuffer<Resources>, factory::BufferError> {\r\n                                                                                                             ^~~~~~~~~~~~~~~~~~~~\r\nsrc/backend/metal/src/factory.rs:152:73: 152:93 help: run `rustc --explain E0412` to see a detailed explanation\r\nsrc/backend/metal/src/factory.rs:152:73: 152:93 help: no candidates by the name of `BufferError` found in your project; maybe you misspelled the name or forgot to import an external crate?\r\nsrc/backend/metal/src/factory.rs:153:20: 153:39 error: `factory::BufferInfo` does not name a structure [E0422]\r\nsrc/backend/metal/src/factory.rs:153         let info = factory::BufferInfo {\r\n                                                        ^~~~~~~~~~~~~~~~~~~\r\nsrc/backend/metal/src/factory.rs:153:20: 153:39 help: run `rustc --explain E0422` to see a detailed explanation\r\nsrc/backend/metal/src/factory.rs:155:20: 155:41 error: failed to resolve. Could not find `Usage` in `core::factory` [E0433]\r\nsrc/backend/metal/src/factory.rs:155             usage: factory::Usage::Const,\r\n                                                        ^~~~~~~~~~~~~~~~~~~~~\r\nsrc/backend/metal/src/factory.rs:155:20: 155:41 help: run `rustc --explain E0433` to see a detailed explanation\r\nsrc/backend/metal/src/factory.rs:355:44: 355:69 error: type name `core::texture::Descriptor` is undefined or not in scope [E0412]\r\nsrc/backend/metal/src/factory.rs:355     fn create_texture_raw(&mut self, desc: core::texture::Descriptor, hint: Option<core::format::ChannelType>,\r\n                                                                                ^~~~~~~~~~~~~~~~~~~~~~~~~\r\nsrc/backend/metal/src/factory.rs:355:44: 355:69 help: run `rustc --explain E0412` to see a detailed explanation\r\nsrc/backend/metal/src/factory.rs:355:44: 355:69 help: you can import it into scope: `use core::pso::Descriptor;`.\r\nsrc/backend/metal/src/factory.rs:356:96: 356:116 error: type name `core::texture::Error` is undefined or not in scope [E0412]\r\nsrc/backend/metal/src/factory.rs:356                           data_opt: Option<&[&[u8]]>) -> Result<handle::RawTexture<Resources>, core::texture::Error> {\r\n                                                                                                                                    ^~~~~~~~~~~~~~~~~~~~\r\nsrc/backend/metal/src/factory.rs:356:96: 356:116 help: run `rustc --explain E0412` to see a detailed explanation\r\nsrc/backend/metal/src/factory.rs:356:96: 356:116 help: you can import several candidates into scope (`use ...;`):\r\nsrc/backend/metal/src/factory.rs:356:96: 356:116 help:   `core::mapping::Error`\r\nsrc/backend/metal/src/factory.rs:356:96: 356:116 help:   `std::error::Error`\r\nsrc/backend/metal/src/factory.rs:356:96: 356:116 help:   `std::fmt::Error`\r\nsrc/backend/metal/src/factory.rs:356:96: 356:116 help:   `std::io::Error`\r\nsrc/backend/metal/src/factory.rs:671:80: 671:98 error: type name `factory::MapAccess` is undefined or not in scope [E0412]\r\nsrc/backend/metal/src/factory.rs:671     fn map_buffer_raw(&mut self, _buf: &handle::RawBuffer<Resources>, _access: factory::MapAccess) -> RawMapping {\r\n                                                                                                                    ^~~~~~~~~~~~~~~~~~\r\nsrc/backend/metal/src/factory.rs:671:80: 671:98 help: run `rustc --explain E0412` to see a detailed explanation\r\nsrc/backend/metal/src/factory.rs:671:80: 671:98 help: no candidates by the name of `MapAccess` found in your project; maybe you misspelled the name or forgot to import an external crate?\r\nsrc/backend/metal/src/factory.rs:675:5: 677:6 error: method `unmap_buffer_raw` is not a member of trait `core::Factory` [E0407]\r\nsrc/backend/metal/src/factory.rs:675     fn unmap_buffer_raw(&mut self, _map: RawMapping) {\r\n                                         ^\r\nsrc/backend/metal/src/factory.rs:675:5: 677:6 help: run `rustc --explain E0407` to see a detailed explanation\r\nsrc/backend/metal/src/factory.rs:690:34: 690:74 error: type name `core::mapping::RW` is undefined or not in scope [E0412]\r\nsrc/backend/metal/src/factory.rs:690                               -> core::mapping::RW<T, Resources, Factory> {\r\n                                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\nsrc/backend/metal/src/factory.rs:690:34: 690:74 help: run `rustc --explain E0412` to see a detailed explanation\r\nsrc/backend/metal/src/factory.rs:690:34: 690:74 help: no candidates by the name of `RW` found in your project; maybe you misspelled the name or forgot to import an external crate?\r\nsrc/backend/metal/src/command.rs:382:6: 382:39 error: trait `command::CommandBuffer` is not in scope [E0405]\r\nsrc/backend/metal/src/command.rs:382 impl command::CommandBuffer<Resources> for CommandBuffer {\r\n                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\nsrc/backend/metal/src/command.rs:382:6: 382:39 help: run `rustc --explain E0405` to see a detailed explanation\r\nsrc/backend/metal/src/command.rs:382:6: 382:39 help: no candidates by the name of `CommandBuffer` found in your project; maybe you misspelled the name or forgot to import an external crate?\r\nsrc/backend/metal/src/map.rs:448:74: 448:87 error: unresolved name `NoMultiSample` [E0425]\r\nsrc/backend/metal/src/map.rs:448         MTLTextureType::D2            => shade::TextureType::D2(NoArray, NoMultiSample),\r\n                                                                                                          ^~~~~~~~~~~~~\r\nsrc/backend/metal/src/map.rs:448:74: 448:87 help: run `rustc --explain E0425` to see a detailed explanation\r\nsrc/backend/metal/src/map.rs:449:72: 449:85 error: unresolved name `NoMultiSample` [E0425]\r\nsrc/backend/metal/src/map.rs:449         MTLTextureType::D2Array       => shade::TextureType::D2(Array, NoMultiSample),\r\n                                                                                                        ^~~~~~~~~~~~~\r\nsrc/backend/metal/src/map.rs:449:72: 449:85 help: run `rustc --explain E0425` to see a detailed explanation\r\nsrc/backend/metal/src/map.rs:450:74: 450:85 error: unresolved name `MultiSample` [E0425]\r\nsrc/backend/metal/src/map.rs:450         MTLTextureType::D2Multisample => shade::TextureType::D2(NoArray, MultiSample),\r\n                                                                                                          ^~~~~~~~~~~\r\nsrc/backend/metal/src/map.rs:450:74: 450:85 help: run `rustc --explain E0425` to see a detailed explanation\r\nsrc/backend/metal/src/map.rs:460:22: 460:44 error: unresolved name `factory::RENDER_TARGET` [E0425]\r\nsrc/backend/metal/src/map.rs:460     if bind.contains(factory::RENDER_TARGET) || bind.contains(factory::DEPTH_STENCIL) {\r\n                                                      ^~~~~~~~~~~~~~~~~~~~~~\r\nsrc/backend/metal/src/map.rs:460:22: 460:44 help: run `rustc --explain E0425` to see a detailed explanation\r\nsrc/backend/metal/src/map.rs:460:63: 460:85 error: unresolved name `factory::DEPTH_STENCIL` [E0425]\r\nsrc/backend/metal/src/map.rs:460     if bind.contains(factory::RENDER_TARGET) || bind.contains(factory::DEPTH_STENCIL) {\r\n                                                                                               ^~~~~~~~~~~~~~~~~~~~~~\r\nsrc/backend/metal/src/map.rs:460:63: 460:85 help: run `rustc --explain E0425` to see a detailed explanation\r\nsrc/backend/metal/src/map.rs:464:22: 464:46 error: unresolved name `factory::SHADER_RESOURCE` [E0425]\r\nsrc/backend/metal/src/map.rs:464     if bind.contains(factory::SHADER_RESOURCE) {\r\n                                                      ^~~~~~~~~~~~~~~~~~~~~~~~\r\nsrc/backend/metal/src/map.rs:464:22: 464:46 help: run `rustc --explain E0425` to see a detailed explanation\r\nsrc/backend/metal/src/map.rs:468:22: 468:47 error: unresolved name `factory::UNORDERED_ACCESS` [E0425]\r\nsrc/backend/metal/src/map.rs:468     if bind.contains(factory::UNORDERED_ACCESS) {\r\n                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~\r\nsrc/backend/metal/src/map.rs:468:22: 468:47 help: run `rustc --explain E0425` to see a detailed explanation\r\nsrc/backend/metal/src/map.rs:475:27: 475:36 error: type name `MapAccess` is undefined or not in scope [E0412]\r\nsrc/backend/metal/src/map.rs:475 pub fn map_access(access: MapAccess) -> MTLResourceOptions {\r\n                                                           ^~~~~~~~~\r\nsrc/backend/metal/src/map.rs:475:27: 475:36 help: run `rustc --explain E0412` to see a detailed explanation\r\nsrc/backend/metal/src/map.rs:475:27: 475:36 help: no candidates by the name of `MapAccess` found in your project; maybe you misspelled the name or forgot to import an external crate?\r\nsrc/backend/metal/src/map.rs:477:9: 477:28 error: failed to resolve. Use of undeclared type or module `MapAccess` [E0433]\r\nsrc/backend/metal/src/map.rs:477         MapAccess::Readable => MTLResourceCPUCacheModeDefaultCache,\r\n                                         ^~~~~~~~~~~~~~~~~~~\r\nsrc/backend/metal/src/map.rs:477:9: 477:28 help: run `rustc --explain E0433` to see a detailed explanation\r\nsrc/backend/metal/src/map.rs:478:9: 478:28 error: failed to resolve. Use of undeclared type or module `MapAccess` [E0433]\r\nsrc/backend/metal/src/map.rs:478         MapAccess::Writable => MTLResourceCPUCacheModeWriteCombined,\r\n                                         ^~~~~~~~~~~~~~~~~~~\r\nsrc/backend/metal/src/map.rs:478:9: 478:28 help: run `rustc --explain E0433` to see a detailed explanation\r\nsrc/backend/metal/src/map.rs:479:9: 479:22 error: failed to resolve. Use of undeclared type or module `MapAccess` [E0433]\r\nsrc/backend/metal/src/map.rs:479         MapAccess::RW => MTLResourceCPUCacheModeDefaultCache,\r\n                                         ^~~~~~~~~~~~~\r\nsrc/backend/metal/src/map.rs:479:9: 479:22 help: run `rustc --explain E0433` to see a detailed explanation\r\nsrc/backend/metal/src/lib.rs:277:77: 277:92 error: `tex::Descriptor` does not name a structure [E0422]\r\nsrc/backend/metal/src/lib.rs:277     let color_tex = device.share.handles.borrow_mut().make_texture(raw_tex, tex::Descriptor {\r\n                                                                                                             ^~~~~~~~~~~~~~~\r\nsrc/backend/metal/src/lib.rs:277:77: 277:92 help: run `rustc --explain E0422` to see a detailed explanation\r\nerror: cannot continue compilation due to previous error\r\nBuild failed, waiting for other jobs to finish...\r\nerror: Could not compile `gfx_device_metal`.\r\n````"},"comment":{"url":"https://api.github.com/repos/gfx-rs/gfx/issues/comments/246702407","html_url":"https://github.com/gfx-rs/gfx/issues/1048#issuecomment-246702407","issue_url":"https://api.github.com/repos/gfx-rs/gfx/issues/1048","id":246702407,"user":{"login":"kvark","id":107301,"avatar_url":"https://avatars.githubusercontent.com/u/107301?v=3","gravatar_id":"","url":"https://api.github.com/users/kvark","html_url":"https://github.com/kvark","followers_url":"https://api.github.com/users/kvark/followers","following_url":"https://api.github.com/users/kvark/following{/other_user}","gists_url":"https://api.github.com/users/kvark/gists{/gist_id}","starred_url":"https://api.github.com/users/kvark/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kvark/subscriptions","organizations_url":"https://api.github.com/users/kvark/orgs","repos_url":"https://api.github.com/users/kvark/repos","events_url":"https://api.github.com/users/kvark/events{/privacy}","received_events_url":"https://api.github.com/users/kvark/received_events","type":"User","site_admin":false},"created_at":"2016-09-13T14:36:58Z","updated_at":"2016-09-13T14:36:58Z","body":"We should either fix Metal quickly or remove it from Cargo config until it becomes properly CI-tested.\r\n@jamiltron you can try removing all metal-related stuff manually for now (from `Cargo.toml`) to get going while we are working on a solution. Sorry for the trouble!"}}
{"actor":{"display_login":"kvark"}}