[SOLVED] Mandelbulber2 - Compile on MC1 Docker Swarm (2 clusters)

Post Reply
auriuman78
Posts: 8
Joined: Mon Dec 09, 2019 1:48 pm
languages_spoken: english
ODROIDs: XU4 w/OGST package; 2 MC1 clusters
Has thanked: 1 time
Been thanked: 1 time
Contact:

[SOLVED] Mandelbulber2 - Compile on MC1 Docker Swarm (2 clusters)

Unread post by auriuman78 » Mon Dec 09, 2019 2:02 pm

I just got two MC1 clusters with intention to use them as a render farm for Mandelbulber2's netrender feature. My first attempt at compiling the program, after adjusting the script to remove the msse2 instruction set, failed during openCL build of mandelbulber2 with an exit status of 1 -- couldn't find the reference in the build output previous to that, so I don't have much to go on.

My situation is Ubuntu 16.04 running a prebuilt image of docker swarm. I've got 1 manager and 7 worker nodes set up. The docker swarm visualizer is working. I can send it jobs to do.

The problem is when I try to compile mandelbulber software in the manager node. I --think-- (just a guess from a slightly skilled novice) it has to do with openCL requiring a GPU and since the MC1 version of the XU4 is designed headless, therefore no GPU for driving anything, is why my compile is failing. Thoughts?

Here is the link to the git script I'm using to pull and compile my source files https://github.com/buddhi1980/mandelbul ... _ubuntu.sh

Thanks in advance...!
Last edited by auriuman78 on Tue Dec 24, 2019 10:07 pm, edited 1 time in total.

User avatar
rooted
Posts: 7136
Joined: Fri Dec 19, 2014 9:12 am
languages_spoken: english
Location: Gulf of Mexico, US
Has thanked: 387 times
Been thanked: 108 times
Contact:

Re: Mandelbulber2 - Compile on MC1 Docker Swarm (2 clusters)

Unread post by rooted » Mon Dec 09, 2019 2:50 pm

The GPU is part of the SoC as far as I know, so it shouldn't be because of that.

auriuman78
Posts: 8
Joined: Mon Dec 09, 2019 1:48 pm
languages_spoken: english
ODROIDs: XU4 w/OGST package; 2 MC1 clusters
Has thanked: 1 time
Been thanked: 1 time
Contact:

Re: Mandelbulber2 - Compile on MC1 Docker Swarm (2 clusters)

Unread post by auriuman78 » Mon Dec 09, 2019 11:22 pm

Okay, thanks for that, I hadn't discovered that the GPU was part of the SoC set just yet but makes sense. I realized this morning on a fresh brain that it shouldn't matter anyway -- openCL should build regardless of if there's supported hardware or not, it just wouldn't detect anything when I tried to invoke it.

On another note, I found more detail that leads me to the source of the error, but I'm not sure exactly what to do about it. I know it has something to do with not being able to find something to do with an openCL library during compilation, but have no idea where to start looking for those parameters. I'm familiar with searching logs and tracing things but I don't even know where to start with this one. I've only built from source once before and it went without errors.

Here's the detail I found, interesting but don't know where to begin tracing:

Code: Select all

g++ -Wl,-O1 -Wl,-rpath-link,/usr/lib/arm-linux-gnueabihf -o mandelbulber2 algebra.o animation_flight.o animation_frames.o animation_keyframes.o audio_fft_data.o audio_track.o audio_track_collection.o automated_widgets.o calculate_distance.o camera_target.o cimage.o color_gradient.o command_line_interface.o common_math.o compute_fractal.o displacement_map.o dof.o error_message.o file_downloader.o file_image.o file_mesh.o files.o fractal.o fractal_coloring.o fractal_container.o fractal_formulas.o fractal_list.o fractparams.o global_data.o headless.o histogram.o hsv2rgb.o image_scale.o initparameters.o interface.o keyframes.o lights.o main.o mandelbulb3d_settings.o marchingcubes.o material.o material_item_model.o material_item_view.o mesh_export.o morph.o multi_val.o my_ui_loader.o netrender.o netrender_client.o netrender_file_receiver.o netrender_file_sender.o netrender_server.o netrender_transport.o nine_fractals.o old_settings.o one_parameter.o opencl_abstract_dynamic_data.o opencl_context.o opencl_device.o opencl_dynamic_data.o opencl_engine.o opencl_engine_render_dof.o opencl_engine_render_dof_phase1.o opencl_engine_render_dof_phase2.o opencl_engine_render_fractal.o opencl_engine_render_ssao.o opencl_global.o opencl_hardware.o opencl_kernel.o opencl_queue.o opencl_scheduler.o opencl_textures_data.o opencl_worker_output_queue.o opencl_worker_thread.o orbit_trap_shape.o parameters.o post_effect_hdr_blur.o primitives.o progress_text.o projection_3d.o queue.o random.o render_image.o render_job.o render_queue.o render_ssao.o render_window.o render_window_buttons.o render_window_menu.o render_window_slots.o render_worker.o rendered_image_widget.o rendering_configuration.o resource_http_provider.o scheduler.o settings.o shader_ambient_occlusion.o shader_aux_light.o shader_aux_shadow.o shader_background.o shader_calculate_normals.o shader_env_mapping.o shader_fake_lights.o shader_fast_ambient_occlusion.o shader_global_illumination.o shader_iridescence.o shader_iter_opacity.o shader_light_shading.o shader_main_shading.o shader_main_shadow.o shader_normal_map_shader.o shader_object.o shader_roughess_texture.o shader_specular_highlight.o shader_specular_highlight_combined.o shader_surface_color.o shader_texture.o shader_volumetric.o ssao_worker.o statistics.o stereo.o synchronize_interface.o system.o test.o texture.o texture_mapping.o thumbnail.o trace_behind.o undo.o voxel_export.o anim_audio_view.o audio_selector.o buton_load_settings_from_widget.o buton_reset_settings_from_widget.o buton_save_settings_from_widget.o common_my_widget_wrapper.o detached_window.o dock_animation.o dock_effects.o dock_fractal.o dock_gamepad.o dock_image_adjustments.o dock_measurements.o dock_navigation.o dock_queue.o dock_rendering_engine.o dock_statistics.o fft_view.o file_select_widget.o formula_combo_box.o frame_slider_popup.o gradient_edit_widget.o image_save_dialog.o material_editor.o material_manager_view.o material_selector.o material_widget.o mesh_export_dialog.o my_check_box.o my_color_button.o my_combo_box.o my_double_spin_box.o my_group_box.o my_histogram_label.o my_line_edit.o my_log_widget.o my_progress_bar.o my_spin_box.o my_tab_bar.o my_tab_widget.o my_table_widget_anim.o my_table_widget_keyframes.o player_widget.o preferences_dialog.o preview_file_dialog.o pushbutton_anim_sound.o system_tray.o tab_fractal.o thumbnail_widget.o time_ruler.o voxel_export_dialog.o wave_form_view.o abstract_fractal.o fractal_aexion.o fractal_mandelbulb.o qrc_icons.o moc_animation_flight.o moc_animation_keyframes.o moc_automated_widgets.o moc_dof.o moc_error_message.o moc_file_downloader.o moc_file_image.o moc_file_mesh.o moc_interface.o moc_lights.o moc_mesh_export.o moc_netrender.o moc_netrender_client.o moc_netrender_file_receiver.o moc_netrender_file_sender.o moc_netrender_server.o moc_queue.o moc_render_image.o moc_render_job.o moc_render_queue.o moc_render_window.o moc_render_worker.o moc_rendered_image_widget.o moc_resource_http_provider.o moc_test.o moc_voxel_export.o moc_audio_track.o moc_headless.o moc_marchingcubes.o moc_material_item_model.o moc_material_item_view.o moc_my_ui_loader.o moc_opencl_engine.o moc_opencl_engine_render_dof.o moc_opencl_engine_render_dof_phase1.o moc_opencl_engine_render_dof_phase2.o moc_opencl_engine_render_fractal.o moc_opencl_engine_render_ssao.o moc_opencl_hardware.o moc_opencl_worker_thread.o moc_post_effect_hdr_blur.o moc_render_ssao.o moc_ssao_worker.o moc_my_table_widget_anim.o moc_my_table_widget_keyframes.o moc_player_widget.o moc_system_tray.o moc_anim_audio_view.o moc_audio_selector.o moc_buton_load_settings_from_widget.o moc_buton_reset_settings_from_widget.o moc_buton_save_settings_from_widget.o moc_detached_window.o moc_dock_animation.o moc_dock_effects.o moc_dock_fractal.o moc_dock_gamepad.o moc_dock_image_adjustments.o moc_dock_measurements.o moc_dock_navigation.o moc_dock_queue.o moc_dock_rendering_engine.o moc_dock_statistics.o moc_fft_view.o moc_file_select_widget.o moc_formula_combo_box.o moc_frame_slider_popup.o moc_gradient_edit_widget.o moc_image_save_dialog.o moc_material_editor.o moc_material_manager_view.o moc_material_selector.o moc_material_widget.o moc_mesh_export_dialog.o moc_my_check_box.o moc_my_color_button.o moc_my_combo_box.o moc_my_double_spin_box.o moc_my_group_box.o moc_my_histogram_label.o moc_my_line_edit.o moc_my_log_widget.o moc_my_progress_bar.o moc_my_scrolled_area.o moc_my_spin_box.o moc_my_tab_bar.o moc_my_tab_widget.o moc_preferences_dialog.o moc_preview_file_dialog.o moc_pushbutton_anim_sound.o moc_tab_fractal.o moc_thumbnail_widget.o moc_time_ruler.o moc_voxel_export_dialog.o moc_wave_form_view.o   -lOpenCL -lpng -lgsl -lgslcblas -fopenmp -llzo2 -lQt5UiTools -lQt5Widgets -lQt5Multimedia -lQt5Gui -lQt5Network -lQt5Test -lQt5Core -lpthread -lGLESv2 -lsndfile 
/usr/bin/ld: cannot find -lOpenCL
collect2: error: ld returned 1 exit status
Makefile:1091: recipe for target 'mandelbulber2' failed
make: *** [mandelbulber2] Error 1

User avatar
mad_ady
Posts: 7113
Joined: Wed Jul 15, 2015 5:00 pm
languages_spoken: english
ODROIDs: XU4, C1+, C2, N1, H2, N2, Go, Go Advance
Location: Bucharest, Romania
Has thanked: 308 times
Been thanked: 212 times
Contact:

Re: Mandelbulber2 - Compile on MC1 Docker Swarm (2 clusters)

Unread post by mad_ady » Tue Dec 10, 2019 1:33 am

/usr/bin/ld: cannot find -lOpenCL
collect2: error: ld returned 1 exit status
I'd say you need to install (and test opencl first). There are some threads around on how to do that
These users thanked the author mad_ady for the post:
auriuman78 (Tue Dec 24, 2019 10:04 pm)

auriuman78
Posts: 8
Joined: Mon Dec 09, 2019 1:48 pm
languages_spoken: english
ODROIDs: XU4 w/OGST package; 2 MC1 clusters
Has thanked: 1 time
Been thanked: 1 time
Contact:

Re: Mandelbulber2 - Compile on MC1 Docker Swarm (2 clusters)

Unread post by auriuman78 » Tue Dec 24, 2019 10:04 pm

Good news @mad_ady, it was a lack of opencl support on the OS. Once I installed opencl for mali fbdev the error disappeared. Thanks so much for the tip!
These users thanked the author auriuman78 for the post:
mad_ady (Wed Dec 25, 2019 12:50 am)

User avatar
mad_ady
Posts: 7113
Joined: Wed Jul 15, 2015 5:00 pm
languages_spoken: english
ODROIDs: XU4, C1+, C2, N1, H2, N2, Go, Go Advance
Location: Bucharest, Romania
Has thanked: 308 times
Been thanked: 212 times
Contact:

Re: [SOLVED] Mandelbulber2 - Compile on MC1 Docker Swarm (2 clusters)

Unread post by mad_ady » Wed Dec 25, 2019 12:51 am

You can repay us with a nice Chrismas fractal rendering on your setup

meister ivar
Posts: 19
Joined: Fri Jan 05, 2018 7:27 pm
languages_spoken: english german
ODROIDs: xu4q c2 n2
Has thanked: 1 time
Been thanked: 2 times
Contact:

Re: [SOLVED] Mandelbulber2 - Compile on MC1 Docker Swarm (2 clusters)

Unread post by meister ivar » Sat Jan 04, 2020 2:17 am

@auriuman

Did you had the messages:

WARNING: Failure to find: ../formula/definition/*.cpp

or

../src/fractal_list.hpp:47:10: fatal error: formula/definition/abstract_fractal.h: file or directory not found

on compillation?

Post Reply

Return to “Ubuntu”

Who is online

Users browsing this forum: No registered users and 1 guest