Re: Add a common library

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 02/08/2012 01:43 AM, Angus Salkeld wrote:
> Hi
> 
> Here is a good idea IMO. But as-is will require a re-build of all
> user applications.
> 
> We currently have lots of inline functions in header files just to be shared
> between corosync and the libraries. We also have the same functions
> been implemented in both places. libqb has helped reduce this but the
> problem still exists.
> 
> Another unplesent issue is if we need to apply a fix to any of these
> inline functions the user applications need to be rebuilt.
> 
> So choose a rebuild now or multiple times down the line.
> 
> -Angus
> 
> 
> cc -o tcpg test/testcpg.c -Iinclude/corosync/ -lcpg
> /usr/bin/ld: /tmp/ccnqIwOB.o: undefined reference to symbol 'cs_strerror'
> /usr/bin/ld: note: 'cs_strerror' is defined in DSO /usr/lib64/libcorosync_common.so.4 so try adding it to the linker command line
> /usr/lib64/libcorosync_common.so.4: could not read symbols: Invalid operation
> collect2: ld returned 1 exit status


This is a very good idea, but I think you get that error because libcpg
is not correctly linked with libcorosync_common in the build system.

Using your example above, testcpg.c does not use cs_strerror directly.
libcpg does. In that case libcpg needs to pull corosync_common.

I can see from the patch that you do link libcpg with common, but
perhaps it's missing a simple bit somewhere that makes it fail.

also well done by updating the .pc files.

Either way +1 to rebuild everything now rather than later.

Fabio
_______________________________________________
discuss mailing list
discuss@xxxxxxxxxxxx
http://lists.corosync.org/mailman/listinfo/discuss


[Index of Archives]     [Linux Clusters]     [Corosync Project]     [Linux USB Devel]     [Linux Audio Users]     [Photo]     [Yosemite News]    [Yosemite Photos]    [Linux Kernel]     [Linux SCSI]     [X.Org]

  Powered by Linux