mosquitto make

I want to make for mosquitto-1.4.4 on QNX6.5. There are some bug from this log. How to debug or manual to set make file?
make message:

pwd

/root/mosquitto-1.4.4

make

set -e; for d in lib client src; do make -C ${d}; done
make[1]: Entering directory /root/mosquitto-1.4.4/lib' cc -Wall -ggdb -O2 -I. -I.. -I../lib -fPIC -DWITH_TLS -DWITH_TLS_PSK -DWITH_THR EADING -DWITH_SOCKS -c mosquitto.c -o mosquitto.o mosquitto.c: In function 'mosquitto_loop': mosquitto.c:914: warning: implicit declaration of function 'pselect' cc -Wall -ggdb -O2 -I. -I.. -I../lib -fPIC -DWITH_TLS -DWITH_TLS_PSK -DWITH_THR EADING -DWITH_SOCKS -c logging_mosq.c -o logging_mosq.o cc -Wall -ggdb -O2 -I. -I.. -I../lib -fPIC -DWITH_TLS -DWITH_TLS_PSK -DWITH_THR EADING -DWITH_SOCKS -c memory_mosq.c -o memory_mosq.o cc -Wall -ggdb -O2 -I. -I.. -I../lib -fPIC -DWITH_TLS -DWITH_TLS_PSK -DWITH_THR EADING -DWITH_SOCKS -c messages_mosq.c -o messages_mosq.o cc -Wall -ggdb -O2 -I. -I.. -I../lib -fPIC -DWITH_TLS -DWITH_TLS_PSK -DWITH_THR EADING -DWITH_SOCKS -c net_mosq.c -o net_mosq.o cc -Wall -ggdb -O2 -I. -I.. -I../lib -fPIC -DWITH_TLS -DWITH_TLS_PSK -DWITH_THR EADING -DWITH_SOCKS -c read_handle.c -o read_handle.o cc -Wall -ggdb -O2 -I. -I.. -I../lib -fPIC -DWITH_TLS -DWITH_TLS_PSK -DWITH_THR EADING -DWITH_SOCKS -c read_handle_client.c -o read_handle_client.o cc -Wall -ggdb -O2 -I. -I.. -I../lib -fPIC -DWITH_TLS -DWITH_TLS_PSK -DWITH_THR EADING -DWITH_SOCKS -c read_handle_shared.c -o read_handle_shared.o cc -Wall -ggdb -O2 -I. -I.. -I../lib -fPIC -DWITH_TLS -DWITH_TLS_PSK -DWITH_THR EADING -DWITH_SOCKS -c send_mosq.c -o send_mosq.o cc -Wall -ggdb -O2 -I. -I.. -I../lib -fPIC -DWITH_TLS -DWITH_TLS_PSK -DWITH_THR EADING -DWITH_SOCKS -c send_client_mosq.c -o send_client_mosq.o cc -Wall -ggdb -O2 -I. -I.. -I../lib -fPIC -DWITH_TLS -DWITH_TLS_PSK -DWITH_THR EADING -DWITH_SOCKS -c socks_mosq.c -o socks_mosq.o cc -Wall -ggdb -O2 -I. -I.. -I../lib -fPIC -DWITH_TLS -DWITH_TLS_PSK -DWITH_THR EADING -DWITH_SOCKS -c srv_mosq.c -o srv_mosq.o cc -Wall -ggdb -O2 -I. -I.. -I../lib -fPIC -DWITH_TLS -DWITH_TLS_PSK -DWITH_THR EADING -DWITH_SOCKS -c thread_mosq.c -o thread_mosq.o cc -Wall -ggdb -O2 -I. -I.. -I../lib -fPIC -DWITH_TLS -DWITH_TLS_PSK -DWITH_THR EADING -DWITH_SOCKS -c time_mosq.c -o time_mosq.o cc -Wall -ggdb -O2 -I. -I.. -I../lib -fPIC -DWITH_TLS -DWITH_TLS_PSK -DWITH_THR EADING -DWITH_SOCKS -c tls_mosq.c -o tls_mosq.o cc -Wall -ggdb -O2 -I. -I.. -I../lib -fPIC -DWITH_TLS -DWITH_TLS_PSK -DWITH_THR EADING -DWITH_SOCKS -c util_mosq.c -o util_mosq.o cc -Wall -ggdb -O2 -I. -I.. -I../lib -fPIC -DWITH_TLS -DWITH_TLS_PSK -DWITH_THR EADING -DWITH_SOCKS -c will_mosq.c -o will_mosq.o cc -shared -Wl,--version-script=linker.version -Wl,-soname,libmosquitto.so.1 mo squitto.o logging_mosq.o memory_mosq.o messages_mosq.o net_mosq.o read_handle.o read_handle_client.o read_handle_shared.o send_mosq.o send_client_mosq.o socks_m osq.o srv_mosq.o thread_mosq.o time_mosq.o tls_mosq.o util_mosq.o will_mosq.o -o libmosquitto.so.1 -lsocket -lssl -lcrypto -lpthread /usr/qnx650/host/qnx6/x86/usr/bin/ntox86-ld: cannot find -lpthread cc: /usr/qnx650/host/qnx6/x86/usr/bin/ntox86-ld error 1 make[1]: *** [libmosquitto.so.1] Error 1 make[1]: Leaving directory /root/mosquitto-1.4.4/lib’
make: *** [mosquitto] Error 2

In QNX, pthread is contained in libc.

Normally this is included automatically at link time. So you can remove the -lpthread from the link line in your Makefile.

Tim

Thanks for your reply. My information is mosquitto version: 1.4.4 , QNX : 6.5.0 and CPU:X86.
I remover the -lpthread but it have a new error message. If you have a information for the mosquitto, please reply me.
My reference link is github.com/oniongarlic/mosquitto
Thanks

Error message:

make

set -e; for d in lib client src; do make -C ${d}; done
make[1]: Entering directory /root/mosquitto-1.4.4/lib' make -C cpp make[2]: Entering directory /root/mosquitto-1.4.4/lib/cpp’
make[2]: Nothing to be done for all'. make[2]: Leaving directory /root/mosquitto-1.4.4/lib/cpp’
make[1]: Leaving directory /root/mosquitto-1.4.4/lib' make[1]: Entering directory /root/mosquitto-1.4.4/client’
make[1]: Nothing to be done for all'. make[1]: Leaving directory /root/mosquitto-1.4.4/client’
make[1]: Entering directory `/root/mosquitto-1.4.4/src’
cc mosquitto.o bridge.o conf.o context.o database.o logging.o loop.o memory_mosq

.o persist.o net.o net_mosq.o read_handle.o read_handle_client.o read_handle_ser

ver.o read_handle_shared.o security.o security_default.o send_client_mosq.o send

_mosq.o send_server.o service.o subs.o sys_tree.o time_mosq.o tls_mosq.o util_mo

sq.o websockets.o will_mosq.o -o mosquitto -ldl -lm -lsocket -lssl -lcrypto
/usr/qnx650/host/qnx6/x86/usr/bin/ntox86-ld: cannot find -ldl
cc: /usr/qnx650/host/qnx6/x86/usr/bin/ntox86-ld error 1
make[1]: *** [mosquitto] Error 1
make[1]: Leaving directory `/root/mosquitto-1.4.4/src’
make: *** [mosquitto] Error 2

config.mk:

=============================================================================

User configuration section.

These options control compilation on all systems apart from Windows and Mac

OS X. Use CMake to compile on Windows and Mac.

Largely, these are options that are designed to make mosquitto run more

easily in restrictive environments by removing features.

Modify the variable below to enable/disable features.

Can also be overriden at the command line, e.g.:

make WITH_TLS=no

=============================================================================

Uncomment to compile the broker with tcpd/libwrap support.

#WITH_WRAP:=yes

Comment out to disable SSL/TLS support in the broker and client.

Disabling this will also mean that passwords must be stored in plain text. It

is strongly recommended that you only disable WITH_TLS if you are not using

password authentication at all.

WITH_TLS:=yes

Comment out to disable TLS/PSK support in the broker and client. Requires

WITH_TLS=yes.

This must be disabled if using openssl < 1.0.

WITH_TLS_PSK:=yes

Comment out to disable client client threading support.

WITH_THREADING:=yes

Comment out to remove bridge support from the broker. This allow the broker

to connect to other brokers and subscribe/publish to topics. You probably

want to leave this included unless you want to save a very small amount of

memory size and CPU time.

WITH_BRIDGE:=yes

Comment out to remove persistent database support from the broker. This

allows the broker to store retained messages and durable subscriptions to a

file periodically and on shutdown. This is usually desirable (and is

suggested by the MQTT spec), but it can be disabled if required.

WITH_PERSISTENCE:=yes

Comment out to remove memory tracking support from the broker. If disabled,

mosquitto won’t track heap memory usage nor export '$SYS/broker/heap/current

size’, but will use slightly less memory and CPU time.

WITH_MEMORY_TRACKING:=yes

Compile with database upgrading support? If disabled, mosquitto won’t

automatically upgrade old database versions.

Not currently supported.

#WITH_DB_UPGRADE:=yes

Comment out to remove publishing of the $SYS topic hierarchy containing

information about the broker state.

WITH_SYS_TREE:=yes

Build with SRV lookup support.

WITH_SRV:=no #kuo

Build using libuuid for clientid generation (Linux only - please report if

supported on your platform).

WITH_UUID:=yes

Build with websockets support on the broker.

WITH_WEBSOCKETS:=no

Use elliptic keys in broker

WITH_EC:=yes

Build man page documentation by default.

WITH_DOCS:=yes

Build with client support for SOCK5 proxy.

WITH_SOCKS:=yes

=============================================================================

End of user configuration

=============================================================================

Also bump lib/mosquitto.h, CMakeLists.txt,

installer/mosquitto.nsi, installer/mosquitto-cygwin.nsi

VERSION=1.4.4
TIMESTAMP:=$(shell date “+%F %T%z”)

Client library SO version. Bump if incompatible API/ABI changes are made.

SOVERSION=1

Man page generation requires xsltproc and docbook-xsl

XSLTPROC=xsltproc

For html generation

DB_HTML_XSL=man/html.xsl

#MANCOUNTRIES=en_GB

UNAME:=$(shell uname -s)

ifeq ($(UNAME),SunOS)
ifeq ($(CC),cc)
CFLAGS?=-O
else
CFLAGS?=-Wall -ggdb -O2
endif
else
CFLAGS?=-Wall -ggdb -O2
endif

LIB_CFLAGS:=${CFLAGS} ${CPPFLAGS} -I. -I… -I…/lib
LIB_CXXFLAGS:=$(LIB_CFLAGS) ${CPPFLAGS}
LIB_LDFLAGS:=${LDFLAGS}

BROKER_CFLAGS:=${LIB_CFLAGS} ${CPPFLAGS} -DVERSION=""${VERSION}"" -DTIMESTAMP=""${TIMESTAMP}"" -DWITH_BROKER
CLIENT_CFLAGS:=${CFLAGS} ${CPPFLAGS} -I…/lib -DVERSION=""${VERSION}""

ifneq ($(or $(find $(UNAME),FreeBSD), $(find $(UNAME),OpenBSD)),)
BROKER_LIBS:=-lm
else
BROKER_LIBS:=-ldl -lm
endif
LIB_LIBS:=
PASSWD_LIBS:=

ifeq ($(UNAME),Linux)
BROKER_LIBS:=$(BROKER_LIBS) -lrt -Wl,–dynamic-list=linker.syms
LIB_LIBS:=$(LIB_LIBS) -lrt
endif

CLIENT_LDFLAGS:=$(LDFLAGS) -L…/lib …/lib/libmosquitto.so.${SOVERSION}

ifeq ($(UNAME),SunOS)
ifeq ($(CC),cc)
LIB_CFLAGS:=$(LIB_CFLAGS) -xc99 -KPIC
else
LIB_CFLAGS:=$(LIB_CFLAGS) -fPIC
endif

ifeq ($(CXX),CC)
	LIB_CXXFLAGS:=$(LIB_CXXFLAGS) -KPIC
else
	LIB_CXXFLAGS:=$(LIB_CXXFLAGS) -fPIC
endif

else
LIB_CFLAGS:=$(LIB_CFLAGS) -fPIC
LIB_CXXFLAGS:=$(LIB_CXXFLAGS) -fPIC
endif

ifneq ($(UNAME),SunOS)
LIB_LDFLAGS:=$(LIB_LDFLAGS) -Wl,–version-script=linker.version -Wl,-soname,libmosquitto.so.$(SOVERSION)
endif

ifeq ($(UNAME),QNX)
BROKER_LIBS:=$(BROKER_LIBS) -lsocket
LIB_LIBS:=$(LIB_LIBS) -lsocket
endif

ifeq ($(WITH_WRAP),yes)
BROKER_LIBS:=$(BROKER_LIBS) -lwrap
BROKER_CFLAGS:=$(BROKER_CFLAGS) -DWITH_WRAP
endif

ifeq ($(WITH_TLS),yes)
BROKER_LIBS:=$(BROKER_LIBS) -lssl -lcrypto
LIB_LIBS:=$(LIB_LIBS) -lssl -lcrypto
BROKER_CFLAGS:=$(BROKER_CFLAGS) -DWITH_TLS
LIB_CFLAGS:=$(LIB_CFLAGS) -DWITH_TLS
PASSWD_LIBS:=-lcrypto
CLIENT_CFLAGS:=$(CLIENT_CFLAGS) -DWITH_TLS

ifeq ($(WITH_TLS_PSK),yes)
	BROKER_CFLAGS:=$(BROKER_CFLAGS) -DWITH_TLS_PSK
	LIB_CFLAGS:=$(LIB_CFLAGS) -DWITH_TLS_PSK
	CLIENT_CFLAGS:=$(CLIENT_CFLAGS) -DWITH_TLS_PSK
endif

endif

ifeq ($(WITH_THREADING),yes)
#LIB_LIBS:=$(LIB_LIBS) -lpthread
LIB_LIBS:=$(LIB_LIBS) #kuo
LIB_CFLAGS:=$(LIB_CFLAGS) -DWITH_THREADING
endif

ifeq ($(WITH_SOCKS),yes)
LIB_CFLAGS:=$(LIB_CFLAGS) -DWITH_SOCKS
CLIENT_CFLAGS:=$(CLIENT_CFLAGS) -DWITH_SOCKS
endif

ifeq ($(WITH_UUID),yes)
ifeq ($(UNAME),Linux)
BROKER_CFLAGS:=$(BROKER_CFLAGS) -DWITH_UUID
BROKER_LIBS:=$(BROKER_LIBS) -luuid
endif
endif

ifeq ($(WITH_BRIDGE),yes)
BROKER_CFLAGS:=$(BROKER_CFLAGS) -DWITH_BRIDGE
endif

ifeq ($(WITH_PERSISTENCE),yes)
BROKER_CFLAGS:=$(BROKER_CFLAGS) -DWITH_PERSISTENCE
endif

ifeq ($(WITH_MEMORY_TRACKING),yes)
ifneq ($(UNAME),SunOS)
BROKER_CFLAGS:=$(BROKER_CFLAGS) -DWITH_MEMORY_TRACKING
endif
endif

#ifeq ($(WITH_DB_UPGRADE),yes)

BROKER_CFLAGS:=$(BROKER_CFLAGS) -DWITH_DB_UPGRADE

#endif

ifeq ($(WITH_SYS_TREE),yes)
BROKER_CFLAGS:=$(BROKER_CFLAGS) -DWITH_SYS_TREE
endif

ifeq ($(WITH_SRV),yes)
LIB_CFLAGS:=$(LIB_CFLAGS) -DWITH_SRV
LIB_LIBS:=$(LIB_LIBS) -lcares
CLIENT_CFLAGS:=$(CLIENT_CFLAGS) -DWITH_SRV
endif

ifeq ($(WITH_WEBSOCKETS),yes)
BROKER_CFLAGS:=$(BROKER_CFLAGS) -DWITH_WEBSOCKETS
BROKER_LIBS:=$(BROKER_LIBS) -lwebsockets
endif

ifeq ($(UNAME),SunOS)
BROKER_LIBS:=$(BROKER_LIBS) -lsocket -lnsl
LIB_LIBS:=$(LIB_LIBS) -lsocket -lnsl
endif

ifeq ($(WITH_EC),yes)
BROKER_CFLAGS:=$(BROKER_CFLAGS) -DWITH_EC
endif

MAKE_ALL:=mosquitto
ifeq ($(WITH_DOCS),yes)
MAKE_ALL:=$(MAKE_ALL) docs
endif

INSTALL?=install
prefix=/usr/local
mandir=${prefix}/share/man
localedir=${prefix}/share/locale
STRIP?=strip

The mosquitto release new version(1.4.7) support QNX. The make file is below, if it want be run x86 system.
How to modify the make file?
config.mk(V1.4.7):
CFLAGS?=-Wall -ggdb -O2 -fstack-protector -fstack-protector-all -mcpu=cortex-a9 -V4.6.3,gcc_ntoarmv7le -D__QNX__
CPPFLAGS=-V4.6.3,gcc_ntoarmv7le -Y_gpp -D__QNX__
LDFLAGS=-V4.6.3,gcc_ntoarmv7le -Y_gpp -D__QNX__

How to modify the make file for x86 system?
config.mk:
CFLAGS?=-Wall -ggdb -O2 -fstack-protector -fstack-protector-all -mcpu=cortex-a9 -V4.6.3,gcc_ntoarmv7le -D__QNX__
CPPFLAGS=-V4.6.3,gcc_ntoarmv7le -Y_gpp -D__QNX__
LDFLAGS=-V4.6.3,gcc_ntoarmv7le -Y_gpp -D__QNX__