Install Issue --- Symbol Missing

Hello ROOT Experts,

I have an created a new root install on my mac os x 64bit system. Using the following configure statement…

/configure macosx64 --enable-python --with-python-incdir=/Library/Frameworks/Python.framework/Versions/Current/include/python2.7/ --with-python-libdir=/Library/Frameworks/Python.framework/Versions/Current/lib/

However, after I go to run I get the following error…

mbalazs ~ $ root -b
dyld: Symbol not found: _pcre_free
Referenced from: /Applications/root/lib/libCore.so
Expected in: flat namespace
in /Applications/root/lib/libCore.so

Any ideas?

Thanks,
Michael

Hi,

can you check if in the ./configure output you see:

Checking for pcre-config ... not found
Checking whether to build included libpcre ... yes

in this case the pcre shipped with ROOT is being compiled and used and this should work fine. If not do you have an own, incompatible, version of libpcre?

Cheers, Fons.

I get these three lines out…

Checking for pcre-config … /sw/bin/pcre-config
Checking for libpcre version >= 3.9 … ok
Checking whether to build included libpcre … no

What should I try next?

Thanks,
Michael

I am trying by adding the line --enable-builtin-pcre

Michael

Yes, try to force the builtin. If that works let me know what version you have in /sw/lib so we can check out why it is incompatible.

Cheers, Fons.

That indeed fixed that issue… to answer your question (I think)

[code]mbalazs ~ $ apt-cache showpkg pcre
Package: pcre
Versions:
7.9-1(/sw/var/lib/dpkg/status)

Reverse Depends:
Dependencies:
7.9-1 - pcre-shlibs (5 7.9-1) darwin (2 10-1) pcre-64bit (0 (null)) pcre-bin (3 7.0-1) pcre-64bit (0 (null))
Provides:
7.9-1 -
Reverse Provides:
mbalazs ~ $ apt-cache showpkg pcre-shlibs
Package: pcre-shlibs
Versions:
7.9-1(/sw/var/lib/dpkg/status)

Reverse Depends:
pcre,pcre-shlibs 7.9-1
Dependencies:
7.9-1 - darwin (2 10-1)
Provides:
7.9-1 -
Reverse Provides:[/code]

Now I have another issue… although I might need to post in the PyRoot forum.

>>> import ROOT Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/Applications/root/lib/ROOT.py", line 85, in <module> import libPyROOT as _root ImportError: dlopen(/Applications/root/lib/libPyROOT.so, 2): Symbol not found: _FT_Done_Face Referenced from: /Applications/root/lib/libGraf.so Expected in: flat namespace in /Applications/root/lib/libGraf.so

Thanks,
Michael

PyROOT should work out of the box, but it looks you installed a non-default, newer, version. This is for Wim to investigate. Please put it on the Python forum.

Cheers, Fons.

Will do…

Thanks.

::sigh::

So Wim said it wasn’t a PyRoot issue. (moving it back here) He had me add --enable-builtin-freetype to the list however during the make it crashes with the following…

make all ARCH=x86_64_macosx --no-print-directory make[5]: *** No rule to make target `XrdOucFactoryBonjour.hh', needed by `../../obj/XrdOucBonjour.o'. Stop. make[4]: *** [Darwinall] Error 2 make[3]: *** [all] Error 2 make[2]: *** [XrdOuc] Error 2 make[1]: *** [all] Error 2 *** Error condition reported by make (rc = 2): make: *** [net/xrootd/src/xrootd/LastBuild.d] Error 1 make: *** Waiting for unfinished jobs....

I appreciate the help.

Thanks,
Michael

Which version of ROOT are you using? Please try the trunk, this should be fixed.

Cheers, Fons.

Awesome! That worked and now I can access TFitResultsPtr as well. Thanks!

I’m having basically the same issue with 5.28.00

I did
svn co root.cern.ch/svn/root/tags/v5-28-00 v5-28-00
./configure --enable-roofit
gmake

and got the error:
make[5]: *** No rule to make target XrdOucFactoryBonjour.hh', needed by…/…/obj/XrdOucBonjour.o’. Stop.

I’ve also tried (based on this thread)
./configure --enable-roofit --enable-builtin-pcre
./configure --enable-roofit --enable-builtin-pcre --enable-builtin-freetype

This computer has OS X 10.5.8 with gcc version 4.0.1 (Apple Inc. build 5488).

Hi Kyle,

Can you do

$ make distclean-xrootd
$ make all-xrootd > xrd-config.txt

and post ‘xrd-config.txt’?

Gerri

That seems to have fixed it. I guess I didn’t distclean when I changed the configuration.

Thanks

I followed the suggestions from this thread and I am not able to solve the same problem.
I did svn co root.cern.ch/svn/root/tags/v5-28-00 v5-28-00, then

./configure
make
//error
../../lib/libXrdSec.so: undefined reference to `_dl_init_static_tls'
../../lib/libXrdSec.so: undefined reference to `__libc_setup_tls'
../../lib/libXrdSec.so: undefined reference to `__syscall_error'
../../lib/libXrdSec.so: undefined reference to `_dl_sysinfo_dso'
../../lib/libXrdSec.so: undefined reference to `_dl_stack_flags'
../../lib/libXrdSec.so: undefined reference to `_dl_wait_lookup_done'
collect2: ld returned 1 exit status
make[5]: *** [../../bin/testclient] Error 1
make[4]: *** [Linuxall] Error 2
make[3]: *** [all] Error 2
make[2]: *** [XrdSec] Error 2
make[1]: *** [all] Error 2
make: *** [net/xrootd/src/xrootd/LastBuild.d] Error 1

$make distclean-xrootd
$ make all-xrootd
//error
../../lib/libXrdSec.so: undefined reference to `_dl_init_static_tls'
../../lib/libXrdSec.so: undefined reference to `__libc_setup_tls'
../../lib/libXrdSec.so: undefined reference to `__syscall_error'
../../lib/libXrdSec.so: undefined reference to `_dl_sysinfo_dso'
../../lib/libXrdSec.so: undefined reference to `_dl_stack_flags'
../../lib/libXrdSec.so: undefined reference to `_dl_wait_lookup_done'
collect2: ld returned 1 exit status
make[5]: *** [../../bin/testclient] Error 1
make[4]: *** [Linuxall] Error 2
make[3]: *** [all] Error 2
make[2]: *** [XrdSec] Error 2
make[1]: *** [all] Error 2
make: *** [net/xrootd/src/xrootd/LastBuild.d] Error 1

Try to add “–disable-xrootd” in the end of the “./configure” line.
See also notes about “Xrootd” in the bottom of the “ROOT Build Prerequisites” web page and the “Installing xrootd” web page.

BTW. If you really really really need the outdated 5.28 version, then take the head of the v5-28-00-patches branch:
svn co root.cern.ch/svn/root/branches/v5-28-00-patches root
otherwise it’s much wiser to take the head of the v5-34-00-patches branch:
svn co root.cern.ch/svn/root/branches/v5-34-00-patches root

Hi. This is the output of v5_34 as suggested above from

svn co root.cern.ch/svn/root/branches/v5-34-00-patches root

and also as suggested “–disable-xrootd”

g++  -pipe -m32 -Wall -W -Woverloaded-virtual -fPIC -Iinclude    -pthread -I. -I/users/root_v5-34-00-patches/cint/cint/inc  -o core/thread/src/G__Thread.o -c core/thread/src/G__Thread.cxx
g++ -shared -Wl,-soname,libThread.so -m32 -O2 -Wl,--no-undefined -Wl,--as-needed -o lib/libThread.so core/thread/src/TCondition.o core/thread/src/TConditionImp.o core/thread/src/TMutex.o core/thread/src/TMutexImp.o core/thread/src/TRWLock.o core/thread/src/TSemaphore.o core/thread/src/TThread.o core/thread/src/TThreadFactory.o core/thread/src/TThreadImp.o core/thread/src/TPosixCondition.o core/thread/src/TPosixMutex.o core/thread/src/TPosixThread.o core/thread/src/TPosixThreadFactory.o core/thread/src/G__Thread.o -pthread -Llib -lCore -lCint -ldl
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libpthread.a(pthread_create.o): In function `pthread_create':
(.text+0x1073): undefined reference to `_dl_stack_flags'
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libpthread.a(pthread_create.o): In function `pthread_create':
(.text+0x14f8): undefined reference to `_dl_stack_flags'
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libpthread.a(ptw-pause.o): In function `__pause_nocancel':
(.text+0x18): undefined reference to `__syscall_error'
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libpthread.a(ptw-pause.o): In function `__pause_nocancel':
(.text+0x3b): undefined reference to `__syscall_error'
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libpthread.a(init.o): In function `__pthread_initialize_minimal':
(.text+0x19c): undefined reference to `__libc_setup_tls'
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libpthread.a(init.o): In function `__pthread_initialize_minimal':
(.text+0x3ba): undefined reference to `_dl_init_static_tls'
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libpthread.a(init.o): In function `__pthread_initialize_minimal':
(.text+0x3df): undefined reference to `_dl_wait_lookup_done'
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libpthread.a(ptw-read.o): In function `__read_nocancel':
(.text+0x26): undefined reference to `__syscall_error'
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libpthread.a(ptw-read.o): In function `__read_nocancel':
(.text+0x56): undefined reference to `__syscall_error'
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libpthread.a(ptw-open.o): In function `__open_nocancel':
(.text+0x26): undefined reference to `__syscall_error'
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libpthread.a(ptw-open.o): In function `__open_nocancel':
(.text+0x56): undefined reference to `__syscall_error'
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libpthread.a(sigaction.o): In function `__libc_sigaction':
(.text+0x60): undefined reference to `_dl_sysinfo_dso'
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libpthread.a(sigaction.o): In function `sigaction':
(.text+0x19a): undefined reference to `_dl_sysinfo_dso'
collect2: ld returned 1 exit status
make: *** [lib/libThread.so] Error 1

gcc version 4.1.2 20080704 (Red Hat 4.1.2-50)

It seems to me that the problem appears to be due to trying to statically link “libpthread.a”.
For the moment I have no idea why it didn’t choose the shared version “libpthread.so”.
Maybe Philippe can say something about it.

Try to execute:
g++ -dumpspecs | grep pthread
Maybe the output will give any hint.
Try also:
locate libpthread

here it is…

fclopez@localhost ~]$ g++ -dumpspecs|grep pthread
%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}
%{pthread:-lpthread}    %{shared:-lc}    %{!shared:%{mieee-fp:-lieee} %{profile:-lc_p}%{!profile:-lc}}
 %{static: %{fmudflap|fmudflapth:  --wrap=malloc --wrap=free --wrap=calloc --wrap=realloc --wrap=mmap --wrap=munmap --wrap=alloca} %{fmudflapth: --wrap=pthread_create}} %{fmudflap|fmudflapth: --wrap=main}