Open Kyanoxia opened 2 years ago
Unmet build dependencies: dh-exec libsysprof-capture-4-dev (>= 3.40.1)
seems to some dependencies are missing. You can try install them manually.
This patches only support with gnome 40 and 41. So sorry that it can't works in Unbuntu 21.04 and only works in Ubuntu 21.10 at the moment.
I have, indeed, installed GNOME 40 on my system. The program doesn't seem to detect libsysprof-capture-4-dev. I have installed this though.
That because the version of libsysprof-capture-4-dev
is not compatible with Ubuntu 21.04.
I have installed Ubuntu 21.04 in my computer, then try to build mutter-rounded in a clean system. I have meet same problem (Unmet build dependencies: dh-exec libsysprof-capture-4-dev (>= 3.40.1)
), and then I will figure out how to fix it.
Notice that it is just for test purpose
There are my note to build it on Ubuntu 21.04:
sudo apt update
sudo apt upgrade # upgrade all packages before use ppa
sudo add-apt-repository ppa:shemgp/gnome-40
sudo apt install gnome
sudo apt upgrade # upgrade again to update gnome-shell
Unmet build dependencies
error occurs:// ...
dpkg-checkbuilddeps: error: Unmet build dependencies: dh-exec libsysprof-capture-4-dev (>= 3.40.1)
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)
debuild: fatal error at line 1182:
dpkg-buildpackage -us -uc -ui failed
mv: cannot stat '*.deb': No such file or directory
dpkg: error: cannot access archive '*.deb': No such file or directory
Because the mutter source packages we downloaded is use for Ubuntu 21.10. It require version of libsysprof-capture-4-dev
is 3.40.1
. but in Ubuntu 21.04, the version of libsysprof-capture-4-dev
is 3.38.1
.
3.38.1
as version of libsysprof-capture-4-dev
to build packages:Firstly we need to install the missing dependencies:
sudo apt install dh-exec libsysprof-capture-4-dev
then replace version of libsysprof-capture-4-dev
and build:
# The `mutter-40.5` folder is the the source code to build
cd ./mutter-rounded/ubuntu_21.10/workspace/mutter-40.5/
# replace vesion of `libsysprof-capture-4-dev`
sed -i 's|libsysprof-capture-4-dev (>= 3.40.1)|libsysprof-capture-4-dev (>= 3.38.1)|' ./debian/control
debuild
It should start compile source code now. After build finished, another error occured like this:
// ... ignore some lines ...
dpkg-gensymbols: Warning: debian/libmutter-8-0/DEBIAN/symbols doesn't match completely debian/libmutter-8-0.symbols
--- debian/libmutter-8-0.symbols (libmutter-8-0_40.5-1ubuntu3~21.10.1_amd64)
+++ dpkg-gensymbolsuXBlbj 2021-11-20 14:19:00.881451905 +0800
@@ -2595,6 +2595,73 @@
cogl_xlib_renderer_remove_filter@Base 3.29.4
cogl_xlib_renderer_request_reset_on_video_memory_purge@Base 3.29.4
cogl_xlib_renderer_set_foreign_display@Base 3.29.4
+ sysprof_capture_jitmap_iter_init@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_jitmap_iter_next@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_copy@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_find_file@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_get_byte_order@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_get_end_time@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_get_filename@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_get_start_time@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_get_stat@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_get_time@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_list_files@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_new@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_new_from_fd@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_peek_frame@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_peek_type@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_read_allocation@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_read_counter_define@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_read_counter_set@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_read_exit@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_read_file@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_read_file_fd@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_read_fork@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_read_jitmap@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_read_log@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_read_map@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_read_mark@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_read_metadata@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_read_process@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_read_sample@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_read_timestamp@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_ref@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_reset@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_save_as@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_set_stat@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_skip@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_splice@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_unref@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_add_allocation@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_add_allocation_copy@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_add_exit@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_add_file@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_add_file_fd@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_add_fork@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_add_jitmap@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_add_log@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_add_map@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_add_mark@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_add_metadata@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_add_process@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_add_sample@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_add_timestamp@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_create_reader@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_define_counters@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_flush@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_get_buffer_size@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_new@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_new_from_env@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_new_from_fd@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_ref@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_request_counter@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_save_as@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_set_counters@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_splice@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_stat@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_unref@Base 40.5-1ubuntu3~21.10.1
+ sysprof_clock@Base 40.5-1ubuntu3~21.10.1
+ sysprof_clock_init@Base 40.5-1ubuntu3~21.10.1
test_ctx@Base 3.33.4
test_fb@Base 3.33.4
test_utils_check_pixel@Base 3.33.4
dh_makeshlibs: error: failing due to earlier errors
// ... ignore some lines ...
debuild: fatal error at line 1182:
dpkg-buildpackage -us -uc -ui failed
That is because, in Debain packages system, some package maintains a symbol
file, it will record all API of a packages. Because we have downgraded a dependency. and then we need update this file.
You can copy the 'diff' part of above logs into a file, then modify line 1 and 2 in the head like this:
--- a/debian/libmutter-8-0.symbols
+++ b/debian/libmutter-8-0.symbols
The complete file we created will look like this, I have save it in ~/symbol.diff
:
--- a/debian/libmutter-8-0.symbols
+++ b/debian/libmutter-8-0.symbols
@@ -2595,6 +2595,73 @@
cogl_xlib_renderer_remove_filter@Base 3.29.4
cogl_xlib_renderer_request_reset_on_video_memory_purge@Base 3.29.4
cogl_xlib_renderer_set_foreign_display@Base 3.29.4
+ sysprof_capture_jitmap_iter_init@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_jitmap_iter_next@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_copy@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_find_file@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_get_byte_order@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_get_end_time@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_get_filename@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_get_start_time@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_get_stat@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_get_time@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_list_files@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_new@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_new_from_fd@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_peek_frame@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_peek_type@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_read_allocation@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_read_counter_define@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_read_counter_set@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_read_exit@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_read_file@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_read_file_fd@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_read_fork@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_read_jitmap@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_read_log@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_read_map@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_read_mark@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_read_metadata@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_read_process@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_read_sample@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_read_timestamp@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_ref@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_reset@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_save_as@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_set_stat@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_skip@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_splice@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_reader_unref@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_add_allocation@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_add_allocation_copy@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_add_exit@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_add_file@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_add_file_fd@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_add_fork@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_add_jitmap@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_add_log@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_add_map@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_add_mark@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_add_metadata@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_add_process@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_add_sample@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_add_timestamp@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_create_reader@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_define_counters@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_flush@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_get_buffer_size@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_new@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_new_from_env@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_new_from_fd@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_ref@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_request_counter@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_save_as@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_set_counters@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_splice@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_stat@Base 40.5-1ubuntu3~21.10.1
+ sysprof_capture_writer_unref@Base 40.5-1ubuntu3~21.10.1
+ sysprof_clock@Base 40.5-1ubuntu3~21.10.1
+ sysprof_clock_init@Base 40.5-1ubuntu3~21.10.1
test_ctx@Base 3.33.4
test_fb@Base 3.33.4
test_utils_check_pixel@Base 3.33.4
Apply the patch we have created, commit the changes, build again:
# update the symbol file
sed -i 's|libsysprof-capture-4-dev (>= 3.40.1)|libsysprof-capture-4-dev (>= 3.38.1)|' ./debian/control
patch -p1 < ~/symbol.diff
debuild
# commit changes
dpkg-source --commit . downgrade_version
sed -i 's|libsysprof-capture-4-dev (>= 3.40.1)|libsysprof-capture-4-dev (>= 3.38.1)|' ./debian/control
debuild
Notice that every time debuild
run, the version of libsysprof-capture-4-dev
will change back to 3.40.1
, so need to replace it every time before run debuild
.
Finally you can find the deb packages in ./mutter-rounded/ubuntu_21.10/workspace
, use sudo dpkg -i *.deb
to install them. After logout and login, the rounded patch should be works.
This worked Perfectly! Thank you SO MUCH! I've been looking for rounded corners for 3 years now!
The installation failed, and I have no idea why. Here are the logs: