LD Changes To Implicit DSO Linking Update

Parag N(पराग़) panemade at gmail.com
Wed Feb 10 12:55:42 UTC 2010


Hi,

On Wed, Feb 10, 2010 at 5:27 PM, Jakub Jelinek <jakub at redhat.com> wrote:
> On Wed, Feb 10, 2010 at 08:42:53PM +0900, Mamoru Tasaka wrote:
>> Parag N(पराग़) wrote, at 02/10/2010 02:58 AM +9:00:
>> > On Tue, Feb 9, 2010 at 11:18 PM, Jakub Jelinek <jakub at redhat.com> wrote:
>> >> On Tue, Feb 09, 2010 at 11:09:50PM +0530, Parag N(पराग़) wrote:
>> >>>  Anyway I find adding missing DSO to CFLAGS in SPEC is easy solution for now.
>> >> They don't belong to CFLAGS, those are flags for compilation.  You want
>> >> LDFLAGS or even better add it in configure to LIBS.
>> >
>> >   I am not sure then what's wrong with my package. Here is how it
>> > failed http://koji.fedoraproject.org/koji/getfile?taskID=1970866&name=build.log
>>
>> This build.log says:
>> ----------------------------------------------------------------
>> /usr/bin/ld: keyevent.o: undefined reference to symbol 'XKeysymToString'
>> /usr/bin/ld: note: 'XKeysymToString' is defined in DSO /usr/lib/libX11.so.6 so try adding it to the linker command line
>> /usr/lib/libX11.so.6: could not read symbols: Invalid operation
>> collect2: ld returned 1 exit status
>> ----------------------------------------------------------------
>> And actually src/keyevent.c reads:
>> ----------------------------------------------------------------
>>    275      if (key_disable_overwrite) {
>>    276          key_event->keycode = -1;
>>    277          key_event->keysym = 0;
>>    278          g_print("Not allowed to overwrite KeyCode for %s",
>>    279                  XKeysymToString(keysym));
>>    280          return;
>>    281      }
>> ----------------------------------------------------------------
>>
>> You should add "AC_CHECK_LIB(X11, XKeysymToString)" to configure.in,
>> for example.
>
> BTW, while you touch this package, it would be useful to fix up all the
> warnings, I can't believe doing e.g. strcmp on an array of wchar_t can be
> right.  It seems with the exception of one wmemset only strcpy/strcmp etc.
> are used on keyvalue, so probably keyvalue just should be char array instead
> of wchar_t, but you'll need to figure out the right size.  E.g. having
> [1] sized keyname can't be right when you copy in 1 char long strings and
> use strcmp on it afterwards.
>

Thanks Mamoru and Jakub for your feedback. I will get that code updated soon.

Regards,
Parag.


More information about the devel mailing list