Hi all,
I'm using this:
$ lsb_release -a
Distributor ID: Ubuntu
Description: Ubuntu 14.04.3 LTS
Release: 14.04
Codename: trusty
$ uname -a
Linux mypc 3.19.0-26-generic #28~14.04.1-Ubuntu SMP Wed Aug 12 14:12:35 UTC 2015 i686 i686 i686 GNU/Linux
I got openFrameworks via github; I don't use CodeBlocks etc, so I thought I'd be able to compile the examples directly from the command line. My procedure was approx like this:
$ git submodule add https://github.com/openframeworks/openFrameworks.git # instead of git clone
$ cd openFrameworks/
$ git submodule init # Submodule 'apps/projectGenerator'
$ git submodule update
The currently checked out versions are:
openFrameworks$ git log -1
commit bb4ab7804681d7dd5952561b233f24e39a7166c4
openFrameworks$ cd apps/projectGenerator
projectGenerator$ git log -1
commit cf3ec11932b2c3d91ac7b082391d16764ae03fd6
Then I did:
$ cd /.../openFrameworks/scripts/linux/ubuntu
$ ./install_dependencies.sh
$ cd /.../openFrameworks/scripts/linux/
$ ./compileOF.sh
$ ./compilePG.sh # to compile the project generator
This compilation process apparently finished OK, because I got:
GUI project generator was correctly installed in /.../openFrameworks/projectGenerator
Command line project generator was correctly installed and will work once the
terminal is restarted. To get more help run projectGenerator --help
Now, when I call this particular executable, I get an error:
$ /.../openFrameworks/projectGenerator/projectGenerator
[ error ] ofAppGLFWWindow: 65544: GLX: Failed to create context: GLXBadFBConfig
[ error ] ofAppGLFWWindow: couldn't create GLFW window
Segmentation fault (core dumped)
... however, there is a projectGenerator
in /usr/local/bin/projectGenerator
, and when I call that executable, it works ??!
So first question - what is the difference between /usr/local/bin/projectGenerator
and /.../openFrameworks/projectGenerator/projectGenerator
? All I can notice so far are different file sizes:
$ ls -la /.../openFrameworks/projectGenerator/projectGenerator /usr/local/bin/projectGenerator
-rwxrwxr-x 1 user user 6135629 Sep 7 10:16 /.../openFrameworks/projectGenerator/projectGenerator
-rwxr-xr-x 1 root root 5786530 Sep 7 10:25 /usr/local/bin/projectGenerator
Then, as per http://forum.openframeworks.cc/t/build-all-examples-on-debian/13959 :
the version in github doesn't have the makefiles you can create them using the project generator or copying them from the template in scripts/linux/template
you'll need both the Makefile and the config.make file
... I did the following bash
one-liner:
openFrameworks$ for ix in $(find examples -name 'src'); do ixx=$(dirname $ix); echo $ix $ixx; projectGenerator -o".../openFrameworks" $ixx; done
... which utilized the /usr/local/bin/projectGenerator
, and as such (apparently) passed.
Then I did this:
$ cd openFrameworks/scripts/linux/
$ ./buildAllExamples.sh
... and it generally compiled, except for this error:
/.../openFrameworks/libs/openFrameworks/app/ofAppEGLWindow.h:63:21: fatal error: EGL/egl.h: No such file or directory
... which happened apparently for examples/gles/customEGLWindowSettings
. So I looked a bit, found that this header file should be in libegl1-mesa-dev
(libegl1-mesa-dev-lts-trusty
) which I sudo apt-get install
ed, after which the compile error was gone - but there appeared a linker error:
obj/linux/Debug/src/main.o: In function `void ofMainLoop::addWindow<ofAppEGLWindow>(std::shared_ptr<ofAppEGLWindow>)':
/.../openFrameworks/libs/openFrameworks/app/ofMainLoop.h:21: undefined reference to `ofAppEGLWindow::pollEvents()'
collect2: error: ld returned 1 exit status
So, I commented the exit
s in the buildAllExamples.sh
to allow it to compile the rest, and the process seemingly completed. But now, if I try to run any of the examples, I get the same error as for the /.../openFrameworks/projectGenerator/projectGenerator
:
openFrameworks$ examples/3d/3DPrimitivesExample/bin/3DPrimitivesExample
[ error ] ofAppGLFWWindow: 65544: GLX: Failed to create context: GLXBadFBConfig
[ error ] ofAppGLFWWindow: couldn't create GLFW window
openFrameworks$ examples/empty/emptyExample/bin/emptyExample
[ error ] ofAppGLFWWindow: 65544: GLX: Failed to create context: GLXBadFBConfig
[ error ] ofAppGLFWWindow: couldn't create GLFW window
Segmentation fault (core dumped)
So, my question is - what am I doing wrong, and how to I get the examples and the projectGenerator
to run?
This apparently is related to OpenGL problems, and I'm not really sure what to provide here, so for starters here's the output for glxinfo
(also, glxgears
works fine on my computer):
$ glxinfo
name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
GLX_ARB_create_context, GLX_ARB_create_context_profile,
GLX_ARB_fbconfig_float, GLX_ARB_framebuffer_sRGB, GLX_ARB_multisample,
GLX_EXT_create_context_es2_profile, GLX_EXT_framebuffer_sRGB,
GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info,
GLX_EXT_visual_rating, GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer,
GLX_OML_swap_method, GLX_SGIS_multisample, GLX_SGIX_fbconfig,
GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, GLX_SGI_swap_control
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
GLX_ARB_create_context, GLX_ARB_create_context_profile,
GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float,
GLX_ARB_framebuffer_sRGB, GLX_ARB_get_proc_address, GLX_ARB_multisample,
GLX_EXT_buffer_age, GLX_EXT_create_context_es2_profile,
GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB,
GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info,
GLX_EXT_visual_rating, GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer,
GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer,
GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group, GLX_SGI_make_current_read,
GLX_SGI_swap_control, GLX_SGI_video_sync
GLX version: 1.4
GLX extensions:
GLX_ARB_create_context, GLX_ARB_create_context_profile,
GLX_ARB_fbconfig_float, GLX_ARB_framebuffer_sRGB,
GLX_ARB_get_proc_address, GLX_ARB_multisample,
GLX_EXT_create_context_es2_profile, GLX_EXT_framebuffer_sRGB,
GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info,
GLX_EXT_visual_rating, GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer,
GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer,
GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group, GLX_SGI_make_current_read,
GLX_SGI_swap_control, GLX_SGI_video_sync
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) IGD x86/MMX/SSE2
OpenGL version string: 1.4 Mesa 10.5.9
OpenGL extensions:
GL_3DFX_texture_compression_FXT1, GL_AMD_shader_trinary_minmax,
GL_ANGLE_texture_compression_dxt3, GL_ANGLE_texture_compression_dxt5,
GL_APPLE_object_purgeable, GL_APPLE_packed_pixels,
GL_APPLE_vertex_array_object, GL_ARB_ES2_compatibility,
GL_ARB_clear_buffer_object, GL_ARB_compressed_texture_pixel_storage,
GL_ARB_copy_buffer, GL_ARB_debug_output, GL_ARB_depth_texture,
GL_ARB_draw_buffers, GL_ARB_draw_elements_base_vertex,
GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location,
GL_ARB_fragment_program, GL_ARB_fragment_shader,
GL_ARB_framebuffer_object, GL_ARB_get_program_binary,
GL_ARB_half_float_pixel, GL_ARB_internalformat_query,
GL_ARB_invalidate_subdata, GL_ARB_map_buffer_alignment,
GL_ARB_map_buffer_range, GL_ARB_multi_bind, GL_ARB_multisample,
GL_ARB_multitexture, GL_ARB_pixel_buffer_object, GL_ARB_point_parameters,
GL_ARB_point_sprite, GL_ARB_provoking_vertex, GL_ARB_robustness,
GL_ARB_sampler_objects, GL_ARB_separate_shader_objects,
GL_ARB_shader_objects, GL_ARB_shading_language_100, GL_ARB_shadow,
GL_ARB_sync, GL_ARB_texture_border_clamp, GL_ARB_texture_compression,
GL_ARB_texture_cube_map, GL_ARB_texture_env_add,
GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar,
GL_ARB_texture_env_dot3, GL_ARB_texture_mirrored_repeat,
GL_ARB_texture_non_power_of_two, GL_ARB_texture_rectangle,
GL_ARB_texture_storage, GL_ARB_transpose_matrix,
GL_ARB_vertex_array_object, GL_ARB_vertex_attrib_binding,
GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader,
GL_ARB_window_pos, GL_ATI_blend_equation_separate, GL_ATI_draw_buffers,
GL_ATI_separate_stencil, GL_ATI_texture_env_combine3, GL_EXT_abgr,
GL_EXT_bgra, GL_EXT_blend_color, GL_EXT_blend_equation_separate,
GL_EXT_blend_func_separate, GL_EXT_blend_minmax, GL_EXT_blend_subtract,
GL_EXT_compiled_vertex_array, GL_EXT_copy_texture,
GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_framebuffer_blit,
GL_EXT_framebuffer_object, GL_EXT_gpu_program_parameters,
GL_EXT_multi_draw_arrays, GL_EXT_packed_depth_stencil,
GL_EXT_packed_pixels, GL_EXT_pixel_buffer_object, GL_EXT_point_parameters,
GL_EXT_polygon_offset, GL_EXT_provoking_vertex, GL_EXT_rescale_normal,
GL_EXT_secondary_color, GL_EXT_separate_specular_color,
GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap,
GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D,
GL_EXT_texture_compression_dxt1, GL_EXT_texture_compression_s3tc,
GL_EXT_texture_cube_map, GL_EXT_texture_edge_clamp,
GL_EXT_texture_env_add, GL_EXT_texture_env_combine,
GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic,
GL_EXT_texture_lod_bias, GL_EXT_texture_object, GL_EXT_texture_rectangle,
GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_decode, GL_EXT_vertex_array,
GL_IBM_multimode_draw_arrays, GL_IBM_rasterpos_clip,
GL_IBM_texture_mirrored_repeat, GL_INGR_blend_func_separate,
GL_KHR_context_flush_control, GL_KHR_debug, GL_MESA_pack_invert,
GL_MESA_window_pos, GL_MESA_ycbcr_texture, GL_NV_blend_square,
GL_NV_light_max_exponent, GL_NV_packed_depth_stencil,
GL_NV_texgen_reflection, GL_NV_texture_env_combine4,
GL_NV_texture_rectangle, GL_OES_EGL_image, GL_OES_read_format,
GL_S3_s3tc, GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp,
GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod, GL_SUN_multi_draw_arrays
12 GLX Visuals
visual x bf lv rg d st colorbuffer sr ax dp st accumbuffer ms cav
id dep cl sp sz l ci b ro r g b a F gb bf th cl r g b a ns b eat
...
24 GLXFBConfigs:
visual x bf lv rg d st colorbuffer sr ax dp st accumbuffer ms cav
id dep cl sp sz l ci b ro r g b a F gb bf th cl r g b a ns b eat
Thanks in advance for any help,
Cheers!