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

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

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

Post by auriuman78 »

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: 8280
Joined: Fri Dec 19, 2014 9:12 am
languages_spoken: english
Location: Gulf of Mexico, US
Has thanked: 728 times
Been thanked: 307 times
Contact:

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

Post by rooted »

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

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

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

Post by auriuman78 »

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

mad_ady
Posts: 9094
Joined: Wed Jul 15, 2015 5:00 pm
languages_spoken: english
ODROIDs: XU4, C1+, C2, C4, N1, N2, H2, Go, Go Advance
Location: Bucharest, Romania
Has thanked: 597 times
Been thanked: 584 times
Contact:

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

Post by mad_ady »

/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: 12
Joined: Mon Dec 09, 2019 1:48 pm
languages_spoken: english
ODROIDs: XU4 w/OGST package; 2 MC1 clusters
Has thanked: 2 times
Been thanked: 2 times
Contact:

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

Post by auriuman78 »

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)

mad_ady
Posts: 9094
Joined: Wed Jul 15, 2015 5:00 pm
languages_spoken: english
ODROIDs: XU4, C1+, C2, C4, N1, N2, H2, Go, Go Advance
Location: Bucharest, Romania
Has thanked: 597 times
Been thanked: 584 times
Contact:

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

Post by mad_ady »

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

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

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

Post by meister ivar »

@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