#1135 closed defect (notabug)

Compilation of 3.2.1 fails in otr.c, too few arguments — at Version 1

Reported by: i.am.inuyasha@… Owned by: pesco
Priority: normal Milestone:
Component: OTR Version: 3.2.1
Keywords: Cc:
IRC client+version: Client-independent Operating System: Linux
OS version/distro: Lubuntu 13.10

Description (last modified by dx)

$ wget 'http://get.bitlbee.org/src/bitlbee-3.2.1.tar.gz'
[...]

$ extract bitlbee-3.2.1.tar.gz 
[...]

$ cd bitlbee-3.2.1/

$ ./configure --msn=1 --jabber=1 --oscar=1 --twitter=1 --debug=1 --strip=0 --plugins=1 --otr=1
BitlBee configure

Architecture: Linux

Configuration done:
  Debugging enabled.
  Building PIE executable
  Binary stripping disabled.
  Off-the-Record (OTR) Messaging enabled.
  systemd disabled.
  Using event handler: glib
  Using SSL library: gnutls
  Building with these protocols: msn jabber oscar yahoo twitter

$ make
[...]
* Compiling otr.c
otr.c: In function ‘otr_init’:
otr.c:210:9: error: ‘OtrlMessageAppOps’ has no member named ‘notify’
  otr_ops.notify = NULL;
         ^
otr.c:211:9: error: ‘OtrlMessageAppOps’ has no member named ‘display_otr_message’
  otr_ops.display_otr_message = &op_display_otr_message;
         ^
otr.c:213:9: error: ‘OtrlMessageAppOps’ has no member named ‘protocol_name’
  otr_ops.protocol_name = NULL;
         ^
otr.c:214:9: error: ‘OtrlMessageAppOps’ has no member named ‘protocol_name_free’
  otr_ops.protocol_name_free = NULL;
         ^
otr.c:220:9: error: ‘OtrlMessageAppOps’ has no member named ‘log_message’
  otr_ops.log_message = &op_log_message;
         ^
otr.c: In function ‘otr_filter_msg_in’:
otr.c:388:3: error: too few arguments to function ‘otrl_message_receiving’
   &tlvs, NULL, NULL);
   ^
In file included from otr.h:44:0,
                 from otr.c:42:
/usr/include/libotr/message.h:374:5: note: declared here
 int otrl_message_receiving(OtrlUserState us, const OtrlMessageAppOps *ops,
     ^
otr.c:401:4: warning: passing argument 6 of ‘otrl_context_find’ makes integer from pointer without a cast [enabled by default]
    ic->acc->user, ic->acc->prpl->name, 0, NULL, NULL, NULL);
    ^
In file included from /usr/include/libotr/proto.h:24:0,
                 from otr.h:43,
                 from otr.c:42:
/usr/include/libotr/context.h:139:15: note: expected ‘int’ but argument is of type ‘void *’
 ConnContext * otrl_context_find(OtrlUserState us, const char *user,
               ^
otr.c:401:4: error: too few arguments to function ‘otrl_context_find’
    ic->acc->user, ic->acc->prpl->name, 0, NULL, NULL, NULL);
    ^
In file included from /usr/include/libotr/proto.h:24:0,
                 from otr.h:43,
                 from otr.c:42:
/usr/include/libotr/context.h:139:15: note: declared here
 ConnContext * otrl_context_find(OtrlUserState us, const char *user,
               ^
otr.c: In function ‘otr_filter_msg_out’:
otr.c:469:4: warning: passing argument 6 of ‘otrl_context_find’ makes integer from pointer without a cast [enabled by default]
    1, NULL, NULL, NULL);
    ^
In file included from /usr/include/libotr/proto.h:24:0,
                 from otr.h:43,
                 from otr.c:42:
/usr/include/libotr/context.h:139:15: note: expected ‘int’ but argument is of type ‘void *’
 ConnContext * otrl_context_find(OtrlUserState us, const char *user,
               ^
otr.c:469:4: error: too few arguments to function ‘otrl_context_find’
    1, NULL, NULL, NULL);
    ^
In file included from /usr/include/libotr/proto.h:24:0,
                 from otr.h:43,
                 from otr.c:42:
/usr/include/libotr/context.h:139:15: note: declared here
 ConnContext * otrl_context_find(OtrlUserState us, const char *user,
               ^
otr.c:481:3: warning: passing argument 7 of ‘otrl_message_sending’ makes integer from pointer without a cast [enabled by default]
   emsg, NULL, &otrmsg, NULL, NULL);
   ^
In file included from otr.h:44:0,
                 from otr.c:42:
/usr/include/libotr/message.h:335:14: note: expected ‘otrl_instag_t’ but argument is of type ‘char *’
 gcry_error_t otrl_message_sending(OtrlUserState us,
              ^
otr.c:481:3: warning: passing argument 9 of ‘otrl_message_sending’ from incompatible pointer type [enabled by default]
   emsg, NULL, &otrmsg, NULL, NULL);
   ^
In file included from otr.h:44:0,
                 from otr.c:42:
/usr/include/libotr/message.h:335:14: note: expected ‘struct OtrlTLV *’ but argument is of type ‘char **’
 gcry_error_t otrl_message_sending(OtrlUserState us,
              ^
otr.c:481:3: error: incompatible type for argument 11 of ‘otrl_message_sending’
   emsg, NULL, &otrmsg, NULL, NULL);
   ^
In file included from otr.h:44:0,
                 from otr.c:42:
/usr/include/libotr/message.h:335:14: note: expected ‘OtrlFragmentPolicy’ but argument is of type ‘void *’
 gcry_error_t otrl_message_sending(OtrlUserState us,
              ^
otr.c:481:3: error: too few arguments to function ‘otrl_message_sending’
   emsg, NULL, &otrmsg, NULL, NULL);
   ^
In file included from otr.h:44:0,
                 from otr.c:42:
/usr/include/libotr/message.h:335:14: note: declared here
 gcry_error_t otrl_message_sending(OtrlUserState us,
              ^
otr.c:494:3: warning: implicit declaration of function ‘otrl_message_fragment_and_send’ [-Wimplicit-function-declaration]
   st = otrl_message_fragment_and_send(&otr_ops, ic, ctx,
   ^
otr.c: In function ‘cmd_otr_disconnect’:
otr.c:777:3: error: too few arguments to function ‘otrl_message_disconnect’
   u->bu->ic, u->bu->ic->acc->user, u->bu->ic->acc->prpl->name, u->bu->handle);
   ^
In file included from otr.h:44:0,
                 from otr.c:42:
/usr/include/libotr/message.h:384:6: note: declared here
 void otrl_message_disconnect(OtrlUserState us, const OtrlMessageAppOps *ops,
      ^
otr.c:783:4: warning: passing argument 6 of ‘otrl_context_find’ makes integer from pointer without a cast [enabled by default]
    u->bu->ic->acc->prpl->name, 0, NULL, NULL, NULL);
    ^
In file included from /usr/include/libotr/proto.h:24:0,
                 from otr.h:43,
                 from otr.c:42:
/usr/include/libotr/context.h:139:15: note: expected ‘int’ but argument is of type ‘void *’
 ConnContext * otrl_context_find(OtrlUserState us, const char *user,
               ^
otr.c:783:4: error: too few arguments to function ‘otrl_context_find’
    u->bu->ic->acc->prpl->name, 0, NULL, NULL, NULL);
    ^
In file included from /usr/include/libotr/proto.h:24:0,
                 from otr.h:43,
                 from otr.c:42:
/usr/include/libotr/context.h:139:15: note: declared here
 ConnContext * otrl_context_find(OtrlUserState us, const char *user,
               ^
otr.c: In function ‘cmd_otr_trust’:
otr.c:833:3: warning: passing argument 6 of ‘otrl_context_find’ makes integer from pointer without a cast [enabled by default]
   u->bu->ic->acc->user, u->bu->ic->acc->prpl->name, 0, NULL, NULL, NULL);
   ^
In file included from /usr/include/libotr/proto.h:24:0,
                 from otr.h:43,
                 from otr.c:42:
/usr/include/libotr/context.h:139:15: note: expected ‘int’ but argument is of type ‘void *’
 ConnContext * otrl_context_find(OtrlUserState us, const char *user,
               ^
otr.c:833:3: error: too few arguments to function ‘otrl_context_find’
   u->bu->ic->acc->user, u->bu->ic->acc->prpl->name, 0, NULL, NULL, NULL);
   ^
In file included from /usr/include/libotr/proto.h:24:0,
                 from otr.h:43,
                 from otr.c:42:
/usr/include/libotr/context.h:139:15: note: declared here
 ConnContext * otrl_context_find(OtrlUserState us, const char *user,
               ^
otr.c: In function ‘cmd_otr_info’:
otr.c:897:4: warning: passing argument 6 of ‘otrl_context_find’ makes integer from pointer without a cast [enabled by default]
    ctx = otrl_context_find(irc->otr->us, handle, myhandle, protocol, 0, NULL, NULL, NULL);
    ^
In file included from /usr/include/libotr/proto.h:24:0,
                 from otr.h:43,
                 from otr.c:42:
/usr/include/libotr/context.h:139:15: note: expected ‘int’ but argument is of type ‘void *’
 ConnContext * otrl_context_find(OtrlUserState us, const char *user,
               ^
otr.c:897:4: error: too few arguments to function ‘otrl_context_find’
    ctx = otrl_context_find(irc->otr->us, handle, myhandle, protocol, 0, NULL, NULL, NULL);
    ^
In file included from /usr/include/libotr/proto.h:24:0,
                 from otr.h:43,
                 from otr.c:42:
/usr/include/libotr/context.h:139:15: note: declared here
 ConnContext * otrl_context_find(OtrlUserState us, const char *user,
               ^
otr.c:911:5: warning: passing argument 6 of ‘otrl_context_find’ makes integer from pointer without a cast [enabled by default]
     u->bu->ic->acc->prpl->name, 0, NULL, NULL, NULL);
     ^
In file included from /usr/include/libotr/proto.h:24:0,
                 from otr.h:43,
                 from otr.c:42:
/usr/include/libotr/context.h:139:15: note: expected ‘int’ but argument is of type ‘void *’
 ConnContext * otrl_context_find(OtrlUserState us, const char *user,
               ^
otr.c:911:5: error: too few arguments to function ‘otrl_context_find’
     u->bu->ic->acc->prpl->name, 0, NULL, NULL, NULL);
     ^
In file included from /usr/include/libotr/proto.h:24:0,
                 from otr.h:43,
                 from otr.c:42:
/usr/include/libotr/context.h:139:15: note: declared here
 ConnContext * otrl_context_find(OtrlUserState us, const char *user,
               ^
otr.c: In function ‘cmd_otr_forget’:
otr.c:1030:4: warning: passing argument 6 of ‘otrl_context_find’ makes integer from pointer without a cast [enabled by default]
    u->bu->ic->acc->prpl->name, 0, NULL, NULL, NULL);
    ^
In file included from /usr/include/libotr/proto.h:24:0,
                 from otr.h:43,
                 from otr.c:42:
/usr/include/libotr/context.h:139:15: note: expected ‘int’ but argument is of type ‘void *’
 ConnContext * otrl_context_find(OtrlUserState us, const char *user,
               ^
otr.c:1030:4: error: too few arguments to function ‘otrl_context_find’
    u->bu->ic->acc->prpl->name, 0, NULL, NULL, NULL);
    ^
In file included from /usr/include/libotr/proto.h:24:0,
                 from otr.h:43,
                 from otr.c:42:
/usr/include/libotr/context.h:139:15: note: declared here
 ConnContext * otrl_context_find(OtrlUserState us, const char *user,
               ^
otr.c:1073:4: warning: passing argument 6 of ‘otrl_context_find’ makes integer from pointer without a cast [enabled by default]
    u->bu->ic->acc->prpl->name, 0, NULL, NULL, NULL);
    ^
In file included from /usr/include/libotr/proto.h:24:0,
                 from otr.h:43,
                 from otr.c:42:
/usr/include/libotr/context.h:139:15: note: expected ‘int’ but argument is of type ‘void *’
 ConnContext * otrl_context_find(OtrlUserState us, const char *user,
               ^
otr.c:1073:4: error: too few arguments to function ‘otrl_context_find’
    u->bu->ic->acc->prpl->name, 0, NULL, NULL, NULL);
    ^
In file included from /usr/include/libotr/proto.h:24:0,
                 from otr.h:43,
                 from otr.c:42:
/usr/include/libotr/context.h:139:15: note: declared here
 ConnContext * otrl_context_find(OtrlUserState us, const char *user,
               ^
otr.c: In function ‘otr_handle_smp’:
otr.c:1136:3: warning: passing argument 6 of ‘otrl_context_find’ makes integer from pointer without a cast [enabled by default]
   ic->acc->user, ic->acc->prpl->name, 1, NULL, NULL, NULL);
   ^
In file included from /usr/include/libotr/proto.h:24:0,
                 from otr.h:43,
                 from otr.c:42:
/usr/include/libotr/context.h:139:15: note: expected ‘int’ but argument is of type ‘void *’
 ConnContext * otrl_context_find(OtrlUserState us, const char *user,
               ^
otr.c:1136:3: error: too few arguments to function ‘otrl_context_find’
   ic->acc->user, ic->acc->prpl->name, 1, NULL, NULL, NULL);
   ^
In file included from /usr/include/libotr/proto.h:24:0,
                 from otr.h:43,
                 from otr.c:42:
/usr/include/libotr/context.h:139:15: note: declared here
 ConnContext * otrl_context_find(OtrlUserState us, const char *user,
               ^
otr.c: In function ‘otr_smp_or_smpq’:
otr.c:1268:3: warning: passing argument 6 of ‘otrl_context_find’ makes integer from pointer without a cast [enabled by default]
   u->bu->ic->acc->user, u->bu->ic->acc->prpl->name, 0, NULL, NULL, NULL);
   ^
In file included from /usr/include/libotr/proto.h:24:0,
                 from otr.h:43,
                 from otr.c:42:
/usr/include/libotr/context.h:139:15: note: expected ‘int’ but argument is of type ‘void *’
 ConnContext * otrl_context_find(OtrlUserState us, const char *user,
               ^
otr.c:1268:3: error: too few arguments to function ‘otrl_context_find’
   u->bu->ic->acc->user, u->bu->ic->acc->prpl->name, 0, NULL, NULL, NULL);
   ^
In file included from /usr/include/libotr/proto.h:24:0,
                 from otr.h:43,
                 from otr.c:42:
/usr/include/libotr/context.h:139:15: note: declared here
 ConnContext * otrl_context_find(OtrlUserState us, const char *user,
               ^
make: *** [otr.o] Error 1

Change History (1)

comment:1 Changed at 2014-02-25T20:07:50Z by dx

Description: modified (diff)
Resolution: notabug
Status: newclosed

(fixed description formatting)

BitlBee 3.2.1 only supports libotr 3.x, you seem to have libotr 4.x installed.

The bzr development versions after 3.2.1 support libotr 4.x, you can get a tarball of the last revision here: http://code.bitlbee.org/tarballs/bitlbee-bzr-1011.tar.gz

The latest revision is stable as far as I know, but still, as a development version it's not as widely tested as the official release, so we'd appreciate any reports of OTR related issues.

Note: See TracTickets for help on using tickets.