Hello Quentin,

Thanks for the update.

I am following this guideline https://github.com/systemd/casync#building-casync . It says to build casync run:

meson build && ninja -C build && sudo ninja -C build install

Actually, meson-build is successful but while running "ninja -C build" I am getting above errors.

Having the actual package makefile for your casync package would help a
lot if it still does not work.

I found this in https://github.com/buildroot/buildroot/blob/master/package/casync/casync.mk

But how to use this to compile casync? 

Can you please let me know what needs to be done?

Thanks in advance.

Actually, meson-build is successful 

On Fri, 1 Apr 2022 at 11:11, Quentin Schulz <quentin.schulz@theobroma-systems.com> wrote:
Hi Sourabh Hegde,

On 3/31/22 19:55, Sourabh Hegde wrote:
> Hello All,
>
> While building casync using ninja build I am facing below errors
> related to /usr/bin/ld:
> . . .error adding symbols: file in wrong format
>
> I am following "casync" build guideline from
> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_systemd_casync-23building-2Dcasync&d=DwIBaQ&c=_sEr5x9kUWhuk4_nFwjJtA&r=LYjLexDn7rXIzVmkNPvw5ymA1XTSqHGq8yBP6m6qZZ4njZguQhZhkI_-172IIy1t&m=EZ6d819a1qu3uAFg1GbEGsYi60IPAlDkSahx_NFWucv2-olGfFGlWcnc8_-v_gj4&s=0oAe2qUNmvkBsGYIiapGRQ5OQYDghVxojZm5QaWUwiQ&e=
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_ninja-2Dbuild_ninja_issues_url&d=DwIBaQ&c=_sEr5x9kUWhuk4_nFwjJtA&r=LYjLexDn7rXIzVmkNPvw5ymA1XTSqHGq8yBP6m6qZZ4njZguQhZhkI_-172IIy1t&m=EZ6d819a1qu3uAFg1GbEGsYi60IPAlDkSahx_NFWucv2-olGfFGlWcnc8_-v_gj4&s=7qFZDk5q2JFekiEteeOVNjQj50e86tte0akp-uMLm7k&e= > , it uses "meson " along
> with ninja build.
>
> If build failures persist, run "meson setup --wipe" to rebuild from scratch
> using the same options as passed when configuring the build.
> To change option values, run "meson configure" instead.
> ninja: Entering directory build'
> [1/31] Linking target casync-http
> FAILED: casync-http
> cc -o casync-http casync-http.p/src_casync-http.c.o -Wl,--as-needed
> -Wl,--no-undefined
> -Wl,-rpath,/root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib
> -Wl,-rpath-link,/root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib
> -Wl,--start-group src/libshared.a
> /root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib/libcurl.so
>
> /root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib/libssl.so
>
> /root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib/libcrypto.so
>
> /root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib/liblzma.so
>
> /root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib/libz.so
>   /root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib/libzstd.so
> -lm -Wl,--end-group
> /usr/bin/ld:
> /root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib/libcurl.so:
> error adding symbols: file in wrong format
> collect2: error: ld returned 1 exit status
> [2/31] Linking target test-cachunk
> FAILED: test-cachunk
> cc -o test-cachunk test-cachunk.p/test_test-cachunk.c.o -Wl,--as-needed
> -Wl,--no-undefined
> -Wl,-rpath,/root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib
> -Wl,-rpath-link,/root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib
> -Wl,--start-group src/libshared.a -lacl
> /root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib/liblzma.so
>
> /root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib/libselinux.so
>
> /root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib/libz.so
>   /root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib/libzstd.so
> -lm
> /root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib/libssl.so
>   /root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib/libcrypto.so
> -Wl,--end-group -pthread
> /usr/bin/ld:
> /root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib/liblzma.so:
> error adding symbols: file in wrong format
> collect2: error: ld returned 1 exit status
> [3/31] Linking target test-cachunker
> FAILED: test-cachunker
> cc -o test-cachunker test-cachunker.p/test_test-cachunker.c.o
> -Wl,--as-needed -Wl,--no-undefined
> -Wl,-rpath,/root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib
> -Wl,-rpath-link,/root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib
> -Wl,--start-group src/libshared.a -lacl
> /root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib/liblzma.so
>
> /root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib/libselinux.so
>
> /root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib/libz.so
>   /root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib/libzstd.so
> -lm
> /root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib/libssl.so
>   /root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib/libcrypto.so
> -Wl,--end-group -pthread
> /usr/bin/ld:
> /root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib/liblzma.so:
> error adding symbols: file in wrong format
> collect2: error: ld returned 1 exit status
> [4/31] Linking target test-caencoder
> FAILED: test-caencoder
> cc -o test-caencoder test-caencoder.p/test_test-caencoder.c.o
> -Wl,--as-needed -Wl,--no-undefined
> -Wl,-rpath,/root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib
> -Wl,-rpath-link,/root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib
> -Wl,--start-group src/libshared.a -lacl
> /root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib/liblzma.so
>
> /root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib/libselinux.so
>
> /root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib/libz.so
>   /root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib/libzstd.so
> -lm
> /root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib/libssl.so
>   /root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib/libcrypto.so
> -Wl,--end-group -pthread
> /usr/bin/ld:
> /root/raspcm4/sources/output/host/bin/../aarch64-buildroot-linux-gnu/sysroot/usr/lib/liblzma.so:
> error adding symbols: file in wrong format
> collect2: error: ld returned 1 exit status
> .
> .
> [10/31] Compiling C object test-camatch.p/test_test-camatch.c.o
> ninja: build stopped: subcommand failed.
>
> I am using Buildroot as build system and after following similar post in
> https://urldefense.proofpoint.com/v2/url?u=https-3A__stackoverflow.com_questions_27967802_libstdc-2Dso-2Derror-2Dadding-2Dsymbols-2Dfile-2Din-2Dwrong-2Dformat&d=DwIBaQ&c=_sEr5x9kUWhuk4_nFwjJtA&r=LYjLexDn7rXIzVmkNPvw5ymA1XTSqHGq8yBP6m6qZZ4njZguQhZhkI_-172IIy1t&m=EZ6d819a1qu3uAFg1GbEGsYi60IPAlDkSahx_NFWucv2-olGfFGlWcnc8_-v_gj4&s=xHy7bTlAyWOY4-lBdA9bwycscXiZBIO-Wkz7PZC9vbs&e=
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_ninja-2Dbuild_ninja_issues_url&d=DwIBaQ&c=_sEr5x9kUWhuk4_nFwjJtA&r=LYjLexDn7rXIzVmkNPvw5ymA1XTSqHGq8yBP6m6qZZ4njZguQhZhkI_-172IIy1t&m=EZ6d819a1qu3uAFg1GbEGsYi60IPAlDkSahx_NFWucv2-olGfFGlWcnc8_-v_gj4&s=7qFZDk5q2JFekiEteeOVNjQj50e86tte0akp-uMLm7k&e= > I changed the PATH
> environment
> like:
>
> /root/raspcm4/sources/output/host/bin/:/root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/raspcm4/sources/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/bin
>
> But still, I end up getting the same errors
>
> Can anyone please let me know how to resolve this issue? Is there any ninja
> build option to be selected in Buildroot?
>

Seems like cc is being used instead of the cross-compiler/linker.

Did you use the meson-package mechanism in Buildroot? c.f.
https://buildroot.org/downloads/manual/manual.html#_infrastructure_for_meson_based_packages

This should have everything required to compile meson packages. Define
only the variables that are required and add one by one optional
variables until you get it to build.

Having the actual package makefile for your casync package would help a
lot if it still does not work.

Cheers,
Quentin