Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build fails on armv7 #48

Closed
ggardet opened this issue Feb 1, 2021 · 8 comments
Closed

Build fails on armv7 #48

ggardet opened this issue Feb 1, 2021 · 8 comments

Comments

@ggardet
Copy link

ggardet commented Feb 1, 2021

Build fails on armv7 with the following error:

[  156s] -- ARM Architecture version is 7.
[  156s] -- NEON SIMD instructions enabled (can be disabled with -DTG_OWT_ARCH_ARMV7_USE_NEON=OFF).
[  158s] -- Configuring done
[  158s] CMake Error at cmake/libvpx.cmake:1 (add_library):
[  158s]   Cannot find source file:
[  158s] 
[  158s]     /home/abuild/rpmbuild/BUILD/Libraries/tg_owt/src/third_party/libvpx/source/libvpx/vpx_dsp/arm/intrapred_neon_asm.asm.S

intrapred_neon_asm.asm.S does not exist, but intrapred_neon_asm.asm is there.

@ilya-fedin
Copy link
Contributor

Only x86_64 build is really maintained. ARM build was introduced by @dusxmt, but looks like he is not interested in maintaining it.

@dusxmt
Copy link
Contributor

dusxmt commented Feb 20, 2021

I will look into it tomorrow, thanks for the ping!

@dusxmt
Copy link
Contributor

dusxmt commented Feb 20, 2021

From the error message itself, it seems like all that needs to be done is the source file listing in the build system needs to be updated - unfortunately, it's not performed automatically when the bundled third party libraries get updated.

@ilya-fedin
Copy link
Contributor

ilya-fedin commented Feb 20, 2021

From the error message itself, it seems like all that needs to be done is the file file listing in the build system needs to be updated

From what I digged, previously it was fetched by gclient and prepared by some commands (it is a submodule now). One of these commands is

if (current_cpu == "arm" && arm_assembly_sources != []) {
action_foreach("convert_arm_assembly") {
script = "//third_party/libvpx/run_perl.py"
sources = arm_assembly_sources
gen_file =
get_label_info("//third_party/libvpx/source/libvpx", "root_gen_dir") +
"/{{source_root_relative_dir}}/{{source_file_part}}.S"
outputs = [ gen_file ]
if (is_ios) {
ads2gas_script =
"//third_party/libvpx/source/libvpx/build/make/ads2gas_apple.pl"
} else {
ads2gas_script =
"//third_party/libvpx/source/libvpx/build/make/ads2gas.pl"
}
args = [
"-s",
rebase_path(ads2gas_script, root_build_dir),
"-i",
"{{source}}",
"-o",
rebase_path(gen_file, root_build_dir),
]
}

Probably this should be integrated into cmake build somehow, just like yasm.

@dusxmt
Copy link
Contributor

dusxmt commented Feb 21, 2021

Indeed, most likely a add_custom_command() statement would be appropriate to generate the .S files for gcc, I'll try and see if I can get it running.

@dusxmt
Copy link
Contributor

dusxmt commented Feb 21, 2021

Hey @ggardet, sorry for the long wait, could you test #53 out to see if it helps? It should fix the libvpx build failure, but I don't currently have an easy way to test whether the entire build finishes successfully (there's some problem with protobuf that causes the build to eventually fail on my system)

(Note: I'm just a random person who wanted to use Telegram on his Pinephone, I'm not too familiar with this specific project and/or how it's used)

@john-preston
Copy link
Contributor

Works now in Snap build.

@ggardet
Copy link
Author

ggardet commented Aug 30, 2021

Works now in Snap build.

I confirm it builds fine now. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants