Re: Patches - Mailing list pgadmin-hackers
From | Sandeep Thakkar |
---|---|
Subject | Re: Patches |
Date | |
Msg-id | CANFyU943pY3N6sNL8F4Sv30rVABF3dPNtFVVcisG-afHSxzqUQ@mail.gmail.com Whole thread Raw |
In response to | Re: Patches (Dave Page <dpage@pgadmin.org>) |
Responses |
Re: Patches
|
List | pgadmin-hackers |
On Thu, Jun 16, 2016 at 3:19 PM, Dave Page <dpage@pgadmin.org> wrote:
On Thu, Jun 16, 2016 at 8:51 AM, Sandeep Thakkar
<sandeep.thakkar@enterprisedb.com> wrote:
> Hi,
>
> I created virtual environment and tried building pgadmin on my Mac with
> Python 3.3 and QT 5.5. I observed that in venv, the python3-config is copied
> as python-config. Therefore, it's required to change pgAdmin4.pro to handle
> this. With the existing .pro, it does not find the python3-config and
> assumes it is Python2 and throws the following build error:
> --
> Server.cpp:36:5: error: no matching function for call to 'Py_SetProgramName'
> Py_SetProgramName(PGA_APP_NAME.toUtf8().data());
>
> /mnt/hgfs/pginstaller.pune/server/source/pgadmin.osx/mac-build/venv/include/python3.3m/pythonrun.h:25:18:
> note: candidate function not viable: no known conversion from 'char *' to
> 'wchar_t *' for 1st
>
> argument
>
> PyAPI_FUNC(void) Py_SetProgramName(wchar_t *);
> --
>
> I have attached the patch (pgadminpro.patch) to fix this.
Configuration and build fails for me with this:
yeah, the 'contains' function is trying to match the whole string. Replacing that line in the patch with "contains( LIBS, -lpython2.* )" should work fine.
Project MESSAGE: Building for QT5+...
Project MESSAGE: Configure pgAdmin4 to run in debug mode...
Project MESSAGE: Building for Linux/Mac...
/bin/sh: python3-config: command not found
/bin/sh: python3-config: command not found
/bin/sh: python3-config: command not found
Project MESSAGE: Python3 detected.
(pgadmin4)piranha:pgAdmin4 dpage$ which python-config
/usr/bin/python-config
(pgadmin4)piranha:pgAdmin4 dpage$ which python3-config
(pgadmin4)piranha:pgAdmin4 dpage$ locate python3-config
(pgadmin4)piranha:pgAdmin4 dpage$ python-config --libs
-lpython2.7 -ldl -framework CoreFoundation
Though - I also get some funky output without the patch (but, the
build succeeds):
Project MESSAGE: Building for QT5+...
Project MESSAGE: Configure pgAdmin4 to run in debug mode...
Project MESSAGE: Building for Linux/Mac...
/bin/sh: python3-config: command not found
/bin/sh: python3-config: command not found
/bin/sh: python3-config: command not found
> Another thing i observed is that in venv, the encodings directory in sym
> linked to the actual one on the system and hence the build fails with the
> following error:
> --
> Could not find platform independent libraries <prefix>
> Could not find platform dependent libraries <exec_prefix>
> Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
> Fatal Python error: Py_Initialize: unable to load the file system codec
> ImportError: No module named 'encodings'
> --
>
> I have attached the patch (pgadmin-macbuild.patch) to make sure the
> virtualenv for macbuild copies the required files instead of linking. In the
> same patch, I also modified the build script to not rename the actual
> directory of python in venv (as python libs may refer the actual directory)
> and instead create a sym link. There might be other way to fix this, but I
> found this to be easy. :)
This second patch breaks builds for me:
This is strange because I just added a new option "--always-copy" to virtualenv. What is your path to virtualenv? Could you please try running 'virtualenv -v --always-copy -p /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2 /tmp/venv'
PYTHON_HOME not set. Setting it to default
QTDIR not set. Setting it to default
PGDIR not set. Setting it to default
Cleaning up the old environment and app bundle
Running virtualenv with interpreter
/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/virtualenv.py", line 2311, in <module>
main()
File "/Library/Python/2.7/site-packages/virtualenv.py", line 703, in main
symlink=options.symlink)
File "/Library/Python/2.7/site-packages/virtualenv.py", line 916, in
create_environment
site_packages=site_packages, clear=clear, symlink=symlink))
File "/Library/Python/2.7/site-packages/virtualenv.py", line 1111,
in install_python
copyfile(join(stdlib_dir, fn), join(lib_dir, fn), symlink)
File "/Library/Python/2.7/site-packages/virtualenv.py", line 352, in copyfile
copyfileordir(src, dest, symlink)
File "/Library/Python/2.7/site-packages/virtualenv.py", line 324, in
copyfileordir
shutil.copytree(src, dest, symlink)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py",
line 208, in copytree
raise Error, errors
shutil.Error: [('/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config/config.c',
'/Users/dpage/git/pgadmin4/mac-build/venv/lib/python2.7/config/config.c',
"[Errno 1] Operation not permitted:
'/Users/dpage/git/pgadmin4/mac-build/venv/lib/python2.7/config/config.c'"),
('/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config/config.c.in',
'/Users/dpage/git/pgadmin4/mac-build/venv/lib/python2.7/config/config.c.in',
"[Errno 1] Operation not permitted:
'/Users/dpage/git/pgadmin4/mac-build/venv/lib/python2.7/config/config.c.in'"),
('/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config/install-sh',
'/Users/dpage/git/pgadmin4/mac-build/venv/lib/python2.7/config/install-sh',
"[Errno 1] Operation not permitted:
'/Users/dpage/git/pgadmin4/mac-build/venv/lib/python2.7/config/install-sh'"),
('/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config/libpython2.7.a',
'/Users/dpage/git/pgadmin4/mac-build/venv/lib/python2.7/config/libpython2.7.a',
"[Errno 1] Operation not permitted:
'/Users/dpage/git/pgadmin4/mac-build/venv/lib/python2.7/config/libpython2.7.a'"),
('/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config/libpython2.7.dylib',
'/Users/dpage/git/pgadmin4/mac-build/venv/lib/python2.7/config/libpython2.7.dylib',
"[Errno 1] Operation not permitted:
'/Users/dpage/git/pgadmin4/mac-build/venv/lib/python2.7/config/libpython2.7.dylib'"),
('/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config/Makefile',
'/Users/dpage/git/pgadmin4/mac-build/venv/lib/python2.7/config/Makefile',
"[Errno 1] Operation not permitted:
'/Users/dpage/git/pgadmin4/mac-build/venv/lib/python2.7/config/Makefile'"),
('/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config/makesetup',
'/Users/dpage/git/pgadmin4/mac-build/venv/lib/python2.7/config/makesetup',
"[Errno 1] Operation not permitted:
'/Users/dpage/git/pgadmin4/mac-build/venv/lib/python2.7/config/makesetup'"),
('/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config/python.o',
'/Users/dpage/git/pgadmin4/mac-build/venv/lib/python2.7/config/python.o',
"[Errno 1] Operation not permitted:
'/Users/dpage/git/pgadmin4/mac-build/venv/lib/python2.7/config/python.o'"),
('/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config/Setup',
'/Users/dpage/git/pgadmin4/mac-build/venv/lib/python2.7/config/Setup',
"[Errno 1] Operation not permitted:
'/Users/dpage/git/pgadmin4/mac-build/venv/lib/python2.7/config/Setup'"),
('/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config/Setup.config',
'/Users/dpage/git/pgadmin4/mac-build/venv/lib/python2.7/config/Setup.config',
"[Errno 1] Operation not permitted:
'/Users/dpage/git/pgadmin4/mac-build/venv/lib/python2.7/config/Setup.config'"),
('/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config/Setup.local',
'/Users/dpage/git/pgadmin4/mac-build/venv/lib/python2.7/config/Setup.local',
"[Errno 1] Operation not permitted:
'/Users/dpage/git/pgadmin4/mac-build/venv/lib/python2.7/config/Setup.local'"),
('/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config',
'/Users/dpage/git/pgadmin4/mac-build/venv/lib/python2.7/config',
"[Errno 1] Operation not permitted:
'/Users/dpage/git/pgadmin4/mac-build/venv/lib/python2.7/config'")]
make: *** [appbundle] Error 1
--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
Sandeep Thakkar
pgadmin-hackers by date: