Discussion:
Feedback re: Build on AIX - FYI.
Michael
2017-12-04 09:38:10 UTC
Permalink
Had a question from a user of the curl package - and I had not realized
I also needed libssh2 to get it to do everything.

So, packaged libssh2 - all seems to be okay (make check succeeded 3 out
of 3).

However, this also has a GNU make dependency - I am guessing due to the
m4 macros that check for changes to Makefile.in, etc.. That is where
"default" make dies.

I also see a frequently recurring warning message.

Cut/paste of the make process...

+++++++++

***@x064:[/data/prj/aixtools/libssh2-1.8.0]make
"Makefile", line 980: make: 1254-055 Dependency line needs colon or
double colon operator.
"Makefile", line 981: make: 1254-055 Dependency line needs colon or
double colon operator.
make: 1254-058 Fatal errors encountered -- cannot continue.
***@x064:[/data/prj/aixtools/libssh2-1.8.0]/opt/bin/make
Making all in src
make[1]: Entering directory '/data/prj/aixtools/libssh2-1.8.0/src'
/opt/bin/make  all-am
make[2]: Entering directory '/data/prj/aixtools/libssh2-1.8.0/src'
  CC       channel.lo
  CC       comp.lo
  CC       crypt.lo
  CC       hostkey.lo
  CC       kex.lo
"../../src/libssh2-1.8.0/src/kex.c", line 195.82: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/kex.c", line 456.77: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/kex.c", line 488.78: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/kex.c", line 504.79: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/kex.c", line 553.64: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/kex.c", line 600.64: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/kex.c", line 626.62: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/kex.c", line 652.62: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/kex.c", line 670.66: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/kex.c", line 685.66: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/kex.c", line 815.82: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/kex.c", line 1078.77: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/kex.c", line 1110.78: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/kex.c", line 1126.79: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/kex.c", line 1175.64: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/kex.c", line 1222.64: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/kex.c", line 1248.62: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/kex.c", line 1274.62: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/kex.c", line 1292.66: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/kex.c", line 1307.66: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/kex.c", line 1384.71: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/kex.c", line 1460.72: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/kex.c", line 1505.79: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/kex.c", line 1605.86: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
  CC       mac.lo
  CC       misc.lo
  CC       packet.lo
"../../src/libssh2-1.8.0/src/packet.c", line 137.71: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/packet.c", line 969.47: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/packet.c", line 992.78: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/packet.c", line 1178.73: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
  CC       publickey.lo
"../../src/libssh2-1.8.0/src/publickey.c", line 298.58: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/publickey.c", line 791.59: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
  CC       scp.lo
"../../src/libssh2-1.8.0/src/scp.c", line 310.57: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/scp.c", line 358.76: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/scp.c", line 852.54: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
  CC       session.lo
"../../src/libssh2-1.8.0/src/session.c", line 499.56: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/session.c", line 522.15: 1506-068 (W)
Operation between types "void*" and "void(*)(struct
_LIBSSH2_SESSION*,const char*,int,void**)" is not allowed.
"../../src/libssh2-1.8.0/src/session.c", line 523.33: 1506-068 (W)
Operation between types "void(*)(struct _LIBSSH2_SESSION*,const
char*,int,void**)" and "void*" is not allowed.
"../../src/libssh2-1.8.0/src/session.c", line 527.15: 1506-068 (W)
Operation between types "void*" and "void(*)(struct
_LIBSSH2_SESSION*,int,const char*,int,const char*,int,void**)" is not
allowed.
"../../src/libssh2-1.8.0/src/session.c", line 528.32: 1506-068 (W)
Operation between types "void(*)(struct _LIBSSH2_SESSION*,int,const
char*,int,const char*,int,void**)" and "void*" is not allowed.
"../../src/libssh2-1.8.0/src/session.c", line 532.15: 1506-068 (W)
Operation between types "void*" and "void(*)(struct
_LIBSSH2_SESSION*,int,const char*,int,const char*,int,void**)" is not
allowed.
"../../src/libssh2-1.8.0/src/session.c", line 533.37: 1506-068 (W)
Operation between types "void(*)(struct _LIBSSH2_SESSION*,int,const
char*,int,const char*,int,void**)" and "void*" is not allowed.
"../../src/libssh2-1.8.0/src/session.c", line 537.15: 1506-068 (W)
Operation between types "void*" and "int(*)(struct
_LIBSSH2_SESSION*,const char*,int,void**)" is not allowed.
"../../src/libssh2-1.8.0/src/session.c", line 538.27: 1506-068 (W)
Operation between types "int(*)(struct _LIBSSH2_SESSION*,const
char*,int,void**)" and "void*" is not allowed.
"../../src/libssh2-1.8.0/src/session.c", line 542.15: 1506-068 (W)
Operation between types "void*" and "void(*)(struct
_LIBSSH2_SESSION*,struct _LIBSSH2_CHANNEL*,const char*,int,void**)" is
not allowed.
"../../src/libssh2-1.8.0/src/session.c", line 543.22: 1506-068 (W)
Operation between types "void(*)(struct _LIBSSH2_SESSION*,struct
_LIBSSH2_CHANNEL*,const char*,int,void**)" and "void*" is not allowed.
"../../src/libssh2-1.8.0/src/session.c", line 547.15: 1506-068 (W)
Operation between types "void*" and "long(*)(int,const void*,unsigned
long,int,void**)" is not allowed.
"../../src/libssh2-1.8.0/src/session.c", line 548.23: 1506-068 (W)
Operation between types "long(*)(int,const void*,unsigned
long,int,void**)" and "void*" is not allowed.
"../../src/libssh2-1.8.0/src/session.c", line 552.15: 1506-068 (W)
Operation between types "void*" and "long(*)(int,void*,unsigned
long,int,void**)" is not allowed.
"../../src/libssh2-1.8.0/src/session.c", line 553.23: 1506-068 (W)
Operation between types "long(*)(int,void*,unsigned long,int,void**)"
and "void*" is not allowed.
"../../src/libssh2-1.8.0/src/session.c", line 593.60: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/session.c", line 736.53: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/session.c", line 1056.55: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
  CC       sftp.lo
"../../src/libssh2-1.8.0/src/sftp.c", line 300.62: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/sftp.c", line 717.53: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/sftp.c", line 1144.79: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/sftp.c", line 1210.78: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/sftp.c", line 1734.63: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/sftp.c", line 2087.47: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/sftp.c", line 2395.69: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/sftp.c", line 2745.56: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/sftp.c", line 3058.58: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
  CC       userauth.lo
"../../src/libssh2-1.8.0/src/userauth.c", line 241.75: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/userauth.c", line 291.68: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/userauth.c", line 299.64: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/userauth.c", line 325.62: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/userauth.c", line 939.61: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/userauth.c", line 986.65: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/userauth.c", line 1141.61: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/userauth.c", line 1187.74: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/userauth.c", line 1299.72: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/userauth.c", line 1343.61: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/userauth.c", line 1622.72: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/userauth.c", line 1666.80: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/userauth.c", line 1676.76: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/userauth.c", line 1795.38: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
  CC       transport.lo
"../../src/libssh2-1.8.0/src/transport.c", line 308.71: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/transport.c", line 713.71: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
  CC       version.lo
  CC       knownhost.lo
  CC       agent.lo
  CC       openssl.lo
"../../src/libssh2-1.8.0/src/openssl.c", line 944.71: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/openssl.c", line 999.71: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
"../../src/libssh2-1.8.0/src/openssl.c", line 1135.60: 1506-041 (E) The
invocation of macro _libssh2_debug contains fewer arguments than are
required by the macro definition.
  CC       pem.lo
  CC       keepalive.lo
  CC       global.lo
  CCLD     libssh2.la
make[2]: Leaving directory '/data/prj/aixtools/libssh2-1.8.0/src'
make[1]: Leaving directory '/data/prj/aixtools/libssh2-1.8.0/src'
Making all in tests
make[1]: Entering directory '/data/prj/aixtools/libssh2-1.8.0/tests'
  CC       ssh2.o
  CCLD     ssh2
make[1]: Leaving directory '/data/prj/aixtools/libssh2-1.8.0/tests'
Making all in docs
make[1]: Entering directory '/data/prj/aixtools/libssh2-1.8.0/docs'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/data/prj/aixtools/libssh2-1.8.0/docs'
Making all in example
make[1]: Entering directory '/data/prj/aixtools/libssh2-1.8.0/example'
/opt/bin/make  all-am
make[2]: Entering directory '/data/prj/aixtools/libssh2-1.8.0/example'
  CC       direct_tcpip.o
  CCLD     direct_tcpip
  CC       ssh2.o
  CCLD     ssh2
  CC       scp.o
  CCLD     scp
  CC       scp_nonblock.o
  CCLD     scp_nonblock
  CC       scp_write.o
  CCLD     scp_write
  CC       scp_write_nonblock.o
  CCLD     scp_write_nonblock
  CC       sftp.o
  CCLD     sftp
  CC       sftp_nonblock.o
  CCLD     sftp_nonblock
  CC       sftp_write.o
  CCLD     sftp_write
  CC       sftp_write_nonblock.o
  CCLD     sftp_write_nonblock
  CC       sftp_mkdir.o
  CCLD     sftp_mkdir
  CC       sftp_mkdir_nonblock.o
  CCLD     sftp_mkdir_nonblock
  CC       sftp_RW_nonblock.o
  CCLD     sftp_RW_nonblock
  CC       sftp_write_sliding.o
  CCLD     sftp_write_sliding
  CC       sftpdir.o
  CCLD     sftpdir
  CC       sftpdir_nonblock.o
  CCLD     sftpdir_nonblock
  CC       ssh2_exec.o
  CCLD     ssh2_exec
  CC       ssh2_agent.o
  CCLD     ssh2_agent
  CC       ssh2_echo.o
  CCLD     ssh2_echo
  CC       sftp_append.o
  CCLD     sftp_append
  CC       subsystem_netconf.o
  CCLD     subsystem_netconf
  CC       tcpip-forward.o
  CCLD     tcpip-forward
  CC       x11.o
  CCLD     x11
make[2]: Leaving directory '/data/prj/aixtools/libssh2-1.8.0/example'
make[1]: Leaving directory '/data/prj/aixtools/libssh2-1.8.0/example'
make[1]: Entering directory '/data/prj/aixtools/libssh2-1.8.0'
make[1]: Nothing to be done for 'all-am'.
make[1]: Leaving directory '/data/prj/aixtools/libssh2-1.8.0'

+++++++ MAKE CHECK +++++++

***@x064:[/data/prj/aixtools/libssh2-1.8.0]/opt/bin/make check
Making check in src
make[1]: Entering directory '/data/prj/aixtools/libssh2-1.8.0/src'
make[1]: Leaving directory '/data/prj/aixtools/libssh2-1.8.0/src'
Making check in tests
make[1]: Entering directory '/data/prj/aixtools/libssh2-1.8.0/tests'
/opt/bin/make  simple
make[2]: Entering directory '/data/prj/aixtools/libssh2-1.8.0/tests'
  CC       simple.o
  CCLD     simple
make[2]: Leaving directory '/data/prj/aixtools/libssh2-1.8.0/tests'
/opt/bin/make  check-TESTS
make[2]: Entering directory '/data/prj/aixtools/libssh2-1.8.0/tests'
make[2]: Warning: File '.deps/simple.Po' has modification time 0.042 s
in the future
make[3]: Entering directory '/data/prj/aixtools/libssh2-1.8.0/tests'
make[3]: Warning: File '.deps/simple.Po' has modification time 0.017 s
in the future
PASS: simple
PASS: mansyntax.sh
PASS: ssh2.sh
============================================================================
Testsuite summary for libssh2 -
============================================================================
# TOTAL: 3
# PASS:  3
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================
make[3]: warning:  Clock skew detected.  Your build may be incomplete.
make[3]: Leaving directory '/data/prj/aixtools/libssh2-1.8.0/tests'
make[2]: warning:  Clock skew detected.  Your build may be incomplete.
make[2]: Leaving directory '/data/prj/aixtools/libssh2-1.8.0/tests'
make[1]: Leaving directory '/data/prj/aixtools/libssh2-1.8.0/tests'
Making check in docs
make[1]: Entering directory '/data/prj/aixtools/libssh2-1.8.0/docs'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/data/prj/aixtools/libssh2-1.8.0/docs'
Making check in example
make[1]: Entering directory '/data/prj/aixtools/libssh2-1.8.0/example'
make[1]: Leaving directory '/data/prj/aixtools/libssh2-1.8.0/example'
make[1]: Entering directory '/data/prj/aixtools/libssh2-1.8.0'
make[1]: Nothing to be done for 'check-am'.
make[1]: Leaving directory '/data/prj/aixtools/libssh2-1.8.0'
***@x064:[/data/prj/aixtools/libssh2-1.8.0]
++++++++


p.s. If you would like for me to open an issue, just ask.

_______________________________________________
libssh2-devel https://co
Daniel Stenberg
2017-12-04 10:01:17 UTC
Permalink
However, this also has a GNU make dependency - I am guessing due to the m4
macros that check for changes to Makefile.in, etc.. That is where "default"
make dies.
I'm not denying there may be problems. I'm not sure that's because of gnu
makeisms though. We haven't heard any complaints before from people who
normally don't use gnu make, like BSD people. And the makefile has basically
remained like this since a very long time afaicr.
"Makefile", line 980: make: 1254-055 Dependency line needs colon or double
colon operator.
"Makefile", line 981: make: 1254-055 Dependency line needs colon or double
colon operator.
Can you show us line 980 and 981 of your generated Makefile?
"../../src/libssh2-1.8.0/src/kex.c", line 195.82: 1506-041 (E) The invocation
of macro _libssh2_debug contains fewer arguments than are required by the
macro definition.
This looks like your compiler has an issue with the _libssh2_debug #define in
libssh2_priv.h.
"../../src/libssh2-1.8.0/src/session.c", line 522.15: 1506-068 (W) Operation
between types "void*" and "void(*)(struct _LIBSSH2_SESSION*,const
char*,int,void**)" is not allowed.
This warning (error?) is hard do fix with our current API. It shows with other
compilers as well.
# ERROR: 0
... so you still managed to build and test everything suceessfully?
--
/ daniel.haxx.se
_______________________________________________
libssh2-devel https://cool.haxx.
Loading...