Compiling ROOT: Undefined reference to `pthread_atfork'

Hello,

I have tried to compile root on debian (testing amd64) and I have the following error:

[i]…/root_v5.30.01.source/configure --prefix=/usr/local/root_v5.30.01 --enable-minuit2 --enable-mathmore --enable-roofit --enable-x11 --enable-opengl --with-x11-libdir=/usr/lib/x86_64-linux-gnu --with-xft-libdir=/usr/lib/x86_64-linux-gnu --with-xext-libdir=/usr/lib/x86_64-linux-gnu

…/…/lib/libXrdClient.a(XrdClientEnv.o): In function Initializer': /home/ode/built-sources/root_v5.30.01.built/net/xrootd/src/xrootd/src/XrdClient/XrdClientEnv.cc:225: undefined reference topthread_atfork’[/i]

I have found a similar bug reported for Ubuntu but it didn’t help: https://savannah.cern.ch/bugs/?82494.

Can you help me please?

Best regards,

Bou

I have found the problem. A simple link to the library -lpthread was missing for creation of different binaries:

In ./net/xrootd/src/xrootd/src/XrdClient/GNUmakefile:

$(BINDIR)/TestXrdClient_read: $(OBJECTS) $(OBJECTD) $(LIBDEPS)
	@echo Creating executable $(BINDIR)/TestXrdClient_read 
	$(ECHO)$(LD) $(LDOP) $(OBJECTD) $(BINLIBS) $(LIBS) -lpthread -o $(BINDIR)/TestXrdClient_read

$(BINDIR)/TestXrdClient: $(OBJECTS) $(OBJECTB) $(LIBDEPS)
	@echo Creating executable $(BINDIR)/TestXrdClient 
	$(ECHO)$(LD) $(LDOP) $(OBJECTB) $(BINLIBS) $(LIBS) -lpthread -o $(BINDIR)/TestXrdClient

$(XRDCP): $(OBJECTS) $(OBJECTC) $(LIBDEPS)
	@echo Creating executable $(XRDCP) 
	$(ECHO)$(LD) $(LDOP) $(OBJECTC) $(BINLIBS) $(LIBS) $(LIBZ) -lpthread -o $(XRDCP)

$(XRDPREPTOOL): $(OBJECTS) $(OBJECT_PREPTOOL) $(LIBDEPS)
	@echo Creating executable $(XRDPREPTOOL)
	$(ECHO)$(LD) $(LDOP) $(OBJECT_PREPTOOL) $(BINLIBS) $(LIBS)  -lpthread -o $(XRDPREPTOOL)

$(XRDSTAGETOOL): $(OBJECTS) $(OBJECT_STAGETOOL) $(LIBDEPS)
	@echo Creating executable $(XRDSTAGETOOL) 
	$(ECHO)$(LD) $(LDOP) $(OBJECT_STAGETOOL) $(BINLIBS) $(LIBS)  -lpthread -o $(XRDSTAGETOOL)

$(XRDCLI): $(OBJECTS) $(OBJECT_CLI) $(LIBDEPS)
	@echo Creating executable $(XRDCLI) 
	$(ECHO)$(LD) $(LDOP) $(OBJECT_CLI) $(BINLIBS) $(LIBS) $(LIBREADLINE) -lpthread -o $(XRDCLI)

./net/xrootd/src/xrootd/src/XrdCns/GNUmakefile:

$(TARGCNSD): $(OBJCNSD) $(OBJCOM) $(LIBDEP)
	@echo Creating executable $(BINDIR)/XrdCnsd
	$(ECHO)$(LD) $(LDOP) $(CFLAGS) $(OBJCNSD) $(OBJCOM) $(LIBDEP) $(MORELIBS) $(LIBS) -lpthread -o $(BINDIR)/XrdCnsd

./net/xrootd/src/xrootd/src/XrdApps/GNUmakefile:

$(XRDADLER32): $(XRDADLER32_OBJ) $(XRDADLERDEPT)
	@echo Creating executable $(XRDADLER32)
	$(ECHO)$(LD) $(LDOP) $(XRDADLER32_OBJ) $(XRDADLERDEPS) $(XRDADLERLIBS) -lpthread -o $(XRDADLER32)

Bou