mesonbuild / meson

The Meson Build System
http://mesonbuild.com
Apache License 2.0
5.42k stars 1.57k forks source link

configure libsecret-1 #6583

Closed ghost closed 2 years ago

ghost commented 4 years ago

I needed to build a package where one of the dependencies is libsecret in sailfish. When building, ninja sees the path / usr / include, and I need /srv/mer/targets/...armv7h/usr/include. How to do it?

xclaesse commented 4 years ago

Do you have libsecret-1.pc somewhere like /srv/mer/targets/...armv7h/usr/lib/pkgconfig ?

ghost commented 4 years ago

Sailfish. I need to configure sys root path.

ghost commented 4 years ago

Do you have libsecret-1.pc somewhere like

No. My config file for cross compile. [binaries] c = '/srv/mer/targets/SailfishOS-3.2.1.20-i486/usr/bin/gcc' cpp = '/srv/mer/targets/SailfishOS-3.2.1.20-i486/usr/bin/gcc' ar = '/srv/mer/targets/SailfishOS-3.2.1.20-i486/usr/bin/ar' strip = '/srv/mer/targets/SailfishOS-3.2.1.20-i486/usr/bin/strip' pkgconfig = '/srv/mer/targets/SailfishOS-3.2.1.20-i486/usr/bin/pkg-config'

[properties]

sys_root = '/srv/mer/targets/SailfishOS-3.2.1.20-i486'

pkg_config_libdir = '/srv/mer/targets/SailfishOS-3.2.1.20-i486/lib/pkgconfig' root = '/srv/mer/targets/SailfishOS-3.2.1.20-i486' c_args = ['--sysroot', '/srv/mer/targets/SailfishOS-3.2.1.20-i486'] cpp_args = ['--sysroot', '/srv/mer/targets/SailfishOS-3.2.1.20-i486']

xclaesse commented 4 years ago

In [properties] try adding c_args = [ '--sysroot=/srv/mer/targets/SailfishOS-3.2.1.20-i486'], same for cpp_args.

ghost commented 4 years ago

Didn't work. Ninja doesn't compile. Example errrors. ccache cc -Ilibsecret/71ef35d@@mock-service@sta -Ilibsecret -I../libsecret -I. -I../ -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gio-unix-2.0/ -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -g -fPIC -pthread -DSECRET_COMPILATION '-DSRCDIR="/home/mersdk/libsecret-mainline"' -MD -MQ 'libsecret/71ef35d@@mock-service@sta/mock-service.c.o' -MF 'libsecret/71ef35d@@mock-service@sta/mock-service.c.o.d' -o 'libsecret/71ef35d@@mock-service@sta/mock-service.c.o' -c ../libsecret/mock-service.c /srv/mer/targets/SailfishOS-3.2.1.20-i486/usr/bin/../libexec/gcc/i486-meego-linux/4.9.4/cc1: error while loading shared libraries: libmpc.so.3: cannot open shared object file: No such file or directory [9/63] Compiling C object 'egg/34707c3@@egg@sta/egg-hkdf.c.o'. FAILED: egg/34707c3@@egg@sta/egg-hkdf.c.o ccache cc -Iegg/34707c3@@egg@sta -Iegg -I../egg -I. -I../ -I../build -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gio-unix-2.0/ -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -g -fPIC -pthread -MD -MQ 'egg/34707c3@@egg@sta/egg-hkdf.c.o' -MF 'egg/34707c3@@egg@sta/egg-hkdf.c.o.d' -o 'egg/34707c3@@egg@sta/egg-hkdf.c.o' -c ../egg/egg-hkdf.c /srv/mer/targets/SailfishOS-3.2.1.20-i486/usr/bin/../libexec/gcc/i486-meego-linux/4.9.4/cc1: error while loading shared libraries: libmpc.so.3: cannot open shared object file: No such file or directory [10/63] Compiling C object 'libsecret/71ef35d@@test-attributes@exe/test-attributes.c.o'. FAILED: libsecret/71ef35d@@test-attributes@exe/test-attributes.c.o ccache cc -Ilibsecret/71ef35d@@test-attributes@exe -Ilibsecret -I../libsecret -I. -I../ -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gio-unix-2.0/ -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -g -pthread -DSECRET_COMPILATION '-DSRCDIR="/home/mersdk/libsecret-mainline"' -MD -MQ 'libsecret/71ef35d@@test-attributes@exe/test-attributes.c.o' -MF 'libsecret/71ef35d@@test-attributes@exe/test-attributes.c.o.d' -o 'libsecret/71ef35d@@test-attributes@exe/test-attributes.c.o' -c ../libsecret/test-attributes.c /srv/mer/targets/SailfishOS-3.2.1.20-i486/usr/bin/../libexec/gcc/i486-meego-linux/4.9.4/cc1: error while loading shared libraries: libmpc.so.3: cannot open shared object file: No such file or directory

ghost commented 4 years ago

It was compile, when I create symlink. ln -sf /srv/mer/targets/SailfishOS-3.2.1.20-i486/usr/lib/libmpc.so.3 /usr/lib/libmpc.so.3

xclaesse commented 4 years ago
 ccache cc -Ilibsecret/71ef35d@@mock-service@sta -Ilibsecret -I../libsecret -I. -I../ -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gio-unix-2.0/ -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -g -fPIC -pthread -DSECRET_COMPILATION '-DSRCDIR="/home/mersdk/libsecret-mainline"' -MD -MQ 'libsecret/71ef35d@@mock-service@sta/mock-service.c.o' -MF 'libsecret/71ef35d@@mock-service@sta/mock-service.c.o.d' -o 'libsecret/71ef35d@@mock-service@sta/mock-service.c.o' -c ../libsecret/mock-service.c

You're trying to cross compile, right? Can you please paste your cross file, because that doesn't seems right. It's using system glib.

ghost commented 4 years ago

[binaries] c = '/srv/mer/targets/SailfishOS-3.2.1.20-i486/usr/bin/gcc' cpp = '/srv/mer/targets/SailfishOS-3.2.1.20-i486/usr/bin/g++' ar = '/srv/mer/targets/SailfishOS-3.2.1.20-i486/usr/bin/ar' strip = '/srv/mer/targets/SailfishOS-3.2.1.20-i486/usr/bin/strip' pkgconfig = '/srv/mer/targets/SailfishOS-3.2.1.20-i486/usr/bin/pkg-config'

[properties] c_args = ['--sysroot=/srv/mer/targets/SailfishOS-3.2.1.20-i486'] sys_root = '/srv/mer/targets/SailfishOS-3.2.1.20-i486' pkg_config_libdir = '/srv/mer/targets/SailfishOS-3.2.1.20-i486/usr/lib/pkgconfig'

ghost commented 4 years ago

meson 0.50.1 version

jpakkane commented 4 years ago

If you run /srv/mer/targets/SailfishOS-3.2.1.20-i486/usr/bin/pkg-config by hand, does it give the correct arguments?

ghost commented 4 years ago

If you run /srv/mer/targets/SailfishOS-3.2.1.20-i486/usr/bin/pkg-config by hand, does it give the correct arguments?

$ /srv/mer/targets/SailfishOS-3.2.1.20-i486/usr/bin/pkg-config libsecret-1 ?

eli-schwartz commented 2 years ago

Reporter deleted account, there is no way we can follow up on this.