Posts

Post not yet marked as solved
0 Replies
250 Views
I am working on compiling a simple openGL program in Xcode on my M1 Mac running Monterey 12.2.1. The build succeeds, but I get this nasty error 2022-04-05 09:54:18.959203-0500 opengl[24908:835152] [default] error finding potential wrapper bundle for node <FSNode 0x100a09910> { isDir = ?, path = '/Users/liamwhite/Library/Developer/Xcode/DerivedData/opengl-awawpgevgzpjofbrfmzvucbfrzpp/Build/Products/Debug' }: Error Domain=NSOSStatusErrorDomain Code=-10811 "kLSNotAnApplicationErr: Item needs to be an application, but is not" UserInfo={_LSLine=1579, _LSFunction=wrapperBundleNodeForWrappedNode} 2022-04-05 09:54:18.959276-0500 opengl[24908:835152] [default] error finding potential wrapper bundle for node <FSNode 0x100a09910> { isDir = ?, path = '/Users/liamwhite/Library/Developer/Xcode/DerivedData/opengl-awawpgevgzpjofbrfmzvucbfrzpp/Build/Products/Debug' }: Error Domain=NSOSStatusErrorDomain Code=-10811 "kLSNotAnApplicationErr: Item needs to be an application, but is not" UserInfo={_LSLine=1579, _LSFunction=wrapperBundleNodeForWrappedNode} 2022-04-05 09:54:18.959308-0500 opengl[24908:835152] [default] error finding potential wrapper bundle for node <FSNode 0x100a09910> { isDir = ?, path = '/Users/liamwhite/Library/Developer/Xcode/DerivedData/opengl-awawpgevgzpjofbrfmzvucbfrzpp/Build/Products/Debug' }: Error Domain=NSOSStatusErrorDomain Code=-10811 "kLSNotAnApplicationErr: Item needs to be an application, but is not" UserInfo={_LSLine=1579, _LSFunction=wrapperBundleNodeForWrappedNode} 2022-04-05 09:54:19.019242-0500 opengl[24908:835152] [default] error finding potential wrapper bundle for node <FSNode 0x100a09910> { isDir = ?, path = '/Users/liamwhite/Library/Developer/Xcode/DerivedData/opengl-awawpgevgzpjofbrfmzvucbfrzpp/Build/Products/Debug' }: Error Domain=NSOSStatusErrorDomain Code=-10811 "kLSNotAnApplicationErr: Item needs to be an application, but is not" UserInfo={_LSLine=1579, _LSFunction=wrapperBundleNodeForWrappedNode} 2022-04-05 09:54:19.054172-0500 opengl[24908:835152] Metal API Validation Enabled Program ended with exit code: 0 A potential fix is proposed in this SO post, but I am new to Xcode and the answer is too vague for me. I expect a window to pop up and display a simple triangle. Instead I see my system attempt to open a window (for a fraction of a second) before quitting the window and giving me the above error. Below is my code, if it is of any consequence: #include <iostream> #include <string> #define GLEW_STATIC #include <GL/glew.h> #include <GLFW/glfw3.h> static unsigned int CompileShader(unsigned int type, const std::string& source) {   unsigned int id = glCreateShader(type);   const char* src = source.c_str();   glShaderSource(id, 1, &src, nullptr);   glCompileShader(id);       int result;   glGetShaderiv(id, GL_COMPILE_STATUS, &result);   if(!result)   {     int length;     glGetShaderiv(id, GL_INFO_LOG_LENGTH, &length);     char* message = static_cast<char*>(alloca(length * sizeof(char))); // alloca is from C. it allows dynamic stack allocation!     glGetShaderInfoLog(id, length, &length, message);     std::cout << "Failed to compile " << (type == GL_VERTEX_SHADER ? "vertex" : "fragment") << " shader" << std::endl;     std::cout << message << std::endl;           return 0;   }       return id; } static unsigned int CreateShader(const std::string& vertexShader, const std::string& fragmentShader) {   unsigned int program = glCreateProgram();   unsigned int vs = CompileShader(GL_VERTEX_SHADER, vertexShader);   unsigned int fs = CompileShader(GL_FRAGMENT_SHADER, fragmentShader);       glAttachShader(program, vs);   glAttachShader(program, fs);   glLinkProgram(program);   glValidateProgram(program);       glDeleteShader(vs);   glDeleteShader(fs);       return program; } int main() {   GLFWwindow* window;   /* Initialize the library */   if (!glfwInit())     return -1;      glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);   glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2);   glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);   glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);   /* Create a windowed mode window and its OpenGL context */   window = glfwCreateWindow(640, 480, "", NULL, NULL);   if (!window)   {     glfwTerminate();     return -1;   }   /* Make the window's context current */   glfwMakeContextCurrent(window);       if(!glewInit())     return 0;           float positions[6] = {     -0.5f, -0.5f,      0.0f, 0.5f,      0.5f, -0.5f   };       unsigned int vao;   glGenVertexArrays(1, &vao);   glBindVertexArray(vao);       unsigned int buffer;   glGenBuffers(1, &buffer);   glBindBuffer(GL_ARRAY_BUFFER, buffer);       glBufferData(GL_ARRAY_BUFFER, 6 * sizeof(float), positions, GL_STATIC_DRAW);       // Below is specifying the layout of our buffer (positions, above)   glEnableVertexAttribArray(0);   glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, sizeof(float) * 2, 0);       std::string vertexShader =     "#version 330 core\n"     "layout(location = 0) in vec4 position;\n"     "void main()\n"     "{\n"     "gl_Position = position;\n"     "}\n";       std::string fragmentShader =     "#version 330 core\n"     "layout(location = 0) out vec4 color;\n"     "void main()\n"     "{\n"     "color = vec4(1.0, 0.0, 0.0, 0.0, 1.0);\n"     "}\n";       unsigned int shader = CreateShader(vertexShader, fragmentShader);       glUseProgram(shader);       /* Loop until the user closes the window */   while (!glfwWindowShouldClose(window))   {     /* Render here */     glClear(GL_COLOR_BUFFER_BIT);           glDrawArrays(GL_TRIANGLES, 0, 3);           /* Swap front and back buffers */     glfwSwapBuffers(window);     /* Poll for and process events */     glfwPollEvents();   }   glfwTerminate();   return 0; }
Posted
by wliam.
Last updated
.