>> I'm having a few issues compiling the syncevolution 0.9 release on >> either F-11 or rawhide. >> >> I'm not sure if its a missing dep that isn't picked up by ./configure >> or something else. The last beta compiled OK so I suspect its >> something quite minor that I've missed. > > I'm not aware of build changes in the SyncEvolution and libsynthesis > source since the last beta. Perhaps comparing against a build of that on > your system will give a clue? > > You are compiling both in exactly the same way, I presume? The paths > below (syncevolution-0.9/src/build-synthesis/src) indicate that you > compile from source .tar.gz. Did you rebuild libtool and friends?
Nope. Just a plain ./configure and then a make :) >> I get the following undefined >> reference errors below. > > The root problem of those is that libsynthesis.so.0 is not found: > >> /bin/sh ../libtool --tag=CXX --mode=link g++ >> -I/home/perobinson/rpmbuild/BUILD/syncevolution-0.9/src/build-synthesis/src >> -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions >> -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic >> -uSyncEvolution_Module_Version -Wl,--export-dynamic -o syncevolution >> syncevolution-syncevolution.o syncevolution-test.o >> core/libsyncevolution.la -lglib-2.0 >> mkdir .libs >> DIE_RPATH_DIE="/usr/lib64/syncevolution:$DIE_RPATH_DIE" g++ >> -I/home/perobinson/rpmbuild/BUILD/syncevolution-0.9/src/build-synthesis/src >> -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions >> -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic >> -uSyncEvolution_Module_Version -Wl,--export-dynamic -o >> .libs/syncevolution syncevolution-syncevolution.o syncevolution-test.o >> core/.libs/libsyncevolution.so -lglib-2.0 >> /usr/bin/ld: warning: libsynthesis.so.0, needed by >> core/.libs/libsyncevolution.so, not found (try using -rpath or >> -rpath-link) > > I suspect that wiping out -rpath inside core/.libs/libsyncevolution.so > too aggressively is causing this. But this is just a guess. Yes, that looks like it. I get the following below when compiling it as before (it worked fine in beta3). The standard fix for this in Fedora is to run the following 2 sed commands which generally fixes the problem. Apparently in this case it doesn't :-) sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool + /usr/lib/rpm/check-rpaths /usr/lib/rpm/check-buildroot ******************************************************************************* * * WARNING: 'check-rpaths' detected a broken RPATH and will cause 'rpmbuild' * to fail. To ignore these errors, you can set the '$QA_RPATHS' * environment variable which is a bitmask allowing the values * below. The current value of QA_RPATHS is 0x0000. * * 0x0001 ... standard RPATHs (e.g. /usr/lib); such RPATHs are a minor * issue but are introducing redundant searchpaths without * providing a benefit. They can also cause errors in multilib * environments. * 0x0002 ... invalid RPATHs; these are RPATHs which are neither absolute * nor relative filenames and can therefore be a SECURITY risk * 0x0004 ... insecure RPATHs; these are relative RPATHs which are a * SECURITY risk * 0x0008 ... the special '$ORIGIN' RPATHs are appearing after other * RPATHs; this is just a minor issue but usually unwanted * 0x0010 ... the RPATH is empty; there is no reason for such RPATHs * and they cause unneeded work while loading libraries * 0x0020 ... an RPATH references '..' of an absolute path; this will break * the functionality when the path before '..' is a symlink * * * Examples: * - to ignore standard and empty RPATHs, execute 'rpmbuild' like * $ QA_RPATHS=$[ 0x0001|0x0010 ] rpmbuild my-package.src.rpm * - to check existing files, set $RPM_BUILD_ROOT and execute check-rpaths like * $ RPM_BUILD_ROOT=<top-dir> /usr/lib/rpm/check-rpaths * ******************************************************************************* ERROR 0001: file '/usr/lib64/syncevolution/libsyncevolution.so.0.0.0' contains a standard rpath '/usr/lib64' in [/usr/lib64] ERROR 0001: file '/usr/lib64/libsynthesis.so.0.1.0' contains a standard rpath '/usr/lib64' in [/usr/lib64] ERROR 0001: file '/usr/bin/sync-ui-gtk' contains a standard rpath '/usr/lib64' in [/usr/lib64] ERROR 0001: file '/usr/bin/sync-ui-moblin' contains a standard rpath '/usr/lib64' in [/usr/lib64] Cheers, Peter _______________________________________________ SyncEvolution mailing list [email protected] http://lists.syncevolution.org/listinfo/syncevolution
