Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 08 Oct 2012 22:02:23 +0400
From:      Ruslan Mahmatkhanov <cvs-src@yandex.ru>
To:        FreeBSD Ports Mailing List <ports@freebsd.org>, =?ISO-8859-1?Q?Alonso?= =?ISO-8859-1?Q?_C=E1rdenas_M=E1rquez?= <acm@FreeBSD.org>
Subject:   Difference in databases/firebird25-client built as root and as unprivileged user
Message-ID:  <5073152F.5060301@yandex.ru>

next in thread | raw e-mail | index | archive | help
Hello,

there is a native python binding for Firebird database:
http://people.freebsd.org/~rm/fdb-0.9.1.tgz

It is based on ports/172455 by Jose Jachuf. It builds just fine in 
tinderbox both with python2 and python3 but fails to build on a live 
system. The difference is that firebird25-client's (actually -server, 
because this is a slave port) Makefile has this lines in it:

.ifndef PACKAGE_BUILDING
        @if [ `${ID} -u` -eq 0 ]; then \
        ${ECHO_MSG} "==> Please do not build ${PORTNAME} as 'root' 
because this may cause conflicts with SysV semaphores of running 
services."; exit 1; fi
.endif

So, while being built in tinderbox this happens under root user, but 
with manual building from ports, it requires to build it as unprivileged 
user. In later case I've got this when trying to build the 
aforementioned python binding (py-fdb):

"""
===>  Configuring for py27-fdb-0.9.1
Traceback (most recent call last):
   File "setup.py", line 7, in <module>
     from fdb import __version__
   File 
"/usr/local/tinderbox/portstrees/FreeBSD/ports/databases/py-fdb/work/fdb-0.9.1/fdb/__init__.py", 
line 23, in <module>
     from fdb.fbcore import *
   File 
"/usr/local/tinderbox/portstrees/FreeBSD/ports/databases/py-fdb/work/fdb-0.9.1/fdb/fbcore.py", 
line 26, in <module>
     from . import ibase
   File 
"/usr/local/tinderbox/portstrees/FreeBSD/ports/databases/py-fdb/work/fdb-0.9.1/fdb/ibase.py", 
line 41, in <module>
     fb_library = CDLL(fb_library_name)
   File "/usr/local/lib/python2.7/ctypes/__init__.py", line 365, in __init__
     self._handle = _dlopen(self._name, mode)
OSError: /usr/local/lib/libfbclient.so.2: Undefined symbol 
"_ZTISt9bad_alloc"
*** [do-configure] Error code 1
"""

If I rebuild firebird25-client with those three lines commented out 
(with root privs), then this py-fdb port builds just fine. The question 
is - what the difference in privileged/unprivileged build may be, and 
what's proper way to fix this? Thanks.

-- 
Regards,
Ruslan

Tinderboxing kills... the drives.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5073152F.5060301>