>> 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

Reply via email to