bou
September 9, 2011, 12:43pm
1
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 to
pthread_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
bou
September 23, 2011, 11:31am
2
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