D: [iurt_root_command] chroot Installing /home/iurt/rpmbuild/SRPMS/seafile-7.0.9-1.mga8.src.rpm Building target platforms: x86_64 Building for target x86_64 Executing(%prep): /bin/sh -e /home/iurt/rpmbuild/tmp/rpm-tmp.IXexS4 + umask 022 + cd /home/iurt/rpmbuild/BUILD + '[' 1 -eq 1 ']' + '[' 1 -eq 1 ']' + '[' 1 -eq 1 ']' + cd /home/iurt/rpmbuild/BUILD + rm -rf seafile-7.0.9 + /usr/bin/gzip -dc /home/iurt/rpmbuild/SOURCES/seafile-7.0.9.tar.gz + /usr/bin/tar -xof - + STATUS=0 + '[' 0 -ne 0 ']' + cd seafile-7.0.9 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + sed -i -e '/(DESTDIR)/d' lib/libseafile.pc.in + NOCONFIGURE=1 + ./autogen.sh processing . Creating ./aclocal.m4 ... Running glib-gettextize... Ignore non-fatal messages. Creating po/ subdirectory Copying file po/Makefile.in.in Please add the files codeset.m4 gettext.m4 glibc21.m4 iconv.m4 isc-posix.m4 lcmessage.m4 progtest.m4 from the /usr/share/aclocal directory to your autoconf macro directory or directly to your aclocal.m4 file. You will also need config.guess and config.sub, which you can get from ftp://ftp.gnu.org/pub/gnu/config/. Making ./aclocal.m4 writable ... Running intltoolize... Running libtoolize... libtoolize: putting auxiliary files in '.'. libtoolize: copying file './ltmain.sh' libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. libtoolize: copying file 'm4/libtool.m4' libtoolize: copying file 'm4/ltoptions.m4' libtoolize: copying file 'm4/ltsugar.m4' libtoolize: copying file 'm4/ltversion.m4' libtoolize: copying file 'm4/lt~obsolete.m4' Running aclocal -I m4 ... configure.ac:6: warning: The macro `AC_CONFIG_HEADER' is obsolete. configure.ac:6: You should run autoupdate. ./lib/autoconf/status.m4:719: AC_CONFIG_HEADER is expanded from... configure.ac:6: the top level configure.ac:88: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:88: You should run autoupdate. ./lib/autoconf/general.m4:203: AC_HELP_STRING is expanded from... configure.ac:88: the top level configure.ac:218: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:218: You should run autoupdate. ./lib/autoconf/general.m4:203: AC_HELP_STRING is expanded from... configure.ac:218: the top level configure.ac:6: warning: The macro `AC_CONFIG_HEADER' is obsolete. configure.ac:6: You should run autoupdate. ./lib/autoconf/status.m4:719: AC_CONFIG_HEADER is expanded from... configure.ac:6: the top level configure.ac:88: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:88: You should run autoupdate. ./lib/autoconf/general.m4:203: AC_HELP_STRING is expanded from... configure.ac:88: the top level configure.ac:218: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:218: You should run autoupdate. ./lib/autoconf/general.m4:203: AC_HELP_STRING is expanded from... configure.ac:218: the top level Running autoheader... Running automake --gnu ... configure.ac:6: warning: The macro `AC_CONFIG_HEADER' is obsolete. configure.ac:6: You should run autoupdate. ./lib/autoconf/status.m4:719: AC_CONFIG_HEADER is expanded from... configure.ac:6: the top level configure.ac:88: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:88: You should run autoupdate. ./lib/autoconf/general.m4:203: AC_HELP_STRING is expanded from... configure.ac:88: the top level configure.ac:218: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:218: You should run autoupdate. ./lib/autoconf/general.m4:203: AC_HELP_STRING is expanded from... configure.ac:218: the top level configure.ac:21: installing './compile' configure.ac:13: installing './config.guess' configure.ac:13: installing './config.sub' configure.ac:10: installing './install-sh' configure.ac:10: installing './missing' common/cdc/Makefile.am: installing './depcomp' daemon/Makefile.am:50: warning: source file '../common/seafile-crypt.c' is in a subdirectory, daemon/Makefile.am:50: but option 'subdir-objects' is disabled automake: warning: possible forward-incompatibility. automake: At least a source file is in a subdirectory, but the 'subdir-objects' automake: automake option hasn't been enabled. For now, the corresponding output automake: object file(s) will be placed in the top-level directory. However, automake: this behaviour will change in future Automake versions: they will automake: unconditionally cause object files to be placed in the same subdirectory automake: of the corresponding sources. automake: You are advised to start using 'subdir-objects' option throughout your automake: project, to avoid future incompatibilities. daemon/Makefile.am:50: warning: source file '../common/diff-simple.c' is in a subdirectory, daemon/Makefile.am:50: but option 'subdir-objects' is disabled daemon/Makefile.am:50: warning: source file '../common/branch-mgr.c' is in a subdirectory, daemon/Makefile.am:50: but option 'subdir-objects' is disabled daemon/Makefile.am:50: warning: source file '../common/fs-mgr.c' is in a subdirectory, daemon/Makefile.am:50: but option 'subdir-objects' is disabled daemon/Makefile.am:50: warning: source file '../common/commit-mgr.c' is in a subdirectory, daemon/Makefile.am:50: but option 'subdir-objects' is disabled daemon/Makefile.am:50: warning: source file '../common/log.c' is in a subdirectory, daemon/Makefile.am:50: but option 'subdir-objects' is disabled daemon/Makefile.am:50: warning: source file '../common/rpc-service.c' is in a subdirectory, daemon/Makefile.am:50: but option 'subdir-objects' is disabled daemon/Makefile.am:50: warning: source file '../common/vc-common.c' is in a subdirectory, daemon/Makefile.am:50: but option 'subdir-objects' is disabled daemon/Makefile.am:50: warning: source file '../common/obj-store.c' is in a subdirectory, daemon/Makefile.am:50: but option 'subdir-objects' is disabled daemon/Makefile.am:50: warning: source file '../common/obj-backend-fs.c' is in a subdirectory, daemon/Makefile.am:50: but option 'subdir-objects' is disabled daemon/Makefile.am:50: warning: source file '../common/block-mgr.c' is in a subdirectory, daemon/Makefile.am:50: but option 'subdir-objects' is disabled daemon/Makefile.am:50: warning: source file '../common/block-backend.c' is in a subdirectory, daemon/Makefile.am:50: but option 'subdir-objects' is disabled daemon/Makefile.am:50: warning: source file '../common/block-backend-fs.c' is in a subdirectory, daemon/Makefile.am:50: but option 'subdir-objects' is disabled daemon/Makefile.am:50: warning: source file '../common/mq-mgr.c' is in a subdirectory, daemon/Makefile.am:50: but option 'subdir-objects' is disabled daemon/Makefile.am:50: warning: source file '../common/curl-init.c' is in a subdirectory, daemon/Makefile.am:50: but option 'subdir-objects' is disabled python/seafile/Makefile.am:3: installing './py-compile' Running autoconf ... configure.ac:6: warning: The macro `AC_CONFIG_HEADER' is obsolete. configure.ac:6: You should run autoupdate. ./lib/autoconf/status.m4:719: AC_CONFIG_HEADER is expanded from... configure.ac:6: the top level configure.ac:88: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:88: You should run autoupdate. ./lib/autoconf/general.m4:203: AC_HELP_STRING is expanded from... configure.ac:88: the top level configure.ac:218: warning: The macro `AC_HELP_STRING' is obsolete. configure.ac:218: You should run autoupdate. ./lib/autoconf/general.m4:203: AC_HELP_STRING is expanded from... configure.ac:218: the top level + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /home/iurt/rpmbuild/tmp/rpm-tmp.4V3g76 + umask 022 + cd /home/iurt/rpmbuild/BUILD + cd seafile-7.0.9 + '[' 1 -eq 1 ']' + '[' 1 -eq 1 ']' + export PYTHON=/usr/bin/python3 + PYTHON=/usr/bin/python3 + CFLAGS='-O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables' + export CFLAGS + CXXFLAGS='-O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables' + export CXXFLAGS + FFLAGS='-O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables ' + export FFLAGS + FCFLAGS='-O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables ' + export FCFLAGS + LDFLAGS=' -Wl,--as-needed -Wl,--no-undefined -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags' + export LDFLAGS + CONFIGURE_TOP=. + '[' 1 = 1 ']' ++ find . -name config.guess -o -name config.sub + for i in $(find ${CONFIGURE_TOP} -name config.guess -o -name config.sub) ++ basename ./config.guess + '[' -f /usr/lib/rpm/mageia/config.guess ']' ++ basename ./config.guess + cp -af /usr/lib/rpm/mageia/config.guess ./config.guess + for i in $(find ${CONFIGURE_TOP} -name config.guess -o -name config.sub) ++ basename ./config.sub + '[' -f /usr/lib/rpm/mageia/config.sub ']' ++ basename ./config.sub + cp -af /usr/lib/rpm/mageia/config.sub ./config.sub + /usr/lib/rpm/mageia/force-as-needed-for-shared-lib-in-libtool Forcing -Wl,--as-needed in configure/libtool to workaround libtool bug (cf http://lists.gnu.org/archive/html/libtool-patches/2004-06/msg00002.html) + /usr/lib/rpm/mageia/drop-ld-no-undefined-for-shared-lib-modules-in-libtool Modifying ltmain.sh underlinking for plugins (cf http://wiki.mandriva.com/en/Underlinking) + /usr/lib/rpm/mageia/fix-libtool-ltmain-from-overlinking Fixing libtool's ltmain.sh to prevent overlinking (cf http://wiki.mandriva.com/en/Overlinking) + /usr/lib/rpm/mageia/fix-libtool-from-moving-options-after-libs . + /usr/lib/rpm/mageia/fix-dlsearch-path-in-libtool-for-multilib . lib64 + ./configure --host=x86_64-mageia-linux-gnu --build=x86_64-mageia-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --disable-static checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a race-free mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking build system type... x86_64-mageia-linux-gnu checking for x86_64-mageia-linux-gnu-gcc... x86_64-mageia-linux-gnu-gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether x86_64-mageia-linux-gnu-gcc accepts -g... yes checking for x86_64-mageia-linux-gnu-gcc option to enable C11 features... none needed checking whether x86_64-mageia-linux-gnu-gcc understands -c and -o together... yes checking whether make supports the include directive... yes (GNU style) checking dependency style of x86_64-mageia-linux-gnu-gcc... none checking for an ANSI C-conforming const... yes checking whether make sets $(MAKE)... (cached) yes checking host system type... x86_64-mageia-linux-gnu checking how to print strings... printf checking for a sed that does not truncate output... /usr/bin/sed checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for fgrep... /usr/bin/grep -F checking for ld used by x86_64-mageia-linux-gnu-gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/x86_64-mageia-linux-gnu-nm -p checking the name lister (/usr/bin/x86_64-mageia-linux-gnu-nm -p) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking how to convert x86_64-mageia-linux-gnu file names to x86_64-mageia-linux-gnu format... func_convert_file_noop checking how to convert x86_64-mageia-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for x86_64-mageia-linux-gnu-objdump... no checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for x86_64-mageia-linux-gnu-dlltool... no checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for x86_64-mageia-linux-gnu-ar... x86_64-mageia-linux-gnu-ar checking for archiver @FILE support... @ checking for x86_64-mageia-linux-gnu-strip... no checking for strip... strip checking for x86_64-mageia-linux-gnu-ranlib... x86_64-mageia-linux-gnu-ranlib checking command to parse /usr/bin/x86_64-mageia-linux-gnu-nm -p output from x86_64-mageia-linux-gnu-gcc object... ok checking for sysroot... no checking for a working dd... /usr/bin/dd checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1 checking for x86_64-mageia-linux-gnu-mt... no checking for mt... no checking if : is a manifest tool... no checking for sys/types.h... yes checking for sys/stat.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for dlfcn.h... yes checking for objdir... .libs checking if x86_64-mageia-linux-gnu-gcc supports -fno-rtti -fno-exceptions... no checking for x86_64-mageia-linux-gnu-gcc option to produce PIC... -fPIC -DPIC checking if x86_64-mageia-linux-gnu-gcc PIC flag -fPIC -DPIC works... yes checking if x86_64-mageia-linux-gnu-gcc static flag -static works... no checking if x86_64-mageia-linux-gnu-gcc supports -c -o file.o... yes checking if x86_64-mageia-linux-gnu-gcc supports -c -o file.o... (cached) yes checking whether the x86_64-mageia-linux-gnu-gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... no checking for valac... /usr/bin/valac checking for special C compiler options needed for large files... no checking for _FILE_OFFSET_BITS value needed for large files... no checking for WIN32... no checking for Mac... no checking for Linux... compile in linux checking for uuid_generate in -luuid... yes found library uuid checking for pthread_create in -lpthread... yes found library pthread checking for sqlite3_open in -lsqlite3... yes found library sqlite3 checking for x86_64-mageia-linux-gnu-pkg-config... /usr/bin/x86_64-mageia-linux-gnu-pkg-config checking pkg-config is at least version 0.9.0... yes checking for GLIB2... yes checking for GOBJECT... yes checking for SEARPC... yes checking for JANSSON... yes checking for LIBEVENT... yes checking for ZLIB... yes checking for CURL... yes checking for LIBEVENT_PTHREADS... yes checking whether /usr/bin/python3 version is >= 2.7... yes checking for /usr/bin/python3 version... 3.8 checking for /usr/bin/python3 platform... linux checking for /usr/bin/python3 script directory... ${prefix}/lib/python3.8/site-packages checking for /usr/bin/python3 extension module directory... ${exec_prefix}/lib64/python3.8/site-packages checking for SHA1_Init in -lcrypto... yes found library crypto checking for SSL... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating include/Makefile config.status: creating lib/Makefile config.status: creating lib/libseafile.pc config.status: creating common/Makefile config.status: creating common/cdc/Makefile config.status: creating common/index/Makefile config.status: creating daemon/Makefile config.status: creating app/Makefile config.status: creating doc/Makefile config.status: creating python/Makefile config.status: creating python/seafile/Makefile config.status: creating config.h config.status: executing depfiles commands config.status: executing libtool commands + /usr/bin/make -O -j8 V=1 VERBOSE=1 /usr/bin/make all-recursive Making all in include make[2]: Nothing to be done for 'all'. Making all in lib make[2]: Entering directory '/home/iurt/rpmbuild/BUILD/seafile-7.0.9/lib' rm -f repo.c task.c /usr/bin/valac -C --pkg posix repo.vala task.vala make[2]: Leaving directory '/home/iurt/rpmbuild/BUILD/seafile-7.0.9/lib' make[2]: Entering directory '/home/iurt/rpmbuild/BUILD/seafile-7.0.9/lib' rm -f seafile-object.h /usr/bin/valac --pkg posix repo.vala task.vala -C -H seafile-object.h make[2]: Leaving directory '/home/iurt/rpmbuild/BUILD/seafile-7.0.9/lib' /usr/bin/make all-am make[3]: Entering directory '/home/iurt/rpmbuild/BUILD/seafile-7.0.9/lib' /bin/sh ../libtool --tag=CC --mode=compile x86_64-mageia-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I../include -I../lib -I../common -I/usr/include/searpc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -I/usr/include/libmount -I/usr/include/blkid -Wall -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables -c -o db.lo db.c libtool: compile: x86_64-mageia-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I../include -I../lib -I../common -I/usr/include/searpc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -I/usr/include/libmount -I/usr/include/blkid -Wall -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables -c db.c -fPIC -DPIC -o .libs/db.o make[3]: Leaving directory '/home/iurt/rpmbuild/BUILD/seafile-7.0.9/lib' make[3]: Entering directory '/home/iurt/rpmbuild/BUILD/seafile-7.0.9/lib' /bin/sh ../libtool --tag=CC --mode=compile x86_64-mageia-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I../include -I../lib -I../common -I/usr/include/searpc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -I/usr/include/libmount -I/usr/include/blkid -Wall -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables -c -o seafile-rpc-wrapper.lo seafile-rpc-wrapper.c libtool: compile: x86_64-mageia-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I../include -I../lib -I../common -I/usr/include/searpc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -I/usr/include/libmount -I/usr/include/blkid -Wall -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables -c seafile-rpc-wrapper.c -fPIC -DPIC -o .libs/seafile-rpc-wrapper.o make[3]: Leaving directory '/home/iurt/rpmbuild/BUILD/seafile-7.0.9/lib' make[3]: Entering directory '/home/iurt/rpmbuild/BUILD/seafile-7.0.9/lib' /bin/sh ../libtool --tag=CC --mode=compile x86_64-mageia-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I../include -I../lib -I../common -I/usr/include/searpc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -I/usr/include/libmount -I/usr/include/blkid -Wall -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables -c -o net.lo net.c libtool: compile: x86_64-mageia-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I../include -I../lib -I../common -I/usr/include/searpc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -I/usr/include/libmount -I/usr/include/blkid -Wall -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables -c net.c -fPIC -DPIC -o .libs/net.o make[3]: Leaving directory '/home/iurt/rpmbuild/BUILD/seafile-7.0.9/lib' make[3]: Entering directory '/home/iurt/rpmbuild/BUILD/seafile-7.0.9/lib' /bin/sh ../libtool --tag=CC --mode=compile x86_64-mageia-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I../include -I../lib -I../common -I/usr/include/searpc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -I/usr/include/libmount -I/usr/include/blkid -Wall -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables -c -o utils.lo utils.c libtool: compile: x86_64-mageia-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I../include -I../lib -I../common -I/usr/include/searpc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -I/usr/include/libmount -I/usr/include/blkid -Wall -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables -c utils.c -fPIC -DPIC -o .libs/utils.o utils.c: In function 'get_current_time': utils.c:1718:5: warning: 'GTimeVal' is deprecated: Use 'GDateTime' instead [-Wdeprecated-declarations] 1718 | GTimeVal tv; | ^~~~~~~~ In file included from /usr/include/glib-2.0/glib/galloca.h:32, from /usr/include/glib-2.0/glib.h:30, from ../common/common.h:20, from utils.c:5: /usr/include/glib-2.0/glib/gtypes.h:547:8: note: declared here 547 | struct _GTimeVal | ^~~~~~~~~ utils.c:1721:5: warning: 'g_get_current_time' is deprecated: Use 'g_get_real_time' instead [-Wdeprecated-declarations] 1721 | g_get_current_time (&tv); | ^~~~~~~~~~~~~~~~~~ In file included from /usr/include/glib-2.0/glib/giochannel.h:33, from /usr/include/glib-2.0/glib.h:54, from ../common/common.h:20, from utils.c:5: /usr/include/glib-2.0/glib/gmain.h:681:8: note: declared here 681 | void g_get_current_time (GTimeVal *result); | ^~~~~~~~~~~~~~~~~~ utils.c: In function 'ccnet_expand_path': utils.c:1151:9: warning: ignoring return value of 'getcwd' declared with attribute 'warn_unused_result' [-Wunused-result] 1151 | getcwd (new_path, SEAF_PATH_MAX); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ make[3]: Leaving directory '/home/iurt/rpmbuild/BUILD/seafile-7.0.9/lib' make[3]: Entering directory '/home/iurt/rpmbuild/BUILD/seafile-7.0.9/lib' /bin/sh ../libtool --tag=CC --mode=compile x86_64-mageia-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I../include -I../lib -I../common -I/usr/include/searpc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -I/usr/include/libmount -I/usr/include/blkid -Wall -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables -c -o task.lo task.c libtool: compile: x86_64-mageia-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I../include -I../lib -I../common -I/usr/include/searpc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -I/usr/include/libmount -I/usr/include/blkid -Wall -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables -c task.c -fPIC -DPIC -o .libs/task.o task.c:113:14: error: expected ';' before 'const' 113 | void seafile_ const gchar* value) | ^ ~~~~~ | ; task.c:113:37: error: expected '=', ',', ';', 'asm' or '__attribute__' before ')' token 113 | void seafile_ const gchar* value) | ^ task.c: In function 'seafile_task_set_rate': task.c:271:47: error: 'seafile_task_propertie' undeclared (first use in this function); did you mean 'seafile_task_properties'? 271 | g_object_notify_by_pspec ((GObject *) self, seafile_task_propertie); | ^~~~~~~~~~~~~~~~~~~~~~ | seafile_task_properties task.c:271:47: note: each undeclared identifier is reported only once for each function it appears in task.c:273:24: error: '_tmp0_' undeclared (first use in this function) 273 | self->priv->_ttype = _tmp0_; | ^~~~~~ task.c: At top level: task.c:304:1: error: redefinition of 'seafile_task_get_state' 304 | seafile_task_get_state (SeafileTask* self) | ^~~~~~~~~~~~~~~~~~~~~~ task.c:126:1: note: previous definition of 'seafile_task_get_state' was here 126 | seafile_task_get_state (SeafileTask* self) | ^~~~~~~~~~~~~~~~~~~~~~ task.c:315:1: error: redefinition of 'seafile_task_set_state' 315 | seafile_task_set_state (SeafileTask* self, | ^~~~~~~~~~~~~~~~~~~~~~ task.c:137:1: note: previous definition of 'seafile_task_set_state' was here 137 | seafile_task_set_state (SeafileTask* self, | ^~~~~~~~~~~~~~~~~~~~~~ task.c:329:1: error: redefinition of 'seafile_task_get_rt_state' 329 | seafile_task_get_rt_state (SeafileTask* self) | ^~~~~~~~~~~~~~~~~~~~~~~~~ task.c:151:1: note: previous definition of 'seafile_task_get_rt_state' was here 151 | seafile_task_get_rt_state (SeafileTask* self) | ^~~~~~~~~~~~~~~~~~~~~~~~~ task.c:340:1: error: redefinition of 'seafile_task_set_rt_state' 340 | seafile_task_set_rt_state (SeafileTask* self, | ^~~~~~~~~~~~~~~~~~~~~~~~~ task.c:162:1: note: previous definition of 'seafile_task_set_rt_state' was here 162 | seafile_task_set_rt_state (SeafileTask* self, | ^~~~~~~~~~~~~~~~~~~~~~~~~ task.c:354:1: error: redefinition of 'seafile_task_get_block_total' 354 | seafile_task_get_block_total (SeafileTask* self) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:176:1: note: previous definition of 'seafile_task_get_block_total' was here 176 | seafile_task_get_block_total (SeafileTask* self) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:363:1: error: redefinition of 'seafile_task_set_block_total' 363 | seafile_task_set_block_total (SeafileTask* self, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:185:1: note: previous definition of 'seafile_task_set_block_total' was here 185 | seafile_task_set_block_total (SeafileTask* self, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:374:1: error: redefinition of 'seafile_task_get_block_done' 374 | seafile_task_get_block_done (SeafileTask* self) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:196:1: note: previous definition of 'seafile_task_get_block_done' was here 196 | seafile_task_get_block_done (SeafileTask* self) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:383:1: error: redefinition of 'seafile_task_set_block_done' 383 | seafile_task_set_block_done (SeafileTask* self, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:205:1: note: previous definition of 'seafile_task_set_block_done' was here 205 | seafile_task_set_block_done (SeafileTask* self, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:394:1: error: redefinition of 'seafile_task_get_fs_objects_total' 394 | seafile_task_get_fs_objects_total (SeafileTask* self) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:216:1: note: previous definition of 'seafile_task_get_fs_objects_total' was here 216 | seafile_task_get_fs_objects_total (SeafileTask* self) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:403:1: error: redefinition of 'seafile_task_set_fs_objects_total' 403 | seafile_task_set_fs_objects_total (SeafileTask* self, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:225:1: note: previous definition of 'seafile_task_set_fs_objects_total' was here 225 | seafile_task_set_fs_objects_total (SeafileTask* self, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:414:1: error: redefinition of 'seafile_task_get_fs_objects_done' 414 | seafile_task_get_fs_objects_done (SeafileTask* self) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:236:1: note: previous definition of 'seafile_task_get_fs_objects_done' was here 236 | seafile_task_get_fs_objects_done (SeafileTask* self) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:423:1: error: redefinition of 'seafile_task_set_fs_objects_done' 423 | seafile_task_set_fs_objects_done (SeafileTask* self, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:245:1: note: previous definition of 'seafile_task_set_fs_objects_done' was here 245 | seafile_task_set_fs_objects_done (SeafileTask* self, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:434:1: error: redefinition of 'seafile_task_get_rate' 434 | seafile_task_get_rate (SeafileTask* self) | ^~~~~~~~~~~~~~~~~~~~~ task.c:256:1: note: previous definition of 'seafile_task_get_rate' was here 256 | seafile_task_get_rate (SeafileTask* self) | ^~~~~~~~~~~~~~~~~~~~~ task.c:443:1: error: redefinition of 'seafile_task_set_rate' 443 | seafile_task_set_rate (SeafileTask* self, | ^~~~~~~~~~~~~~~~~~~~~ task.c:265:1: note: previous definition of 'seafile_task_set_rate' was here 265 | seafile_task_set_rate (SeafileTask* self, | ^~~~~~~~~~~~~~~~~~~~~ task.c: In function 'seafile_task_class_init': task.c:459:41: error: '_vala_seafile_task_get_property' undeclared (first use in this function) 459 | G_OBJECT_CLASS (klass)->get_property = _vala_seafile_task_get_property; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:460:41: error: '_vala_seafile_task_set_property' undeclared (first use in this function) 460 | G_OBJECT_CLASS (klass)->set_property = _vala_seafile_task_set_property; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:461:37: error: 'seafile_task_finalize' undeclared (first use in this function); did you mean 'seafile_task_set_rate'? 461 | G_OBJECT_CLASS (klass)->finalize = seafile_task_finalize; | ^~~~~~~~~~~~~~~~~~~~~ | seafile_task_set_rate task.c: In function 'seafile_task_instance_init': task.c:477:15: warning: implicit declaration of function 'seafile_task_get_instance_private'; did you mean 'seafile_task_instance_init'? [-Wimplicit-function-declaration] 477 | self->priv = seafile_task_get_instance_private (self); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | seafile_task_instance_init task.c:477:13: warning: assignment to 'SeafileTaskPrivate *' {aka 'struct _SeafileTaskPrivate *'} from 'int' makes pointer from integer without a cast [-Wint-conversion] 477 | self->priv = seafile_task_get_instance_private (self); | ^ In file included from /usr/include/glib-2.0/glib.h:62, from /usr/include/glib-2.0/gobject/gbinding.h:28, from /usr/include/glib-2.0/glib-object.h:22, from task.c:4: task.c: In function 'seafile_task_g': /usr/include/glib-2.0/glib/gmessages.h:631:9: warning: 'return' with no value, in function returning non-void [-Wreturn-type] 631 | return; \ | ^~~~~~ task.c:496:2: note: in expansion of macro 'g_return_if_fail' 496 | g_return_if_fail (self != NULL); | ^~~~~~~~~~~~~~~~ task.c:493:1: note: declared here 493 | seafile_task_g(SeafileCloneTask* self, | ^~~~~~~~~~~~~~ task.c:497:24: warning: implicit declaration of function 'seafile_clone_task_get_state'; did you mean 'seafile_task_get_state'? [-Wimplicit-function-declaration] 497 | if (g_strcmp0 (value, seafile_clone_task_get_state (self)) != 0) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ | seafile_task_get_state task.c:497:24: warning: passing argument 2 of 'g_strcmp0' makes pointer from integer without a cast [-Wint-conversion] 497 | if (g_strcmp0 (value, seafile_clone_task_get_state (self)) != 0) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | int In file included from /usr/include/glib-2.0/glib.h:85, from /usr/include/glib-2.0/gobject/gbinding.h:28, from /usr/include/glib-2.0/glib-object.h:22, from task.c:4: /usr/include/glib-2.0/glib/gtestutils.h:193:58: note: expected 'const char *' but argument is of type 'int' 193 | const char *str2); | ~~~~~~~~~~~~~~~~^~~~ task.c: In function 'seafile_clone_task_class_init': task.c:607:41: error: '_vala_seafile_clone_task_get_property' undeclared (first use in this function); did you mean 'seafile_clone_task_get_worktree'? 607 | G_OBJECT_CLASS (klass)->get_property = _vala_seafile_clone_task_get_property; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | seafile_clone_task_get_worktree task.c:608:41: error: '_vala_seafile_clone_task_set_property' undeclared (first use in this function); did you mean 'seafile_clone_task_set_worktree'? 608 | G_OBJECT_CLASS (klass)->set_property = _vala_seafile_clone_task_set_property; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | seafile_clone_task_set_worktree task.c:609:37: error: 'seafile_clone_task_finalize' undeclared (first use in this function); did you mean 'seafile_task_finalize'? 609 | G_OBJECT_CLASS (klass)->finalize = seafile_clone_task_finalize; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ | seafile_task_finalize task.c:612:35: error: 'G_OBJECT_CL' undeclared (first use in this function); did you mean 'G_OBJECT_CLASS'? 612 | g_object_class_install_property (G_OBJECT_CL = NULL; | ^~~~~~~~~~~ | G_OBJECT_CLASS task.c:612:53: error: expected ')' before ';' token 612 | g_object_class_install_property (G_OBJECT_CL = NULL; | ^ task.c:612:2: error: too few arguments to function 'g_object_class_install_property' 612 | g_object_class_install_property (G_OBJECT_CL = NULL; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/glib-2.0/gobject/gbinding.h:29, from /usr/include/glib-2.0/glib-object.h:22, from task.c:4: /usr/include/glib-2.0/gobject/gobject.h:388:13: note: declared here 388 | void g_object_class_install_property (GObjectClass *oclass, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:614:14: error: expected ';' before '}' token 614 | return self; | ^ | ; 615 | } | ~ task.c: In function 'seafile_clone_task_new': task.c:620:9: warning: implicit declaration of function 'seafile_clone_task_construct'; did you mean 'seafile_task_construct'? [-Wimplicit-function-declaration] 620 | return seafile_clone_task_construct (SEAFILE_TYPE_CLONE_TASK); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ | seafile_task_construct task.c:35:34: warning: implicit declaration of function 'seafile_clone_task_get_type'; did you mean 'seafile_clone_task_get_error'? [-Wimplicit-function-declaration] 35 | #define SEAFILE_TYPE_CLONE_TASK (seafile_clone_task_get_type ()) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:620:39: note: in expansion of macro 'SEAFILE_TYPE_CLONE_TASK' 620 | return seafile_clone_task_construct (SEAFILE_TYPE_CLONE_TASK); | ^~~~~~~~~~~~~~~~~~~~~~~ task.c:620:9: warning: returning 'int' from a function with return type 'SeafileCloneTask *' {aka 'struct _SeafileCloneTask *'} makes pointer from integer without a cast [-Wint-conversion] 620 | return seafile_clone_task_construct (SEAFILE_TYPE_CLONE_TASK); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c: At top level: task.c:624:1: error: conflicting types for 'seafile_clone_task_get_state' 624 | seafile_clone_task_get_state (SeafileCloneTask* self) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:497:24: note: previous implicit declaration of 'seafile_clone_task_get_state' was here 497 | if (g_strcmp0 (value, seafile_clone_task_get_state (self)) != 0) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:649:1: error: redefinition of 'seafile_clone_task_get_error' 649 | seafile_clone_task_get_error (SeafileCloneTask* self) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:507:1: note: previous definition of 'seafile_clone_task_get_error' was here 507 | seafile_clone_task_get_error (SeafileCloneTask* self) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:658:1: error: redefinition of 'seafile_clone_task_set_error' 658 | seafile_clone_task_set_error (SeafileCloneTask* self, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:516:1: note: previous definition of 'seafile_clone_task_set_error' was here 516 | seafile_clone_task_set_error (SeafileCloneTask* self, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:669:1: error: redefinition of 'seafile_clone_task_get_repo_id' 669 | seafile_clone_task_get_repo_id (SeafileCloneTask* self) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:527:1: note: previous definition of 'seafile_clone_task_get_repo_id' was here 527 | seafile_clone_task_get_repo_id (SeafileCloneTask* self) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:680:1: error: redefinition of 'seafile_clone_task_set_repo_id' 680 | seafile_clone_task_set_repo_id (SeafileCloneTask* self, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:538:1: note: previous definition of 'seafile_clone_task_set_repo_id' was here 538 | seafile_clone_task_set_repo_id (SeafileCloneTask* self, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:694:1: error: redefinition of 'seafile_clone_task_get_repo_name' 694 | seafile_clone_task_get_repo_name (SeafileCloneTask* self) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:552:1: note: previous definition of 'seafile_clone_task_get_repo_name' was here 552 | seafile_clone_task_get_repo_name (SeafileCloneTask* self) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:705:1: error: redefinition of 'seafile_clone_task_set_repo_name' 705 | seafile_clone_task_set_repo_name (SeafileCloneTask* self, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:563:1: note: previous definition of 'seafile_clone_task_set_repo_name' was here 563 | seafile_clone_task_set_repo_name (SeafileCloneTask* self, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:719:1: error: redefinition of 'seafile_clone_task_get_worktree' 719 | seafile_clone_task_get_worktree (SeafileCloneTask* self) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:577:1: note: previous definition of 'seafile_clone_task_get_worktree' was here 577 | seafile_clone_task_get_worktree (SeafileCloneTask* self) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:730:1: error: redefinition of 'seafile_clone_task_set_worktree' 730 | seafile_clone_task_set_worktree (SeafileCloneTask* self, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:588:1: note: previous definition of 'seafile_clone_task_set_worktree' was here 588 | seafile_clone_task_set_worktree (SeafileCloneTask* self, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:744:1: error: redefinition of 'seafile_clone_task_class_init' 744 | seafile_clone_task_class_init (SeafileCloneTaskClass * klass, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:602:1: note: previous definition of 'seafile_clone_task_class_init' was here 602 | seafile_clone_task_class_init (SeafileCloneTaskClass * klass, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c: In function 'seafile_clone_task_class_init': task.c:749:41: error: '_vala_seafile_clone_task_get_property' undeclared (first use in this function); did you mean 'seafile_clone_task_get_worktree'? 749 | G_OBJECT_CLASS (klass)->get_property = _vala_seafile_clone_task_get_property; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | seafile_clone_task_get_worktree task.c:750:41: error: '_vala_seafile_clone_task_set_property' undeclared (first use in this function); did you mean 'seafile_clone_task_set_worktree'? 750 | G_OBJECT_CLASS (klass)->set_property = _vala_seafile_clone_task_set_property; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | seafile_clone_task_set_worktree task.c:751:37: error: 'seafile_clone_task_finalize' undeclared (first use in this function); did you mean 'seafile_task_finalize'? 751 | G_OBJECT_CLASS (klass)->finalize = seafile_clone_task_finalize; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ | seafile_task_finalize task.c: In function 'seafile_clone_task_instance_init': task.c:763:15: warning: implicit declaration of function 'seafile_clone_task_get_instance_private'; did you mean 'seafile_clone_task_instance_init'? [-Wimplicit-function-declaration] 763 | self->priv = seafile_clone_task_get_instance_private (self); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | seafile_clone_task_instance_init task.c:763:13: warning: assignment to 'SeafileCloneTaskPrivate *' {aka 'struct _SeafileCloneTaskPrivate *'} from 'int' makes pointer from integer without a cast [-Wint-conversion] 763 | self->priv = seafile_clone_task_get_instance_private (self); | ^ task.c: At top level: task.c:789:1: error: conflicting types for 'seafile_clone_task_get_type' 789 | seafile_clone_task_get_type (void) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:35:34: note: previous implicit declaration of 'seafile_clone_task_get_type' was here 35 | #define SEAFILE_TYPE_CLONE_TASK (seafile_clone_task_get_type ()) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:620:39: note: in expansion of macro 'SEAFILE_TYPE_CLONE_TASK' 620 | return seafile_clone_task_construct (SEAFILE_TYPE_CLONE_TASK); | ^~~~~~~~~~~~~~~~~~~~~~~ task.c:831:1: warning: '_vala_seafile_clone_task_set_property' defined but not used [-Wunused-function] 831 | _vala_seafile_clone_task_set_property (GObject * object, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:801:1: warning: '_vala_seafile_clone_task_get_property' defined but not used [-Wunused-function] 801 | _vala_seafile_clone_task_get_property (GObject * object, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:767:1: warning: 'seafile_clone_task_finalize' defined but not used [-Wunused-function] 767 | seafile_clone_task_finalize (GObject * obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:602:1: warning: 'seafile_clone_task_class_init' defined but not used [-Wunused-function] 602 | seafile_clone_task_class_init (SeafileCloneTaskClass * klass, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:493:1: warning: 'seafile_task_g' defined but not used [-Wunused-function] 493 | seafile_task_g(SeafileCloneTask* self, | ^~~~~~~~~~~~~~ task.c:481:1: warning: 'seafile_task_finalize' defined but not used [-Wunused-function] 481 | seafile_task_finalize (GObject * obj) | ^~~~~~~~~~~~~~~~~~~~~ task.c:474:1: warning: 'seafile_task_instance_init' defined but not used [-Wunused-function] 474 | seafile_task_instance_init (SeafileTask * self, | ^~~~~~~~~~~~~~~~~~~~~~~~~~ task.c:454:1: warning: 'seafile_task_class_init' defined but not used [-Wunused-function] 454 | seafile_task_class_init (SeafileTaskClass * klass, | ^~~~~~~~~~~~~~~~~~~~~~~ make[3]: *** [Makefile:555: task.lo] Error 1 make[3]: Leaving directory '/home/iurt/rpmbuild/BUILD/seafile-7.0.9/lib' make[3]: *** Waiting for unfinished jobs.... make[3]: Entering directory '/home/iurt/rpmbuild/BUILD/seafile-7.0.9/lib' /bin/sh ../libtool --tag=CC --mode=compile x86_64-mageia-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I../include -I../lib -I../common -I/usr/include/searpc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -I/usr/include/libmount -I/usr/include/blkid -Wall -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables -c -o repo.lo repo.c libtool: compile: x86_64-mageia-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I../include -I../lib -I../common -I/usr/include/searpc -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -I/usr/include/libmount -I/usr/include/blkid -Wall -O2 -g -pipe -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -fasynchronous-unwind-tables -c repo.c -fPIC -DPIC -o .libs/repo.o repo.c:160:51: error: expected ';' before 'guint' 160 | static GParamSpec* seafile_file_sync_error_propert guint property_id, | ^ ~~~~~ | ; repo.c:161:50: error: expected identifier or '(' before 'const' 161 | const GValue * value, | ^~~~~ In file included from /usr/lib64/glib-2.0/include/glibconfig.h:9, from /usr/include/glib-2.0/glib/gtypes.h:32, from /usr/include/glib-2.0/glib/galloca.h:32, from /usr/include/glib-2.0/glib.h:30, from /usr/include/glib-2.0/gobject/gbinding.h:28, from /usr/include/glib-2.0/glib-object.h:22, from repo.c:4: repo.c: In function 'seafile_repo_get_instance_private': repo.c:177:34: error: 'SeafileRepo_private_offset' undeclared (first use in this function); did you mean 'SeafileRepoPrivate'? 177 | return G_STRUCT_MEMBER_P (self, SeafileRepo_private_offset); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:842:50: note: in definition of macro 'G_STRUCT_MEMBER_P' 842 | ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset))) | ^~~~~~~~~~~~~ repo.c:177:34: note: each undeclared identifier is reported only once for each function it appears in 177 | return G_STRUCT_MEMBER_P (self, SeafileRepo_private_offset); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:842:50: note: in definition of macro 'G_STRUCT_MEMBER_P' 842 | ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset))) | ^~~~~~~~~~~~~ repo.c: In function 'seafile_repo_new': repo.c:8:28: warning: implicit declaration of function 'seafile_repo_get_type'; did you mean 'seafile_repo_new'? [-Wimplicit-function-declaration] 8 | #define SEAFILE_TYPE_REPO (seafile_repo_get_type ()) | ^~~~~~~~~~~~~~~~~~~~~ repo.c:191:33: note: in expansion of macro 'SEAFILE_TYPE_REPO' 191 | return seafile_repo_construct (SEAFILE_TYPE_REPO); | ^~~~~~~~~~~~~~~~~ repo.c: In function 'seafile_repo_get_id': repo.c:199:30: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 199 | result = (const gchar*) self->_id; | ^~ repo.c: In function 'seafile_repo_set_id': repo.c:208:14: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 208 | memcpy (self->_id, value, (gsize) 36); | ^~ repo.c:209:6: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 209 | self->_id[36] = '\0'; | ^~ repo.c: In function 'seafile_repo_get_name': repo.c:219:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 219 | _tmp0_ = self->_name; | ^~ repo.c: In function 'seafile_repo_set_name': repo.c:231:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 231 | _g_free0 (self->_name); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:231:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 231 | _g_free0 (self->_name); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:231:2: note: in expansion of macro '_g_free0' 231 | _g_free0 (self->_name); | ^~~~~~~~ repo.c:232:6: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 232 | self->_name = _tmp0_; | ^~ repo.c: In function 'seafile_repo_get_desc': repo.c:242:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 242 | _tmp0_ = self->_desc; | ^~ repo.c: In function 'seafile_repo_set_desc': repo.c:254:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 254 | _g_free0 (self->_desc); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:254:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 254 | _g_free0 (self->_desc); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:254:2: note: in expansion of macro '_g_free0' 254 | _g_free0 (self->_desc); | ^~~~~~~~ repo.c:255:6: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 255 | self->_desc = _tmp0_; | ^~ repo.c: In function 'seafile_repo_get_version': repo.c:264:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 264 | result = self->priv->_version; | ^~ repo.c: In function 'seafile_repo_set_version': repo.c:274:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 274 | self->priv->_version = value; | ^~ repo.c: In function 'seafile_repo_get_last_modify': repo.c:284:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 284 | result = self->priv->_last_modify; | ^~ repo.c: In function 'seafile_repo_set_last_modify': repo.c:294:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 294 | self->priv->_last_modify = value; | ^~ repo.c: In function 'seafile_repo_get_size': repo.c:304:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 304 | result = self->priv->_size; | ^~ repo.c: In function 'seafile_repo_set_size': repo.c:314:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 314 | self->priv->_size = value; | ^~ repo.c: In function 'seafile_repo_get_file_count': repo.c:324:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 324 | result = self->priv->_file_count; | ^~ repo.c: In function 'seafile_repo_set_file_count': repo.c:334:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 334 | self->priv->_file_count = value; | ^~ repo.c: In function 'seafile_repo_get_head_cmmt_id': repo.c:345:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 345 | _tmp0_ = self->priv->_head_cmmt_id; | ^~ repo.c: In function 'seafile_repo_set_head_cmmt_id': repo.c:358:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 358 | _g_free0 (self->priv->_head_cmmt_id); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:358:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 358 | _g_free0 (self->priv->_head_cmmt_id); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:358:3: note: in expansion of macro '_g_free0' 358 | _g_free0 (self->priv->_head_cmmt_id); | ^~~~~~~~ repo.c:359:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 359 | self->priv->_head_cmmt_id = _tmp0_; | ^~ repo.c: In function 'seafile_repo_get_root': repo.c:370:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 370 | _tmp0_ = self->priv->_root; | ^~ repo.c: In function 'seafile_repo_set_root': repo.c:383:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 383 | _g_free0 (self->priv->_root); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:383:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 383 | _g_free0 (self->priv->_root); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:383:3: note: in expansion of macro '_g_free0' 383 | _g_free0 (self->priv->_root); | ^~~~~~~~ repo.c:384:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 384 | self->priv->_root = _tmp0_; | ^~ repo.c: In function 'seafile_repo_get_repo_id': repo.c:395:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 395 | _tmp0_ = self->priv->_repo_id; | ^~ repo.c: In function 'seafile_repo_set_repo_id': repo.c:408:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 408 | _g_free0 (self->priv->_repo_id); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:408:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 408 | _g_free0 (self->priv->_repo_id); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:408:3: note: in expansion of macro '_g_free0' 408 | _g_free0 (self->priv->_repo_id); | ^~~~~~~~ repo.c:409:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 409 | self->priv->_repo_id = _tmp0_; | ^~ repo.c: In function 'seafile_repo_get_repo_name': repo.c:420:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 420 | _tmp0_ = self->priv->_repo_name; | ^~ repo.c: In function 'seafile_repo_set_repo_name': repo.c:433:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 433 | _g_free0 (self->priv->_repo_name); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:433:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 433 | _g_free0 (self->priv->_repo_name); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:433:3: note: in expansion of macro '_g_free0' 433 | _g_free0 (self->priv->_repo_name); | ^~~~~~~~ repo.c:434:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 434 | self->priv->_repo_name = _tmp0_; | ^~ repo.c: In function 'seafile_repo_get_repo_desc': repo.c:445:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 445 | _tmp0_ = self->priv->_repo_desc; | ^~ repo.c: In function 'seafile_repo_set_repo_desc': repo.c:458:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 458 | _g_free0 (self->priv->_repo_desc); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:458:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 458 | _g_free0 (self->priv->_repo_desc); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:458:3: note: in expansion of macro '_g_free0' 458 | _g_free0 (self->priv->_repo_desc); | ^~~~~~~~ repo.c:459:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 459 | self->priv->_repo_desc = _tmp0_; | ^~ repo.c: In function 'seafile_repo_get_last_modified': repo.c:469:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 469 | result = self->priv->_last_modified; | ^~ repo.c: In function 'seafile_repo_set_last_modified': repo.c:479:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 479 | self->priv->_last_modified = value; | ^~ repo.c: In function 'seafile_repo_get_encrypted': repo.c:489:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 489 | result = self->priv->_encrypted; | ^~ repo.c: In function 'seafile_repo_set_encrypted': repo.c:499:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 499 | self->priv->_encrypted = value; | ^~ repo.c: In function 'seafile_repo_get_magic': repo.c:510:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 510 | _tmp0_ = self->priv->_magic; | ^~ repo.c: In function 'seafile_repo_set_magic': repo.c:523:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 523 | _g_free0 (self->priv->_magic); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:523:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 523 | _g_free0 (self->priv->_magic); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:523:3: note: in expansion of macro '_g_free0' 523 | _g_free0 (self->priv->_magic); | ^~~~~~~~ repo.c:524:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 524 | self->priv->_magic = _tmp0_; | ^~ repo.c: In function 'seafile_repo_get_enc_version': repo.c:534:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 534 | result = self->priv->_enc_version; | ^~ repo.c: In function 'seafile_repo_set_enc_version': repo.c:544:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 544 | self->priv->_enc_version = value; | ^~ repo.c: In function 'seafile_repo_get_random_key': repo.c:555:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 555 | _tmp0_ = self->priv->_random_key; | ^~ repo.c: In function 'seafile_repo_set_random_key': repo.c:568:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 568 | _g_free0 (self->priv->_random_key); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:568:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 568 | _g_free0 (self->priv->_random_key); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:568:3: note: in expansion of macro '_g_free0' 568 | _g_free0 (self->priv->_random_key); | ^~~~~~~~ repo.c:569:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 569 | self->priv->_random_key = _tmp0_; | ^~ repo.c: In function 'seafile_repo_get_salt': repo.c:580:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 580 | _tmp0_ = self->priv->_salt; | ^~ repo.c: In function 'seafile_repo_set_salt': repo.c:593:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 593 | _g_free0 (self->priv->_salt); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:593:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 593 | _g_free0 (self->priv->_salt); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:593:3: note: in expansion of macro '_g_free0' 593 | _g_free0 (self->priv->_salt); | ^~~~~~~~ repo.c:594:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 594 | self->priv->_salt = _tmp0_; | ^~ repo.c: In function 'seafile_repo_get_worktree': repo.c:605:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 605 | _tmp0_ = self->_worktree; | ^~ repo.c: In function 'seafile_repo_set_worktree': repo.c:617:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 617 | _g_free0 (self->_worktree); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:617:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 617 | _g_free0 (self->_worktree); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:617:2: note: in expansion of macro '_g_free0' 617 | _g_free0 (self->_worktree); | ^~~~~~~~ repo.c:618:6: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 618 | self->_worktree = _tmp0_; | ^~ repo.c: In function 'seafile_repo_get_relay_id': repo.c:628:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 628 | _tmp0_ = self->_relay_id; | ^~ repo.c: In function 'seafile_repo_set_relay_id': repo.c:640:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 640 | _g_free0 (self->_relay_id); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:640:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 640 | _g_free0 (self->_relay_id); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:640:2: note: in expansion of macro '_g_free0' 640 | _g_free0 (self->_relay_id); | ^~~~~~~~ repo.c:641:6: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 641 | self->_relay_id = _tmp0_; | ^~ repo.c: In function 'seafile_repo_get_last_sync_time': repo.c:650:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 650 | result = self->priv->_last_sync_time; | ^~ repo.c: In function 'seafile_repo_set_last_sync_time': repo.c:660:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 660 | self->priv->_last_sync_time = value; | ^~ repo.c: In function 'seafile_repo_get_auto_sync': repo.c:670:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 670 | result = self->priv->_auto_sync; | ^~ repo.c: In function 'seafile_repo_set_auto_sync': repo.c:680:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 680 | self->priv->_auto_sync = value; | ^~ repo.c: In function 'seafile_repo_get_worktree_invalid': repo.c:690:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 690 | result = self->priv->_worktree_invalid; | ^~ repo.c: In function 'seafile_repo_set_worktree_invalid': repo.c:700:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 700 | self->priv->_worktree_invalid = value; | ^~ repo.c: In function 'seafile_repo_get_is_virtual': repo.c:710:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 710 | result = self->priv->_is_virtual; | ^~ repo.c: In function 'seafile_repo_set_is_virtual': repo.c:720:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 720 | self->priv->_is_virtual = value; | ^~ repo.c: In function 'seafile_repo_get_origin_repo_id': repo.c:731:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 731 | _tmp0_ = self->priv->_origin_repo_id; | ^~ repo.c: In function 'seafile_repo_set_origin_repo_id': repo.c:744:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 744 | _g_free0 (self->priv->_origin_repo_id); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:744:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 744 | _g_free0 (self->priv->_origin_repo_id); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:744:3: note: in expansion of macro '_g_free0' 744 | _g_free0 (self->priv->_origin_repo_id); | ^~~~~~~~ repo.c:745:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 745 | self->priv->_origin_repo_id = _tmp0_; | ^~ repo.c: In function 'seafile_repo_get_origin_repo_name': repo.c:756:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 756 | _tmp0_ = self->priv->_origin_repo_name; | ^~ repo.c: In function 'seafile_repo_set_origin_repo_name': repo.c:769:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 769 | _g_free0 (self->priv->_origin_repo_name); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:769:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 769 | _g_free0 (self->priv->_origin_repo_name); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:769:3: note: in expansion of macro '_g_free0' 769 | _g_free0 (self->priv->_origin_repo_name); | ^~~~~~~~ repo.c:770:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 770 | self->priv->_origin_repo_name = _tmp0_; | ^~ repo.c: In function 'seafile_repo_get_origin_path': repo.c:781:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 781 | _tmp0_ = self->priv->_origin_path; | ^~ repo.c: In function 'seafile_repo_set_origin_path': repo.c:794:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 794 | _g_free0 (self->priv->_origin_path); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:794:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 794 | _g_free0 (self->priv->_origin_path); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:794:3: note: in expansion of macro '_g_free0' 794 | _g_free0 (self->priv->_origin_path); | ^~~~~~~~ repo.c:795:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 795 | self->priv->_origin_path = _tmp0_; | ^~ repo.c: In function 'seafile_repo_get_is_original_owner': repo.c:805:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 805 | result = self->priv->_is_original_owner; | ^~ repo.c: In function 'seafile_repo_set_is_original_owner': repo.c:815:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 815 | self->priv->_is_original_owner = value; | ^~ repo.c: In function 'seafile_repo_get_virtual_perm': repo.c:826:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 826 | _tmp0_ = self->priv->_virtual_perm; | ^~ repo.c: In function 'seafile_repo_set_virtual_perm': repo.c:839:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 839 | _g_free0 (self->priv->_virtual_perm); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:839:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 839 | _g_free0 (self->priv->_virtual_perm); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:839:3: note: in expansion of macro '_g_free0' 839 | _g_free0 (self->priv->_virtual_perm); | ^~~~~~~~ repo.c:840:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 840 | self->priv->_virtual_perm = _tmp0_; | ^~ repo.c: In function 'seafile_repo_get_store_id': repo.c:851:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 851 | _tmp0_ = self->priv->_store_id; | ^~ repo.c: In function 'seafile_repo_set_store_id': repo.c:864:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 864 | _g_free0 (self->priv->_store_id); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:864:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 864 | _g_free0 (self->priv->_store_id); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:864:3: note: in expansion of macro '_g_free0' 864 | _g_free0 (self->priv->_store_id); | ^~~~~~~~ repo.c:865:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 865 | self->priv->_store_id = _tmp0_; | ^~ repo.c: In function 'seafile_repo_get_is_corrupted': repo.c:875:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 875 | result = self->priv->_is_corrupted; | ^~ repo.c: In function 'seafile_repo_set_is_corrupted': repo.c:885:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 885 | self->priv->_is_corrupted = value; | ^~ repo.c: In function 'seafile_repo_get_repaired': repo.c:895:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 895 | result = self->priv->_repaired; | ^~ repo.c: In function 'seafile_repo_set_repaired': repo.c:905:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 905 | self->priv->_repaired = value; | ^~ repo.c: In function 'seafile_repo_get_share_type': repo.c:916:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 916 | _tmp0_ = self->priv->_share_type; | ^~ repo.c: In function 'seafile_repo_set_share_type': repo.c:929:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 929 | _g_free0 (self->priv->_share_type); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:929:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 929 | _g_free0 (self->priv->_share_type); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:929:3: note: in expansion of macro '_g_free0' 929 | _g_free0 (self->priv->_share_type); | ^~~~~~~~ repo.c:930:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 930 | self->priv->_share_type = _tmp0_; | ^~ repo.c: In function 'seafile_repo_get_permission': repo.c:941:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 941 | _tmp0_ = self->priv->_permission; | ^~ repo.c: In function 'seafile_repo_set_permission': repo.c:954:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 954 | _g_free0 (self->priv->_permission); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:954:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 954 | _g_free0 (self->priv->_permission); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:954:3: note: in expansion of macro '_g_free0' 954 | _g_free0 (self->priv->_permission); | ^~~~~~~~ repo.c:955:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 955 | self->priv->_permission = _tmp0_; | ^~ repo.c: In function 'seafile_repo_get_user': repo.c:966:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 966 | _tmp0_ = self->priv->_user; | ^~ repo.c: In function 'seafile_repo_set_user': repo.c:979:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 979 | _g_free0 (self->priv->_user); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:979:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 979 | _g_free0 (self->priv->_user); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:979:3: note: in expansion of macro '_g_free0' 979 | _g_free0 (self->priv->_user); | ^~~~~~~~ repo.c:980:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 980 | self->priv->_user = _tmp0_; | ^~ repo.c: In function 'seafile_repo_get_group_id': repo.c:990:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 990 | result = self->priv->_group_id; | ^~ repo.c: In function 'seafile_repo_set_group_id': repo.c:1000:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1000 | self->priv->_group_id = value; | ^~ repo.c: In function 'seafile_repo_get_is_shared': repo.c:1010:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1010 | result = self->priv->_is_shared; | ^~ repo.c: In function 'seafile_repo_set_is_shared': repo.c:1020:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1020 | self->priv->_is_shared = value; | ^~ repo.c: In function 'seafile_repo_class_init': repo.c:1029:2: error: 'seafile_repo_parent_class' undeclared (first use in this function); did you mean 'seafile_repo_set_salt'? 1029 | seafile_repo_parent_class = g_type_class_peek_parent (klass); | ^~~~~~~~~~~~~~~~~~~~~~~~~ | seafile_repo_set_salt repo.c:1030:46: error: 'SeafileRepo_private_offset' undeclared (first use in this function); did you mean 'SeafileRepoPrivate'? 1030 | g_type_class_adjust_private_offset (klass, &SeafileRepo_private_offset); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ | SeafileRepoPrivate repo.c:1031:41: error: '_vala_seafile_repo_get_property' undeclared (first use in this function); did you mean 'seafile_repo_get_root'? 1031 | G_OBJECT_CLASS (klass)->get_property = _vala_seafile_repo_get_property; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | seafile_repo_get_root repo.c:1032:41: error: '_vala_seafile_repo_set_property' undeclared (first use in this function); did you mean 'seafile_repo_set_root'? 1032 | G_OBJECT_CLASS (klass)->set_property = _vala_seafile_repo_set_property; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | seafile_repo_set_root repo.c:1033:37: error: 'seafile_repo_finalize' undeclared (first use in this function); did you mean 'seafile_repo_set_size'? 1033 | G_OBJECT_CLASS (klass)->finalize = seafile_repo_finalize; | ^~~~~~~~~~~~~~~~~~~~~ | seafile_repo_set_size repo.c: In function 'seafile_repo_instance_init': repo.c:1077:6: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1077 | self->priv = seafile_repo_get_instance_private (self); | ^~ repo.c: In function 'seafile_repo_finalize': repo.c:1085:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1085 | _g_free0 (self->_name); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:1085:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1085 | _g_free0 (self->_name); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:1085:2: note: in expansion of macro '_g_free0' 1085 | _g_free0 (self->_name); | ^~~~~~~~ repo.c:1086:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1086 | _g_free0 (self->_desc); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:1086:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1086 | _g_free0 (self->_desc); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:1086:2: note: in expansion of macro '_g_free0' 1086 | _g_free0 (self->_desc); | ^~~~~~~~ repo.c:1087:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1087 | _g_free0 (self->priv->_head_cmmt_id); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:1087:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1087 | _g_free0 (self->priv->_head_cmmt_id); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:1087:2: note: in expansion of macro '_g_free0' 1087 | _g_free0 (self->priv->_head_cmmt_id); | ^~~~~~~~ repo.c:1088:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1088 | _g_free0 (self->priv->_root); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:1088:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1088 | _g_free0 (self->priv->_root); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:1088:2: note: in expansion of macro '_g_free0' 1088 | _g_free0 (self->priv->_root); | ^~~~~~~~ repo.c:1089:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1089 | _g_free0 (self->priv->_repo_id); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:1089:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1089 | _g_free0 (self->priv->_repo_id); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:1089:2: note: in expansion of macro '_g_free0' 1089 | _g_free0 (self->priv->_repo_id); | ^~~~~~~~ repo.c:1090:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1090 | _g_free0 (self->priv->_repo_name); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:1090:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1090 | _g_free0 (self->priv->_repo_name); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:1090:2: note: in expansion of macro '_g_free0' 1090 | _g_free0 (self->priv->_repo_name); | ^~~~~~~~ repo.c:1091:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1091 | _g_free0 (self->priv->_repo_desc); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:1091:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1091 | _g_free0 (self->priv->_repo_desc); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:1091:2: note: in expansion of macro '_g_free0' 1091 | _g_free0 (self->priv->_repo_desc); | ^~~~~~~~ repo.c:1092:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1092 | _g_free0 (self->priv->_magic); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:1092:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1092 | _g_free0 (self->priv->_magic); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:1092:2: note: in expansion of macro '_g_free0' 1092 | _g_free0 (self->priv->_magic); | ^~~~~~~~ repo.c:1093:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1093 | _g_free0 (self->priv->_random_key); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:1093:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1093 | _g_free0 (self->priv->_random_key); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:1093:2: note: in expansion of macro '_g_free0' 1093 | _g_free0 (self->priv->_random_key); | ^~~~~~~~ repo.c:1094:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1094 | _g_free0 (self->priv->_salt); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:1094:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1094 | _g_free0 (self->priv->_salt); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:1094:2: note: in expansion of macro '_g_free0' 1094 | _g_free0 (self->priv->_salt); | ^~~~~~~~ repo.c:1095:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1095 | _g_free0 (self->_worktree); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:1095:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1095 | _g_free0 (self->_worktree); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:1095:2: note: in expansion of macro '_g_free0' 1095 | _g_free0 (self->_worktree); | ^~~~~~~~ repo.c:1096:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1096 | _g_free0 (self->_relay_id); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:1096:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1096 | _g_free0 (self->_relay_id); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:1096:2: note: in expansion of macro '_g_free0' 1096 | _g_free0 (self->_relay_id); | ^~~~~~~~ repo.c:1097:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1097 | _g_free0 (self->priv->_origin_repo_id); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:1097:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1097 | _g_free0 (self->priv->_origin_repo_id); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:1097:2: note: in expansion of macro '_g_free0' 1097 | _g_free0 (self->priv->_origin_repo_id); | ^~~~~~~~ repo.c:1098:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1098 | _g_free0 (self->priv->_origin_repo_name); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:1098:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1098 | _g_free0 (self->priv->_origin_repo_name); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:1098:2: note: in expansion of macro '_g_free0' 1098 | _g_free0 (self->priv->_origin_repo_name); | ^~~~~~~~ repo.c:1099:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1099 | _g_free0 (self->priv->_origin_path); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:1099:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1099 | _g_free0 (self->priv->_origin_path); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:1099:2: note: in expansion of macro '_g_free0' 1099 | _g_free0 (self->priv->_origin_path); | ^~~~~~~~ repo.c:1100:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1100 | _g_free0 (self->priv->_virtual_perm); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:1100:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1100 | _g_free0 (self->priv->_virtual_perm); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:1100:2: note: in expansion of macro '_g_free0' 1100 | _g_free0 (self->priv->_virtual_perm); | ^~~~~~~~ repo.c:1101:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1101 | _g_free0 (self->priv->_store_id); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:1101:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1101 | _g_free0 (self->priv->_store_id); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:1101:2: note: in expansion of macro '_g_free0' 1101 | _g_free0 (self->priv->_store_id); | ^~~~~~~~ repo.c:1102:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1102 | _g_free0 (self->priv->_share_type); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:1102:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1102 | _g_free0 (self->priv->_share_type); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:1102:2: note: in expansion of macro '_g_free0' 1102 | _g_free0 (self->priv->_share_type); | ^~~~~~~~ repo.c:1103:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1103 | _g_free0 (self->priv->_permission); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:1103:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1103 | _g_free0 (self->priv->_permission); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:1103:2: note: in expansion of macro '_g_free0' 1103 | _g_free0 (self->priv->_permission); | ^~~~~~~~ repo.c:1104:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1104 | _g_free0 (self->priv->_user); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:1104:16: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1104 | _g_free0 (self->priv->_user); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:1104:2: note: in expansion of macro '_g_free0' 1104 | _g_free0 (self->priv->_user); | ^~~~~~~~ In file included from /usr/include/glib-2.0/gobject/gobject.h:24, from /usr/include/glib-2.0/gobject/gbinding.h:29, from /usr/include/glib-2.0/glib-object.h:22, from repo.c:4: repo.c:1105:18: error: 'seafile_repo_parent_class' undeclared (first use in this function); did you mean 'seafile_repo_set_salt'? 1105 | G_OBJECT_CLASS (seafile_repo_parent_class)->finalize (obj); | ^~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/gobject/gtype.h:2299:51: note: in definition of macro '_G_TYPE_CCC' 2299 | ((ct*) g_type_check_class_cast ((GTypeClass*) cp, gt)) | ^~ /usr/include/glib-2.0/gobject/gobject.h:58:38: note: in expansion of macro 'G_TYPE_CHECK_CLASS_CAST' 58 | #define G_OBJECT_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_OBJECT, GObjectClass)) | ^~~~~~~~~~~~~~~~~~~~~~~ repo.c:1105:2: note: in expansion of macro 'G_OBJECT_CLASS' 1105 | G_OBJECT_CLASS (seafile_repo_parent_class)->finalize (obj); | ^~~~~~~~~~~~~~ repo.c: In function 'seafile_repo_get_type_once': repo.c:1111:56: error: invalid application of 'sizeof' to incomplete type 'SeafileRepoClass' {aka 'struct _SeafileRepoClass'} 1111 | static const GTypeInfo g_define_type_info = { sizeof (SeafileRepoClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) seafile_repo_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SeafileRepo), 0, (GInstanceInitFunc) seafile_repo_instance_init, NULL }; | ^~~~~~~~~~~~~~~~ repo.c:1111:206: error: invalid application of 'sizeof' to incomplete type 'SeafileRepo' {aka 'struct _SeafileRepo'} 1111 | static const GTypeInfo g_define_type_info = { sizeof (SeafileRepoClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) seafile_repo_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SeafileRepo), 0, (GInstanceInitFunc) seafile_repo_instance_init, NULL }; | ^~~~~~~~~~~ repo.c:1114:2: error: 'SeafileRepo_private_offset' undeclared (first use in this function); did you mean 'SeafileRepoPrivate'? 1114 | SeafileRepo_private_offset = g_type_add_instance_private (seafile_repo_type_id, sizeof (SeafileRepoPrivate)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ | SeafileRepoPrivate repo.c:1114:90: error: invalid application of 'sizeof' to incomplete type 'SeafileRepoPrivate' {aka 'struct _SeafileRepoPrivate'} 1114 | SeafileRepo_private_offset = g_type_add_instance_private (seafile_repo_type_id, sizeof (SeafileRepoPrivate)); | ^~~~~~~~~~~~~~~~~~ repo.c: At top level: repo.c:1119:1: error: conflicting types for 'seafile_repo_get_type' 1119 | seafile_repo_get_type (void) | ^~~~~~~~~~~~~~~~~~~~~ repo.c:8:28: note: previous implicit declaration of 'seafile_repo_get_type' was here 8 | #define SEAFILE_TYPE_REPO (seafile_repo_get_type ()) | ^~~~~~~~~~~~~~~~~~~~~ repo.c:191:33: note: in expansion of macro 'SEAFILE_TYPE_REPO' 191 | return seafile_repo_construct (SEAFILE_TYPE_REPO); | ^~~~~~~~~~~~~~~~~ repo.c: In function '_vala_seafile_repo_get_property': repo.c:1169:8: warning: implicit declaration of function 'SEAFILE_REPO_REPO_NAME_P' [-Wimplicit-function-declaration] 1169 | case SEAFILE_REPO_REPO_NAME_P (SeafileRepo* self) | ^~~~~~~~~~~~~~~~~~~~~~~~ repo.c:1169:34: error: expected expression before 'SeafileRepo' 1169 | case SEAFILE_REPO_REPO_NAME_P (SeafileRepo* self) | ^~~~~~~~~~~ repo.c:1170:1: error: expected ':' or '...' before '{' token 1170 | { | ^ In file included from /usr/include/glib-2.0/glib.h:62, from /usr/include/glib-2.0/gobject/gbinding.h:28, from /usr/include/glib-2.0/glib-object.h:22, from repo.c:4: /usr/include/glib-2.0/glib/gmessages.h:644:16: warning: 'return' with a value, in function returning void [-Wreturn-type] 644 | return (val); \ | ^ repo.c:1173:2: note: in expansion of macro 'g_return_val_if_fail' 1173 | g_return_val_if_fail (self != NULL, NULL); | ^~~~~~~~~~~~~~~~~~~~ repo.c:1131:1: note: declared here 1131 | _vala_seafile_repo_get_property (GObject * object, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ repo.c:1174:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1174 | _tmp0_ = self->priv->_share_type; | ^~ repo.c:1176:9: warning: 'return' with a value, in function returning void [-Wreturn-type] 1176 | return result; | ^~~~~~ repo.c:1131:1: note: declared here 1131 | _vala_seafile_repo_get_property (GObject * object, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ repo.c: In function 'seafile_repo_set_share_type': repo.c:1187:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1187 | _g_free0 (self->priv->_share_type); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:1187:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1187 | _g_free0 (self->priv->_share_type); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:1187:3: note: in expansion of macro '_g_free0' 1187 | _g_free0 (self->priv->_share_type); | ^~~~~~~~ repo.c:1188:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1188 | self->priv->_share_type = _tmp0_; | ^~ repo.c: In function 'seafile_repo_get_permission': repo.c:1199:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1199 | _tmp0_ = self->priv->_permission; | ^~ repo.c: In function 'seafile_repo_set_permission': repo.c:1212:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1212 | _g_free0 (self->priv->_permission); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:1212:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1212 | _g_free0 (self->priv->_permission); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:1212:3: note: in expansion of macro '_g_free0' 1212 | _g_free0 (self->priv->_permission); | ^~~~~~~~ repo.c:1213:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1213 | self->priv->_permission = _tmp0_; | ^~ repo.c: In function 'seafile_repo_get_user': repo.c:1224:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1224 | _tmp0_ = self->priv->_user; | ^~ repo.c: In function 'seafile_repo_set_user': repo.c:1237:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1237 | _g_free0 (self->priv->_user); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:1237:17: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1237 | _g_free0 (self->priv->_user); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:1237:3: note: in expansion of macro '_g_free0' 1237 | _g_free0 (self->priv->_user); | ^~~~~~~~ repo.c:1238:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1238 | self->priv->_user = _tmp0_; | ^~ repo.c: In function 'seafile_repo_get_group_id': repo.c:1248:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1248 | result = self->priv->_group_id; | ^~ repo.c: In function 'seafile_repo_set_group_id': repo.c:1258:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1258 | self->priv->_group_id = value; | ^~ repo.c: In function 'seafile_repo_get_is_shared': repo.c:1268:15: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1268 | result = self->priv->_is_shared; | ^~ repo.c: In function 'seafile_repo_set_is_shared': repo.c:1278:7: error: invalid use of incomplete typedef 'SeafileRepo' {aka 'struct _SeafileRepo'} 1278 | self->priv->_is_shared = value; | ^~ repo.c: In function '_vala_seafile_repo_get_property': repo.c:1284:1: error: invalid storage class for function 'seafile_repo_class_init' 1284 | seafile_repo_class_init (SeafileRepoClass * klass, | ^~~~~~~~~~~~~~~~~~~~~~~ repo.c: In function 'seafile_repo_class_init': repo.c:1287:2: error: 'seafile_repo_parent_class' undeclared (first use in this function); did you mean 'seafile_repo_set_salt'? 1287 | seafile_repo_parent_class = g_type_class_peek_parent (klass); | ^~~~~~~~~~~~~~~~~~~~~~~~~ | seafile_repo_set_salt repo.c:1288:46: error: 'SeafileRepo_private_offset' undeclared (first use in this function); did you mean 'SeafileRepoPrivate'? 1288 | g_type_class_adjust_private_offset (klass, &SeafileRepo_private_offset); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ | SeafileRepoPrivate repo.c:1290:41: error: '_vala_seafile_repo_set_property' undeclared (first use in this function); did you mean '_vala_seafile_repo_get_property'? 1290 | G_OBJECT_CLASS (klass)->set_property = _vala_seafile_repo_set_property; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | _vala_seafile_repo_get_property repo.c:1309:111: error: 'SEAFILE_ileSyncTask' undeclared (first use in this function); did you mean 'SeafileSyncTask'? 1309 | g_object_class_install_property (G_OBJECT_CLASS (klass), SEAFILE_REPO_SALT_PROPERTY, seafile_repo_properties[SEAFILE_ileSyncTask* | ^~~~~~~~~~~~~~~~~~~ | SeafileSyncTask repo.c:1310:1: warning: implicit declaration of function 'seafile_sync_task_new' [-Wimplicit-function-declaration] 1310 | seafile_sync_task_new (void) | ^~~~~~~~~~~~~~~~~~~~~ repo.c:1310:24: error: expected expression before 'void' 1310 | seafile_sync_task_new (void) | ^~~~ repo.c:1310:29: error: expected ']' before '{' token 1310 | seafile_sync_task_new (void) | ^ | ] 1311 | { | ~ repo.c:2237:40: error: expected ')' before '}' token 2237 | g_object_clC_ERROR_REPO_ID_PROPERTY]); | ^ | ) 2238 | } | ~ repo.c:2237:40: error: expected ';' before '}' token 2237 | g_object_clC_ERROR_REPO_ID_PROPERTY]); | ^ | ; 2238 | } | ~ repo.c: In function 'seafile_file_sync_error_get_repo_name': repo.c:2247:15: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2247 | _tmp0_ = self->priv->_repo_name; | ^~ repo.c: In function 'seafile_file_sync_error_set_repo_name': repo.c:2260:17: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2260 | _g_free0 (self->priv->_repo_name); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:2260:17: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2260 | _g_free0 (self->priv->_repo_name); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:2260:3: note: in expansion of macro '_g_free0' 2260 | _g_free0 (self->priv->_repo_name); | ^~~~~~~~ repo.c:2261:7: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2261 | self->priv->_repo_name = _tmp0_; | ^~ repo.c:2262:47: error: 'seafile_file_sync_error_properties' undeclared (first use in this function); did you mean 'seafile_file_sync_error_finalize'? 2262 | g_object_notify_by_pspec ((GObject *) self, seafile_file_sync_error_properties[SEAFILE_FILE_SYNC_ERROR_REPO_NAME_PROPERTY]); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | seafile_file_sync_error_finalize repo.c: In function 'seafile_file_sync_error_get_path': repo.c:2272:15: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2272 | _tmp0_ = self->priv->_path; | ^~ repo.c: In function 'seafile_file_sync_error_set_path': repo.c:2285:17: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2285 | _g_free0 (self->priv->_path); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:2285:17: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2285 | _g_free0 (self->priv->_path); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:2285:3: note: in expansion of macro '_g_free0' 2285 | _g_free0 (self->priv->_path); | ^~~~~~~~ repo.c:2286:7: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2286 | self->priv->_path = _tmp0_; | ^~ repo.c:2287:47: error: 'seafile_file_sync_error_properties' undeclared (first use in this function); did you mean 'seafile_file_sync_error_set_path'? 2287 | g_object_notify_by_pspec ((GObject *) self, seafile_file_sync_error_properties[SEAFILE_FILE_SYNC_ERROR_PATH_PROPERTY]); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | seafile_file_sync_error_set_path repo.c: In function 'seafile_file_sync_error_get_err_id': repo.c:2296:15: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2296 | result = self->priv->_err_id; | ^~ repo.c: In function 'seafile_file_sync_error_set_err_id': repo.c:2306:7: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2306 | self->priv->_err_id = value; | ^~ repo.c:2307:47: error: 'seafile_file_sync_error_properties' undeclared (first use in this function); did you mean 'seafile_file_sync_error_set_err_id'? 2307 | g_object_notify_by_pspec ((GObject *) self, seafile_file_sync_error_properties[SEAFILE_FILE_SYNC_ERROR_ERR_ID_PROPERTY]); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | seafile_file_sync_error_set_err_id repo.c: In function 'seafile_file_sync_error_get_timestamp': repo.c:2316:15: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2316 | result = self->priv->_timestamp; | ^~ repo.c: In function 'seafile_file_sync_error_set_timestamp': repo.c:2326:7: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2326 | self->priv->_timestamp = value; | ^~ repo.c:2327:47: error: 'seafile_file_sync_error_properties' undeclared (first use in this function); did you mean 'seafile_file_sync_error_set_err_id'? 2327 | g_object_notify_by_pspec ((GObject *) self, seafile_file_sync_error_properties[SEAFILE_FILE_SYNC_ERROR_TIMESTAMP_PROPERTY]); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | seafile_file_sync_error_set_err_id repo.c: In function '_vala_seafile_repo_get_property': repo.c:2332:1: error: invalid storage class for function 'seafile_file_sync_error_class_init' 2332 | seafile_file_sync_error_class_init (SeafileFileSyncErrorClass * klass, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ repo.c: In function 'seafile_file_sync_error_class_init': repo.c:2335:2: error: 'seafile_file_sync_error_parent_class' undeclared (first use in this function); did you mean 'seafile_file_sync_error_set_path'? 2335 | seafile_file_sync_error_parent_class = g_type_class_peek_parent (klass); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | seafile_file_sync_error_set_path repo.c:2336:46: error: 'SeafileFileSyncError_private_offset' undeclared (first use in this function); did you mean 'SeafileFileSyncErrorPrivate'? 2336 | g_type_class_adjust_private_offset (klass, &SeafileFileSyncError_private_offset); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | SeafileFileSyncErrorPrivate repo.c:2340:96: error: 'seafile_file_sync_error_properties' undeclared (first use in this function); did you mean 'seafile_file_sync_error_set_err_id'? 2340 | g_object_class_install_property (G_OBJECT_CLASS (klass), SEAFILE_FILE_SYNC_ERROR_ID_PROPERTY, seafile_file_sync_error_properties[SEAFILE_FILE_SYNC_ERROR_ID_PROPERTY] = g_param_spec_int ("id", "id", "id", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | seafile_file_sync_error_set_err_id repo.c:2343:59: error: 'rty_id' undeclared (first use in this function) 2343 | g_object_class_install_property (G_OBJECT_CLASS (klass), rty_id, pspec); | ^~~~~~ repo.c:2344:3: error: break statement not within loop or switch 2344 | break; | ^~~~~ In file included from /usr/lib64/glib-2.0/include/glibconfig.h:9, from /usr/include/glib-2.0/glib/gtypes.h:32, from /usr/include/glib-2.0/glib/galloca.h:32, from /usr/include/glib-2.0/glib.h:30, from /usr/include/glib-2.0/gobject/gbinding.h:28, from /usr/include/glib-2.0/glib-object.h:22, from repo.c:4: repo.c: In function 'seafile_encryption_info_get_instance_private': repo.c:2351:34: error: 'SeafileEncryptionInfo_private_offset' undeclared (first use in this function); did you mean 'SeafileEncryptionInfoPrivate'? 2351 | return G_STRUCT_MEMBER_P (self, SeafileEncryptionInfo_private_offset); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:842:50: note: in definition of macro 'G_STRUCT_MEMBER_P' 842 | ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset))) | ^~~~~~~~~~~~~ repo.c: In function 'seafile_encryption_info_new': repo.c:118:39: warning: implicit declaration of function 'seafile_encryption_info_get_type'; did you mean 'seafile_encryption_info_new'? [-Wimplicit-function-declaration] 118 | #define SEAFILE_TYPE_ENCRYPTION_INFO (seafile_encryption_info_get_type ()) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ repo.c:2365:44: note: in expansion of macro 'SEAFILE_TYPE_ENCRYPTION_INFO' 2365 | return seafile_encryption_info_construct (SEAFILE_TYPE_ENCRYPTION_INFO); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ repo.c: In function 'seafile_encryption_info_get_repo_id': repo.c:2374:15: error: invalid use of incomplete typedef 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2374 | _tmp0_ = self->priv->_repo_id; | ^~ repo.c: In function 'seafile_encryption_info_set_repo_id': repo.c:2387:17: error: invalid use of incomplete typedef 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2387 | _g_free0 (self->priv->_repo_id); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:2387:17: error: invalid use of incomplete typedef 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2387 | _g_free0 (self->priv->_repo_id); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:2387:3: note: in expansion of macro '_g_free0' 2387 | _g_free0 (self->priv->_repo_id); | ^~~~~~~~ repo.c:2388:7: error: invalid use of incomplete typedef 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2388 | self->priv->_repo_id = _tmp0_; | ^~ repo.c: In function 'seafile_encryption_info_get_passwd': repo.c:2399:15: error: invalid use of incomplete typedef 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2399 | _tmp0_ = self->priv->_passwd; | ^~ repo.c: In function 'seafile_encryption_info_set_passwd': repo.c:2412:17: error: invalid use of incomplete typedef 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2412 | _g_free0 (self->priv->_passwd); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:2412:17: error: invalid use of incomplete typedef 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2412 | _g_free0 (self->priv->_passwd); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:2412:3: note: in expansion of macro '_g_free0' 2412 | _g_free0 (self->priv->_passwd); | ^~~~~~~~ repo.c:2413:7: error: invalid use of incomplete typedef 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2413 | self->priv->_passwd = _tmp0_; | ^~ repo.c: In function 'seafile_encryption_info_get_enc_version': repo.c:2423:15: error: invalid use of incomplete typedef 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2423 | result = self->priv->_enc_version; | ^~ repo.c: In function 'seafile_encryption_info_set_enc_version': repo.c:2433:7: error: invalid use of incomplete typedef 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2433 | self->priv->_enc_version = value; | ^~ repo.c: In function 'seafile_encryption_info_get_magic': repo.c:2444:15: error: invalid use of incomplete typedef 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2444 | _tmp0_ = self->priv->_magic; | ^~ repo.c: In function 'seafile_encryption_info_set_magic': repo.c:2457:17: error: invalid use of incomplete typedef 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2457 | _g_free0 (self->priv->_magic); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:2457:17: error: invalid use of incomplete typedef 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2457 | _g_free0 (self->priv->_magic); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:2457:3: note: in expansion of macro '_g_free0' 2457 | _g_free0 (self->priv->_magic); | ^~~~~~~~ repo.c:2458:7: error: invalid use of incomplete typedef 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2458 | self->priv->_magic = _tmp0_; | ^~ repo.c: In function 'seafile_encryption_info_get_random_key': repo.c:2469:15: error: invalid use of incomplete typedef 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2469 | _tmp0_ = self->priv->_random_key; | ^~ repo.c: In function 'seafile_encryption_info_set_random_key': repo.c:2482:17: error: invalid use of incomplete typedef 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2482 | _g_free0 (self->priv->_random_key); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:2482:17: error: invalid use of incomplete typedef 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2482 | _g_free0 (self->priv->_random_key); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:2482:3: note: in expansion of macro '_g_free0' 2482 | _g_free0 (self->priv->_random_key); | ^~~~~~~~ repo.c:2483:7: error: invalid use of incomplete typedef 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2483 | self->priv->_random_key = _tmp0_; | ^~ repo.c: In function 'seafile_encryption_info_get_salt': repo.c:2494:15: error: invalid use of incomplete typedef 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2494 | _tmp0_ = self->priv->_salt; | ^~ repo.c: In function 'seafile_encryption_info_set_salt': repo.c:2507:17: error: invalid use of incomplete typedef 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2507 | _g_free0 (self->priv->_salt); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:2507:17: error: invalid use of incomplete typedef 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2507 | _g_free0 (self->priv->_salt); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:2507:3: note: in expansion of macro '_g_free0' 2507 | _g_free0 (self->priv->_salt); | ^~~~~~~~ repo.c:2508:7: error: invalid use of incomplete typedef 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2508 | self->priv->_salt = _tmp0_; | ^~ repo.c: In function 'seafile_encryption_info_class_init': repo.c:2517:2: error: 'seafile_encryption_info_parent_class' undeclared (first use in this function); did you mean 'seafile_encryption_info_set_salt'? 2517 | seafile_encryption_info_parent_class = g_type_class_peek_parent (klass); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | seafile_encryption_info_set_salt repo.c:2518:46: error: 'SeafileEncryptionInfo_private_offset' undeclared (first use in this function); did you mean 'SeafileEncryptionInfoPrivate'? 2518 | g_type_class_adjust_private_offset (klass, &SeafileEncryptionInfo_private_offset); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | SeafileEncryptionInfoPrivate repo.c:2519:41: error: '_vala_seafile_encryption_info_get_property' undeclared (first use in this function); did you mean 'seafile_encryption_info_get_repo_id'? 2519 | G_OBJECT_CLASS (klass)->get_property = _vala_seafile_encryption_info_get_property; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | seafile_encryption_info_get_repo_id repo.c:2520:41: error: '_vala_seafile_encryption_info_set_property' undeclared (first use in this function); did you mean 'seafile_encryption_info_set_repo_id'? 2520 | G_OBJECT_CLASS (klass)->set_property = _vala_seafile_encryption_info_set_property; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | seafile_encryption_info_set_repo_id repo.c:2521:37: error: 'seafile_encryption_info_finalize' undeclared (first use in this function); did you mean 'seafile_encryption_info_new'? 2521 | G_OBJECT_CLASS (klass)->finalize = seafile_encryption_info_finalize; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | seafile_encryption_info_new repo.c: In function 'seafile_encryption_info_instance_init': repo.c:2534:6: error: invalid use of incomplete typedef 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2534 | self->priv = seafile_encryption_info_get_instance_private (self); | ^~ repo.c: In function 'seafile_encryption_info_finalize': repo.c:2542:16: error: invalid use of incomplete typedef 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2542 | _g_free0 (self->priv->_repo_id); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:2542:16: error: invalid use of incomplete typedef 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2542 | _g_free0 (self->priv->_repo_id); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:2542:2: note: in expansion of macro '_g_free0' 2542 | _g_free0 (self->priv->_repo_id); | ^~~~~~~~ repo.c:2543:16: error: invalid use of incomplete typedef 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2543 | _g_free0 (self->priv->_passwd); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:2543:16: error: invalid use of incomplete typedef 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2543 | _g_free0 (self->priv->_passwd); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:2543:2: note: in expansion of macro '_g_free0' 2543 | _g_free0 (self->priv->_passwd); | ^~~~~~~~ repo.c:2544:16: error: invalid use of incomplete typedef 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2544 | _g_free0 (self->priv->_magic); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:2544:16: error: invalid use of incomplete typedef 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2544 | _g_free0 (self->priv->_magic); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:2544:2: note: in expansion of macro '_g_free0' 2544 | _g_free0 (self->priv->_magic); | ^~~~~~~~ repo.c:2545:16: error: invalid use of incomplete typedef 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2545 | _g_free0 (self->priv->_random_key); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:2545:16: error: invalid use of incomplete typedef 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2545 | _g_free0 (self->priv->_random_key); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:2545:2: note: in expansion of macro '_g_free0' 2545 | _g_free0 (self->priv->_random_key); | ^~~~~~~~ repo.c:2546:16: error: invalid use of incomplete typedef 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2546 | _g_free0 (self->priv->_salt); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:2546:16: error: invalid use of incomplete typedef 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2546 | _g_free0 (self->priv->_salt); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:2546:2: note: in expansion of macro '_g_free0' 2546 | _g_free0 (self->priv->_salt); | ^~~~~~~~ In file included from /usr/include/glib-2.0/gobject/gobject.h:24, from /usr/include/glib-2.0/gobject/gbinding.h:29, from /usr/include/glib-2.0/glib-object.h:22, from repo.c:4: repo.c:2547:18: error: 'seafile_encryption_info_parent_class' undeclared (first use in this function); did you mean 'seafile_encryption_info_set_salt'? 2547 | G_OBJECT_CLASS (seafile_encryption_info_parent_class)->finalize (obj); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/gobject/gtype.h:2299:51: note: in definition of macro '_G_TYPE_CCC' 2299 | ((ct*) g_type_check_class_cast ((GTypeClass*) cp, gt)) | ^~ /usr/include/glib-2.0/gobject/gobject.h:58:38: note: in expansion of macro 'G_TYPE_CHECK_CLASS_CAST' 58 | #define G_OBJECT_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_OBJECT, GObjectClass)) | ^~~~~~~~~~~~~~~~~~~~~~~ repo.c:2547:2: note: in expansion of macro 'G_OBJECT_CLASS' 2547 | G_OBJECT_CLASS (seafile_encryption_info_parent_class)->finalize (obj); | ^~~~~~~~~~~~~~ repo.c: In function 'seafile_encryption_info_get_type_once': repo.c:2553:56: error: invalid application of 'sizeof' to incomplete type 'SeafileEncryptionInfoClass' {aka 'struct _SeafileEncryptionInfoClass'} 2553 | static const GTypeInfo g_define_type_info = { sizeof (SeafileEncryptionInfoClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) seafile_encryption_info_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SeafileEncryptionInfo), 0, (GInstanceInitFunc) seafile_encryption_info_instance_init, NULL }; | ^~~~~~~~~~~~~~~~~~~~~~~~~~ repo.c:2553:227: error: invalid application of 'sizeof' to incomplete type 'SeafileEncryptionInfo' {aka 'struct _SeafileEncryptionInfo'} 2553 | static const GTypeInfo g_define_type_info = { sizeof (SeafileEncryptionInfoClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) seafile_encryption_info_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SeafileEncryptionInfo), 0, (GInstanceInitFunc) seafile_encryption_info_instance_init, NULL }; | ^~~~~~~~~~~~~~~~~~~~~ repo.c:2556:2: error: 'SeafileEncryptionInfo_private_offset' undeclared (first use in this function); did you mean 'SeafileEncryptionInfoPrivate'? 2556 | SeafileEncryptionInfo_private_offset = g_type_add_instance_private (seafile_encryption_info_type_id, sizeof (SeafileEncryptionInfoPrivate)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | SeafileEncryptionInfoPrivate repo.c:2556:111: error: invalid application of 'sizeof' to incomplete type 'SeafileEncryptionInfoPrivate' {aka 'struct _SeafileEncryptionInfoPrivate'} 2556 | SeafileEncryptionInfo_private_offset = g_type_add_instance_private (seafile_encryption_info_type_id, sizeof (SeafileEncryptionInfoPrivate)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ repo.c: At top level: repo.c:2561:1: error: conflicting types for 'seafile_encryption_info_get_type' 2561 | seafile_encryption_info_get_type (void) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ repo.c:118:39: note: previous implicit declaration of 'seafile_encryption_info_get_type' was here 118 | #define SEAFILE_TYPE_ENCRYPTION_INFO (seafile_encryption_info_get_type ()) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ repo.c:2365:44: note: in expansion of macro 'SEAFILE_TYPE_ENCRYPTION_INFO' 2365 | return seafile_encryption_info_construct (SEAFILE_TYPE_ENCRYPTION_INFO); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/lib64/glib-2.0/include/glibconfig.h:9, from /usr/include/glib-2.0/glib/gtypes.h:32, from /usr/include/glib-2.0/glib/galloca.h:32, from /usr/include/glib-2.0/glib.h:30, from /usr/include/glib-2.0/gobject/gbinding.h:28, from /usr/include/glib-2.0/glib-object.h:22, from repo.c:4: repo.c: In function 'seafile_file_sync_error_get_instance_private': repo.c:2641:34: error: 'SeafileFileSyncError_private_offset' undeclared (first use in this function); did you mean 'SeafileFileSyncErrorPrivate'? 2641 | return G_STRUCT_MEMBER_P (self, SeafileFileSyncError_private_offset); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/glib/gmacros.h:842:50: note: in definition of macro 'G_STRUCT_MEMBER_P' 842 | ((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset))) | ^~~~~~~~~~~~~ repo.c: In function 'seafile_file_sync_error_new': repo.c:140:39: warning: implicit declaration of function 'seafile_file_sync_error_get_type'; did you mean 'seafile_file_sync_error_get_type_once'? [-Wimplicit-function-declaration] 140 | #define SEAFILE_TYPE_FILE_SYNC_ERROR (seafile_file_sync_error_get_type ()) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ repo.c:2655:44: note: in expansion of macro 'SEAFILE_TYPE_FILE_SYNC_ERROR' 2655 | return seafile_file_sync_error_construct (SEAFILE_TYPE_FILE_SYNC_ERROR); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ repo.c: In function 'seafile_file_sync_error_get_id': repo.c:2663:15: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2663 | result = self->priv->_id; | ^~ repo.c: In function 'seafile_file_sync_error_set_id': repo.c:2673:7: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2673 | self->priv->_id = value; | ^~ repo.c:2674:47: error: 'seafile_file_sync_error_properties' undeclared (first use in this function); did you mean 'seafile_file_sync_error_set_id'? 2674 | g_object_notify_by_pspec ((GObject *) self, seafile_file_sync_error_properties[SEAFILE_FILE_SYNC_ERROR_ID_PROPERTY]); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | seafile_file_sync_error_set_id repo.c: In function 'seafile_file_sync_error_get_repo_id': repo.c:2684:15: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2684 | _tmp0_ = self->priv->_repo_id; | ^~ repo.c: In function 'seafile_file_sync_error_set_repo_id': repo.c:2697:17: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2697 | _g_free0 (self->priv->_repo_id); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:2697:17: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2697 | _g_free0 (self->priv->_repo_id); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:2697:3: note: in expansion of macro '_g_free0' 2697 | _g_free0 (self->priv->_repo_id); | ^~~~~~~~ repo.c:2698:7: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2698 | self->priv->_repo_id = _tmp0_; | ^~ repo.c:2699:47: error: 'seafile_file_sync_error_properties' undeclared (first use in this function); did you mean 'seafile_file_sync_error_set_id'? 2699 | g_object_notify_by_pspec ((GObject *) self, seafile_file_sync_error_properties[SEAFILE_FILE_SYNC_ERROR_REPO_ID_PROPERTY]); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | seafile_file_sync_error_set_id repo.c: In function 'seafile_file_sync_error_get_repo_name': repo.c:2709:15: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2709 | _tmp0_ = self->priv->_repo_name; | ^~ repo.c: In function 'seafile_file_sync_error_set_repo_name': repo.c:2722:17: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2722 | _g_free0 (self->priv->_repo_name); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:2722:17: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2722 | _g_free0 (self->priv->_repo_name); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:2722:3: note: in expansion of macro '_g_free0' 2722 | _g_free0 (self->priv->_repo_name); | ^~~~~~~~ repo.c:2723:7: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2723 | self->priv->_repo_name = _tmp0_; | ^~ repo.c:2724:47: error: 'seafile_file_sync_error_properties' undeclared (first use in this function); did you mean 'seafile_file_sync_error_set_id'? 2724 | g_object_notify_by_pspec ((GObject *) self, seafile_file_sync_error_properties[SEAFILE_FILE_SYNC_ERROR_REPO_NAME_PROPERTY]); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | seafile_file_sync_error_set_id repo.c: In function 'seafile_file_sync_error_get_path': repo.c:2734:15: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2734 | _tmp0_ = self->priv->_path; | ^~ repo.c: In function 'seafile_file_sync_error_set_path': repo.c:2747:17: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2747 | _g_free0 (self->priv->_path); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:2747:17: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2747 | _g_free0 (self->priv->_path); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:2747:3: note: in expansion of macro '_g_free0' 2747 | _g_free0 (self->priv->_path); | ^~~~~~~~ repo.c:2748:7: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2748 | self->priv->_path = _tmp0_; | ^~ repo.c:2749:47: error: 'seafile_file_sync_error_properties' undeclared (first use in this function); did you mean 'seafile_file_sync_error_set_id'? 2749 | g_object_notify_by_pspec ((GObject *) self, seafile_file_sync_error_properties[SEAFILE_FILE_SYNC_ERROR_PATH_PROPERTY]); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | seafile_file_sync_error_set_id repo.c: In function 'seafile_file_sync_error_get_err_id': repo.c:2758:15: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2758 | result = self->priv->_err_id; | ^~ repo.c: In function 'seafile_file_sync_error_set_err_id': repo.c:2768:7: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2768 | self->priv->_err_id = value; | ^~ repo.c:2769:47: error: 'seafile_file_sync_error_properties' undeclared (first use in this function); did you mean 'seafile_file_sync_error_set_err_id'? 2769 | g_object_notify_by_pspec ((GObject *) self, seafile_file_sync_error_properties[SEAFILE_FILE_SYNC_ERROR_ERR_ID_PROPERTY]); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | seafile_file_sync_error_set_err_id repo.c: In function 'seafile_file_sync_error_get_timestamp': repo.c:2778:15: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2778 | result = self->priv->_timestamp; | ^~ repo.c: In function 'seafile_file_sync_error_set_timestamp': repo.c:2788:7: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2788 | self->priv->_timestamp = value; | ^~ repo.c:2789:47: error: 'seafile_file_sync_error_properties' undeclared (first use in this function); did you mean 'seafile_file_sync_error_set_err_id'? 2789 | g_object_notify_by_pspec ((GObject *) self, seafile_file_sync_error_properties[SEAFILE_FILE_SYNC_ERROR_TIMESTAMP_PROPERTY]); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | seafile_file_sync_error_set_err_id repo.c: In function 'seafile_file_sync_error_class_init': repo.c:2797:2: error: 'seafile_file_sync_error_parent_class' undeclared (first use in this function); did you mean 'seafile_file_sync_error_set_path'? 2797 | seafile_file_sync_error_parent_class = g_type_class_peek_parent (klass); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | seafile_file_sync_error_set_path repo.c:2798:46: error: 'SeafileFileSyncError_private_offset' undeclared (first use in this function); did you mean 'SeafileFileSyncErrorPrivate'? 2798 | g_type_class_adjust_private_offset (klass, &SeafileFileSyncError_private_offset); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | SeafileFileSyncErrorPrivate repo.c:2802:96: error: 'seafile_file_sync_error_properties' undeclared (first use in this function); did you mean 'seafile_file_sync_error_set_err_id'? 2802 | g_object_class_install_property (G_OBJECT_CLASS (klass), SEAFILE_FILE_SYNC_ERROR_ID_PROPERTY, seafile_file_sync_error_properties[SEAFILE_FILE_SYNC_ERROR_ID_PROPERTY] = g_param_spec_int ("id", "id", "id", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | seafile_file_sync_error_set_err_id repo.c: In function 'seafile_file_sync_error_instance_init': repo.c:2814:6: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2814 | self->priv = seafile_file_sync_error_get_instance_private (self); | ^~ repo.c: In function 'seafile_file_sync_error_finalize': repo.c:2822:16: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2822 | _g_free0 (self->priv->_repo_id); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:2822:16: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2822 | _g_free0 (self->priv->_repo_id); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:2822:2: note: in expansion of macro '_g_free0' 2822 | _g_free0 (self->priv->_repo_id); | ^~~~~~~~ repo.c:2823:16: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2823 | _g_free0 (self->priv->_repo_name); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:2823:16: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2823 | _g_free0 (self->priv->_repo_name); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:2823:2: note: in expansion of macro '_g_free0' 2823 | _g_free0 (self->priv->_repo_name); | ^~~~~~~~ repo.c:2824:16: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2824 | _g_free0 (self->priv->_path); | ^~ repo.c:60:24: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:2824:16: error: invalid use of incomplete typedef 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2824 | _g_free0 (self->priv->_path); | ^~ repo.c:60:39: note: in definition of macro '_g_free0' 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^~~ repo.c:60:43: warning: left-hand operand of comma expression has no effect [-Wunused-value] 60 | #define _g_free0(var) (var = (g_free (var), NULL)) | ^ repo.c:2824:2: note: in expansion of macro '_g_free0' 2824 | _g_free0 (self->priv->_path); | ^~~~~~~~ In file included from /usr/include/glib-2.0/gobject/gobject.h:24, from /usr/include/glib-2.0/gobject/gbinding.h:29, from /usr/include/glib-2.0/glib-object.h:22, from repo.c:4: repo.c:2825:18: error: 'seafile_file_sync_error_parent_class' undeclared (first use in this function); did you mean 'seafile_file_sync_error_set_path'? 2825 | G_OBJECT_CLASS (seafile_file_sync_error_parent_class)->finalize (obj); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/glib-2.0/gobject/gtype.h:2299:51: note: in definition of macro '_G_TYPE_CCC' 2299 | ((ct*) g_type_check_class_cast ((GTypeClass*) cp, gt)) | ^~ /usr/include/glib-2.0/gobject/gobject.h:58:38: note: in expansion of macro 'G_TYPE_CHECK_CLASS_CAST' 58 | #define G_OBJECT_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_OBJECT, GObjectClass)) | ^~~~~~~~~~~~~~~~~~~~~~~ repo.c:2825:2: note: in expansion of macro 'G_OBJECT_CLASS' 2825 | G_OBJECT_CLASS (seafile_file_sync_error_parent_class)->finalize (obj); | ^~~~~~~~~~~~~~ repo.c: In function 'seafile_file_sync_error_get_type_once': repo.c:2831:56: error: invalid application of 'sizeof' to incomplete type 'SeafileFileSyncErrorClass' {aka 'struct _SeafileFileSyncErrorClass'} 2831 | static const GTypeInfo g_define_type_info = { sizeof (SeafileFileSyncErrorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) seafile_file_sync_error_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SeafileFileSyncError), 0, (GInstanceInitFunc) seafile_file_sync_error_instance_init, NULL }; | ^~~~~~~~~~~~~~~~~~~~~~~~~ repo.c:2831:226: error: invalid application of 'sizeof' to incomplete type 'SeafileFileSyncError' {aka 'struct _SeafileFileSyncError'} 2831 | static const GTypeInfo g_define_type_info = { sizeof (SeafileFileSyncErrorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) seafile_file_sync_error_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SeafileFileSyncError), 0, (GInstanceInitFunc) seafile_file_sync_error_instance_init, NULL }; | ^~~~~~~~~~~~~~~~~~~~ repo.c:2834:2: error: 'SeafileFileSyncError_private_offset' undeclared (first use in this function); did you mean 'SeafileFileSyncErrorPrivate'? 2834 | SeafileFileSyncError_private_offset = g_type_add_instance_private (seafile_file_sync_error_type_id, sizeof (SeafileFileSyncErrorPrivate)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | SeafileFileSyncErrorPrivate repo.c:2834:110: error: invalid application of 'sizeof' to incomplete type 'SeafileFileSyncErrorPrivate' {aka 'struct _SeafileFileSyncErrorPrivate'} 2834 | SeafileFileSyncError_private_offset = g_type_add_instance_private (seafile_file_sync_error_type_id, sizeof (SeafileFileSyncErrorPrivate)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ repo.c: At top level: repo.c:2839:1: error: conflicting types for 'seafile_file_sync_error_get_type' 2839 | seafile_file_sync_error_get_type (void) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ repo.c:140:39: note: previous implicit declaration of 'seafile_file_sync_error_get_type' was here 140 | #define SEAFILE_TYPE_FILE_SYNC_ERROR (seafile_file_sync_error_get_type ()) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ repo.c:2655:44: note: in expansion of macro 'SEAFILE_TYPE_FILE_SYNC_ERROR' 2655 | return seafile_file_sync_error_construct (SEAFILE_TYPE_FILE_SYNC_ERROR); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ repo.c:2606:1: warning: '_vala_seafile_encryption_info_set_property' defined but not used [-Wunused-function] 2606 | _vala_seafile_encryption_info_set_property (GObject * object, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ repo.c:2573:1: warning: '_vala_seafile_encryption_info_get_property' defined but not used [-Wunused-function] 2573 | _vala_seafile_encryption_info_get_property (GObject * object, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ repo.c:2538:1: warning: 'seafile_encryption_info_finalize' defined but not used [-Wunused-function] 2538 | seafile_encryption_info_finalize (GObject * obj) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ repo.c:2332:1: warning: 'seafile_file_sync_error_class_init' defined but not used [-Wunused-function] 2332 | seafile_file_sync_error_class_init (SeafileFileSyncErrorClass * klass, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ repo.c:2321:1: warning: 'seafile_file_sync_error_set_timestamp' defined but not used [-Wunused-function] 2321 | seafile_file_sync_error_set_timestamp (SeafileFileSyncError* self, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ repo.c:2301:1: warning: 'seafile_file_sync_error_set_err_id' defined but not used [-Wunused-function] 2301 | seafile_file_sync_error_set_err_id (SeafileFileSyncError* self, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ repo.c:2278:1: warning: 'seafile_file_sync_error_set_path' defined but not used [-Wunused-function] 2278 | seafile_file_sync_error_set_path (SeafileFileSyncError* self, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ repo.c:2253:1: warning: 'seafile_file_sync_error_set_repo_name' defined but not used [-Wunused-function] 2253 | seafile_file_sync_error_set_repo_name (SeafileFileSyncError* self, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ repo.c:1284:1: warning: 'seafile_repo_class_init' defined but not used [-Wunused-function] 1284 | seafile_repo_class_init (SeafileRepoClass * klass, | ^~~~~~~~~~~~~~~~~~~~~~~ repo.c:1273:1: warning: 'seafile_repo_set_is_shared' defined but not used [-Wunused-function] 1273 | seafile_repo_set_is_shared (SeafileRepo* self, | ^~~~~~~~~~~~~~~~~~~~~~~~~~ repo.c:1253:1: warning: 'seafile_repo_set_group_id' defined but not used [-Wunused-function] 1253 | seafile_repo_set_group_id (SeafileRepo* self, | ^~~~~~~~~~~~~~~~~~~~~~~~~ repo.c:1230:1: warning: 'seafile_repo_set_user' defined but not used [-Wunused-function] 1230 | seafile_repo_set_user (SeafileRepo* self, | ^~~~~~~~~~~~~~~~~~~~~ repo.c:1205:1: warning: 'seafile_repo_set_permission' defined but not used [-Wunused-function] 1205 | seafile_repo_set_permission (SeafileRepo* self, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ repo.c:1180:1: warning: 'seafile_repo_set_share_type' defined but not used [-Wunused-function] 1180 | seafile_repo_set_share_type (SeafileRepo* self, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ repo.c:116:20: warning: 'seafile_diff_entry_properties' defined but not used [-Wunused-variable] 116 | static GParamSpec* seafile_diff_entry_properties[SEAFILE_DIFF_ENTRY_NUM_PROPERTIES]; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ repo.c:97:20: warning: 'seafile_session_info_properties' defined but not used [-Wunused-variable] 97 | static GParamSpec* seafile_session_info_properties[SEAFILE_SESSION_INFO_NUM_PROPERTIES]; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ repo.c:80:20: warning: 'seafile_sync_task_properties' defined but not used [-Wunused-variable] 80 | static GParamSpec* seafile_sync_task_properties[SEAFILE_SYNC_TASK_NUM_PROPERTIES]; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ make[3]: *** [Makefile:555: repo.lo] Error 1 make[3]: Leaving directory '/home/iurt/rpmbuild/BUILD/seafile-7.0.9/lib' make[2]: *** [Makefile:429: all] Error 2 make[1]: *** [Makefile:446: all-recursive] Error 1 make: *** [Makefile:378: all] Error 2 error: Bad exit status from /home/iurt/rpmbuild/tmp/rpm-tmp.4V3g76 (%build) RPM build errors: Bad exit status from /home/iurt/rpmbuild/tmp/rpm-tmp.4V3g76 (%build) I: [iurt_root_command] ERROR: chroot