# Fail to run glfw 3.0.4 examples on ubuntu 14.04

**URL:** <https://discourse.glfw.org/t/fail-to-run-glfw-3-0-4-examples-on-ubuntu-14-04/98>\
**Category:** support\
**Created:** [October 11, 2014, 10:46am UTC](https://discourse.glfw.org/t/fail-to-run-glfw-3-0-4-examples-on-ubuntu-14-04/98 "2014-10-11T10:46:06Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex035/uploads/glfw/original/1X/b8cdefe6b61b8d5aee6c43b2c56e9cf5eabecfe4.svg) [@system](https://discourse.glfw.org/u/system)\
**Post date:** [October 11, 2014, 10:46am UTC](https://discourse.glfw.org/t/fail-to-run-glfw-3-0-4-examples-on-ubuntu-14-04/98/1 "2014-10-11T10:46:06Z")

</div>

**[pri-1991](https://sourceforge.net/u/pri-1991/)** wrote on [Saturday, October 11, 2014](https://sourceforge.net/p/glfw/discussion/247562/thread/0967b2aa/#e5c4):

Not able to run .exe of following example (threads.c) present in GLFW3 3.0.4 on ubuntu 14.04 using:  
gcc -I …/deps/ threads.c …/deps/tinycthread.c -g -lGL -lGLU -lglfw3 -lX11 -lXxf86vm -lXrandr -lpthread -lXi -lm.

example(threads.c) is as follows:

```c
//========================================================================
// Multithreading test
// Copyright (c) Camilla Berglund <elmindreda@elmindreda.org>
//
// This software is provided 'as-is', without any express or implied
// warranty. In no event will the authors be held liable for any damages
// arising from the use of this software.
//
// Permission is granted to anyone to use this software for any purpose,
// including commercial applications, and to alter it and redistribute it
// freely, subject to the following restrictions:
//
// 1. The origin of this software must not be misrepresented; you must not
// claim that you wrote the original software. If you use this software
// in a product, an acknowledgment in the product documentation would
// be appreciated but is not required.
//
// 2. Altered source versions must be plainly marked as such, and must not
// be misrepresented as being the original software.
//
// 3. This notice may not be removed or altered from any source
// distribution.
//
//========================================================================
//
// This test is intended to verify whether the OpenGL context part of
// the GLFW API is able to be used from multiple threads
//
//========================================================================

#include "tinycthread.h"

#include <GLFW/glfw3.h>

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

typedef struct
{
    GLFWwindow* window;
    const char* title;
    float r, g, b;
    thrd_t id;
} Thread;

static volatile GLboolean running = GL_TRUE;

static void error_callback(int error, const char* description)
{
    fprintf(stderr, "Error: %s\n", description);
}

static int thread_main(void* data)
{
    const Thread* thread = (const Thread*) data;

    glfwMakeContextCurrent(thread->window);
    glfwSwapInterval(1);

    while (running)
    {
        const float v = (float) fabs(sin(glfwGetTime() * 2.f));
        glClearColor(thread->r * v, thread->g * v, thread->b * v, 0.f);

        glClear(GL_COLOR_BUFFER_BIT);
        glfwSwapBuffers(thread->window);
    }

    glfwMakeContextCurrent(NULL);
    return 0;
}

int main(void)
{
    int i, result;
    Thread threads[] =
    {
        { NULL, "Red", 1.f, 0.f, 0.f, 0 },
        { NULL, "Green", 0.f, 1.f, 0.f, 0 },
        { NULL, "Blue", 0.f, 0.f, 1.f, 0 }
    };
    const int count = sizeof(threads) / sizeof(Thread);

    glfwSetErrorCallback(error_callback);

    if (!glfwInit())
        exit(EXIT_FAILURE);

    glfwWindowHint(GLFW_VISIBLE, GL_FALSE);

    for (i = 0; i < count; i++)
    {
        threads[i].window = glfwCreateWindow(200, 200,
                                             threads[i].title,
                                             NULL, NULL);
        if (!threads[i].window)
        {
            glfwTerminate();
            exit(EXIT_FAILURE);
        }

        glfwSetWindowPos(threads[i].window, 200 + 250 * i, 200);
        glfwShowWindow(threads[i].window);

        if (thrd_create(&threads[i].id, thread_main, threads + i) !=
            thrd_success)
        {
            fprintf(stderr, "Failed to create secondary thread\n");

            glfwTerminate();
            exit(EXIT_FAILURE);
        }
    }

    while (running)
    {
        glfwWaitEvents();

        for (i = 0; i < count; i++)
        {
            if (glfwWindowShouldClose(threads[i].window))
                running = GL_FALSE;
        }
    }

    for (i = 0; i < count; i++)
        thrd_join(threads[i].id, &result);

    exit(EXIT_SUCCESS);
}

```

After compiling with gcc when I ran .exe, following appears on the terminal:

```auto
Program terminated with signal SIGABRT, Aborted.
#0 0x00007f5637754bb9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 0x00007f5637754bb9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1 0x00007f5637757fc8 in __GI_abort () at abort.c:89
#2 0x00007f563774da76 in __assert_fail_base (fmt=0x7f563789f370 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",
    assertion=assertion@entry=0x7f56360a8615 "!c->out.queue_len", file=file@entry=0x7f56360a8600 "../../src/xcb_conn.c", line=line@entry=186,
    function=function@entry=0x7f56360a8630 "write_vec") at assert.c:92
#3 0x00007f563774db22 in __GI___ assert_fail (assertion=0x7f56360a8615 "!c->out.queue_len", file=0x7f56360a8600 "../../src/xcb_conn.c",
    line=186, function=0x7f56360a8630 "write_vec") at assert.c:101
#4 0x00007f563609ce5b in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#5 0x00007f563609d191 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#6 0x00007f563609d8a7 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#7 0x00007f563609d9c8 in xcb_take_socket () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#8 0x00007f5638663a38 in ?? () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#9 0x00007f5638663b0e in ?? () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#10 0x00007f5638664580 in _XReply () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#11 0x00007f56389a0673 in ?? () from /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
#12 0x00007f563899e02b in ?? () from /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
#13 0x00007f563413e9a9 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#14 0x00007f563413edc3 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#15 0x00007f56341338f5 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#16 0x0000000000403de3 in thread_main (data=0x7fff864450a0) at threads.c:66
#17 0x00000000004043bd in _thrd_wrapper_function (aArg=0x2525ca0) at ../deps/tinycthread.c:346
#18 0x00007f5638002182 in start_thread (arg=0x7f562a3c7700) at pthread_create.c:312
#19 0x00007f5637818fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

```

Compilation of the above code along with #include “tinycthread.h” is successfully done. But while running .exe why am I facing the issue on UBUNTU 14.04…?

Even the same issue when I executed the .exe which is already present in GLFW 3.0.4.

Please help…!!!

The same code when executed on ubuntu 12.04, runs successfully.

Thanks in advance, any help would be appreciated.

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex035/uploads/glfw/original/1X/b8cdefe6b61b8d5aee6c43b2c56e9cf5eabecfe4.svg) [@system](https://discourse.glfw.org/u/system)\
**Post date:** [October 11, 2014, 9:51pm UTC](https://discourse.glfw.org/t/fail-to-run-glfw-3-0-4-examples-on-ubuntu-14-04/98/2 "2014-10-11T21:51:28Z")

</div>

**[elmindreda](https://sourceforge.net/u/elmindreda/)** wrote on [Saturday, October 11, 2014](https://sourceforge.net/p/glfw/discussion/247562/thread/0967b2aa/#00f5):

Compile with debug information so the call stack will be usable.

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex035/uploads/glfw/original/1X/b8cdefe6b61b8d5aee6c43b2c56e9cf5eabecfe4.svg) [@system](https://discourse.glfw.org/u/system)\
**Post date:** [October 13, 2014, 8:43am UTC](https://discourse.glfw.org/t/fail-to-run-glfw-3-0-4-examples-on-ubuntu-14-04/98/3 "2014-10-13T08:43:30Z")

</div>

**[sumitgambhir](https://sourceforge.net/u/sumitgambhir/)** wrote on [Monday, October 13, 2014](https://sourceforge.net/p/glfw/discussion/247562/thread/0967b2aa/#d70e):

```
     gcc -I ../deps/ threads.c ../deps/tinycthread.c -g -lGL -lGLU -lglfw3 -lX11 -lXxf86vm -lXrandr -lpthread -lXi -lm 

    Following is the backtrace with gdb : -
    
            Program terminated with signal SIGABRT, Aborted.
    #0 0x00007f5637754bb9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
    56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
    (gdb) bt
    #0 0x00007f5637754bb9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
    #1 0x00007f5637757fc8 in __GI_abort () at abort.c:89
    #2 0x00007f563774da76 in __assert_fail_base (fmt=0x7f563789f370 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", 
        assertion=assertion@entry=0x7f56360a8615 "!c->out.queue_len", file=file@entry=0x7f56360a8600 "../../src/xcb_conn.c", line=line@entry=186, 
        function=function@entry=0x7f56360a8630 "write_vec") at assert.c:92
    #3 0x00007f563774db22 in __GI___ assert_fail (assertion=0x7f56360a8615 "!c->out.queue_len", file=0x7f56360a8600 "../../src/xcb_conn.c", 
        line=186, function=0x7f56360a8630 "write_vec") at assert.c:101
    #4 0x00007f563609ce5b in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
    #5 0x00007f563609d191 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
    #6 0x00007f563609d8a7 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
    #7 0x00007f563609d9c8 in xcb_take_socket () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
    #8 0x00007f5638663a38 in ?? () from /usr/lib/x86_64-linux-gnu/libX11.so.6
    #9 0x00007f5638663b0e in ?? () from /usr/lib/x86_64-linux-gnu/libX11.so.6
    #10 0x00007f5638664580 in _XReply () from /usr/lib/x86_64-linux-gnu/libX11.so.6
    #11 0x00007f56389a0673 in ?? () from /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
    #12 0x00007f563899e02b in ?? () from /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
    #13 0x00007f563413e9a9 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
    #14 0x00007f563413edc3 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
    #15 0x00007f56341338f5 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
    #16 0x0000000000403de3 in thread_main (data=0x7fff864450a0) at threads.c:66
    #17 0x00000000004043bd in _thrd_wrapper_function (aArg=0x2525ca0) at ../deps/tinycthread.c:346
    #18 0x00007f5638002182 in start_thread (arg=0x7f562a3c7700) at pthread_create.c:312
    #19 0x00007f5637818fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

    Anyone tried thread.c program on Ubuntu 14.04 which is under tests directory?
    Please help to resolve the issue.
```

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex035/uploads/glfw/original/1X/b8cdefe6b61b8d5aee6c43b2c56e9cf5eabecfe4.svg) [@system](https://discourse.glfw.org/u/system)\
**Post date:** [October 13, 2014, 1:01pm UTC](https://discourse.glfw.org/t/fail-to-run-glfw-3-0-4-examples-on-ubuntu-14-04/98/4 "2014-10-13T13:01:36Z")

</div>

**[elmindreda](https://sourceforge.net/u/elmindreda/)** wrote on [Monday, October 13, 2014](https://sourceforge.net/p/glfw/discussion/247562/thread/0967b2aa/#883e):

Install `xserver-xorg-video-intel-dbg` for symbols for the Intel driver.

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex035/uploads/glfw/original/1X/b8cdefe6b61b8d5aee6c43b2c56e9cf5eabecfe4.svg) [@system](https://discourse.glfw.org/u/system)\
**Post date:** [October 14, 2014, 5:51am UTC](https://discourse.glfw.org/t/fail-to-run-glfw-3-0-4-examples-on-ubuntu-14-04/98/5 "2014-10-14T05:51:16Z")

</div>

**[sumitgambhir](https://sourceforge.net/u/sumitgambhir/)** wrote on [Tuesday, October 14, 2014](https://sourceforge.net/p/glfw/discussion/247562/thread/0967b2aa/#199d):

```
Backstrace after installing Intel drivers: - 
(gdb) bt
#0 0x00007f0970e75bb9 in __GI_raise (sig=sig@entry=6)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1 0x00007f0970e78fc8 in __GI_abort () at abort.c:89
#2 0x00007f0970e6ea76 in __assert_fail_base (
    fmt=0x7f0970fc0370 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", 
    assertion=assertion@entry=0x7f096f7c9615 "!c->out.queue_len", 
    file=file@entry=0x7f096f7c9600 "../../src/xcb_conn.c", 
    line=line@entry=186, function=function@entry=0x7f096f7c9630 "write_vec")
    at assert.c:92
#3 0x00007f0970e6eb22 in __GI___ assert_fail (
    assertion=0x7f096f7c9615 "!c->out.queue_len", 
    file=0x7f096f7c9600 "../../src/xcb_conn.c", line=186, 
    function=0x7f096f7c9630 "write_vec") at assert.c:101
#4 0x00007f096f7bde5b in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#5 0x00007f096f7be191 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#6 0x00007f096f7be8a7 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#7 0x00007f096f7be9c8 in xcb_take_socket ()
   from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#8 0x00007f0971d84a38 in ?? () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#9 0x00007f0971d85259 in _XFlush () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#10 0x00007f0971d87c75 in _XGetRequest ()
   from /usr/lib/x86_64-linux-gnu/libX11.so.6
#11 0x00007f0971d810bb in XSync () from /usr/lib/x86_64-linux-gnu/libX11.so.6
---Type <return> to continue, or q <return> to quit---
#12 0x00007f09720c075a in ?? () from /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
#13 0x000000000040dc89 in _glfwPlatformSwapBuffers ()
#14 0x0000000000404e00 in glfwSwapBuffers ()
#15 0x0000000000403e4f in thread_main (data=0x7fff243ec830) at threads.c:67
#16 0x000000000040f747 in _thrd_wrapper_function (aArg=0x2242f30)
    at tinycthread.c:346
#17 0x00007f097120d182 in start_thread (arg=0x7f096b01d700)
    at pthread_create.c:312
#18 0x00007f0970f39fbd in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
(gdb)
```

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex035/uploads/glfw/original/1X/b8cdefe6b61b8d5aee6c43b2c56e9cf5eabecfe4.svg) [@system](https://discourse.glfw.org/u/system)\
**Post date:** [October 14, 2014, 10:55am UTC](https://discourse.glfw.org/t/fail-to-run-glfw-3-0-4-examples-on-ubuntu-14-04/98/6 "2014-10-14T10:55:30Z")

</div>

**[elmindreda](https://sourceforge.net/u/elmindreda/)** wrote on [Tuesday, October 14, 2014](https://sourceforge.net/p/glfw/discussion/247562/thread/0967b2aa/#e86c):

Oh, now I remember this. Have a look at [#131](https://github.com/glfw/glfw/issues/131).
