I’m trying to build ROOT 5.28.00 on SunOS 5.10. I configure using:
and then get the following error from make:
CC -c -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -KPIC -DSUNCC -D__solaris__ -DSUNX86 -library=stlport4 -D_REENTRANT -mt -D_POSIX_PTHREAD_SEMANTICS -fast -xtarget=opteron -m64 -DXrdDEBUG=0 -DHAVE_FSTATAT -DHAVE_LIBZ -I. -I… -o …/…/obj/XrdSutPFile.o XrdSutPFile.cc
assertion failed in function ssa_rename_live_in_out() @ ssa.c:823
assert(NameStacks[reg_num] != NULL)
make: *** […/…/obj/XrdSutPFile.o] Error 154
make: *** [SunOSall] Error 2
make: *** [all] Error 2
make: *** [XrdSut] Error 2
make: *** [all] Error 2
make: Leaving directory `/users/mmottram/snocave/libraries/root-5.28.00/net/xrootd/src/xrootd’
*** Error condition reported by make (rc = 2):
make: *** [net/xrootd/src/xrootd/LastBuild.d] Error 1[/code]
I can’t see anything on the forums listing an XrdSutPFile error so have no idea what is causing the error, any ideas?
OK, so I managed to build ROOT now (when in doubt, use latest version!) But … although I use --enable-python when configuring, libPyROOT.so is not created upon making, so I’m unable to run python scripts that rely on pyroot. Any help?
where is python located on your system and does it have a libpython.so (or .a) or libpythonx.y.so (or .a; with x and y being the versions)?
python is in /opt/csw/bin/python
okay, those are indeed not standard locations known to the configure script. You’ll have to use --with-python-incdir=/path/to/location/of/Python.h and --with-python-libdir=/path/to/location/of/libpython2.6.so (not including the .h nor .so in the options) for it to pick up python. If it works, the configure script will report that the files are found and “python” will be listed at the bottom of the about as one of the enabled features.
There was no Python.h… So I’ve installed python2.7 locally, with libpython2.7.so and Python.h now present. But configuring with-python-libdir and with-python-incdir pointed in the right locations returns:
Checking for Python.h … /users/mmottram/python/install/include/python2.7/
Checking for python2.7, libpython2.7, libpython, python, or Python … no
… huh!? I’ve double checked, the libpython2.7.so (and libpython2.7.a) are both in the libdir (python and python2.7 binaries are in a different directory). The local build is definitely the one used (“which python” returns the correct directory) and python runs fine from the command line.
Also, the PATH points correctly to the python binary (both python2.7 and a symlink python are present in this directory), LD_LIBRARY_PATH contains PYTHONDIR/lib.
Looking at the config.log it would seem that the problem is that the libpython2.7.so is not 64-bit. I was under the impression that leaving configure to sort out how to configure the build on a given machine would give consistent results between python and root, I guess not! Now to work out how to get a 64 bit build from python…
Edit - it seems that all the libraries in my LD_LIBRARY_PATH are 32 bit, why is root trying to build as 64 bit and is there a way to build 32 bit?
I can’t seem to find a way around this! Building Python with --enable-univeral-archs=64-bit still gives a 32-bit library. All other libraries on the system are 32 bit also, but ROOT insists on building and searching for 64 bit libraries - I’m at a loss!
uname -a gives: SunOS … Generic_147441-07 i86pc i386 i86pc
anyone had the same problem?
myself, I’m not familiar with SunOS nor do I have access to such a box. Sorry. Perhaps starting a new topic with a more specific and descriptive title might attract attention of someone who does?