Hi This still doesn't build for me:
> make x86 ... ... Generating Code... link /NOLOGO /DYNAMICBASE /NXCOMPAT /INCREMENTAL:NO /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='M icrosoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture ='*'" /MANIFEST:embed /OUT:release\pgAdmin4.exe @C:\Users\dpage\AppData\Local\Temp\nm5F51.tmp Qt5Core.lib(Qt5Core.dll) : fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86' NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN\link.EXE"' : return code '0x458' Stop. NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\nmake.exe"' : return code '0x2' Stop. Aborting build! "Preparing Creation of windows installer" cp: cannot create regular file `C:\\Users\\dpage\\Documents\\pgadmin4\\pkg\\win32\\win-build\\/C:\\Users\\dpage\\Documen ts\\pgadmin4\\pkg\\win32\\Resources\\pgAdmin4.ico': No such file or directory "C:\Program Files (x86)\Inno Setup 5\ISCC.exe" /q "C:\Users\dpage\Documents\pgadmin4\pkg\win32\installer.iss" Error on line 101 in C:\Users\dpage\Documents\pgadmin4\pkg\win32\installer.iss: Column 3: Semicolon (';') expected. Compile aborted. (note that the build doesn't abort). I then try a different QTDIR, this time a 32 bit one: link /NOLOGO /DYNAMICBASE /NXCOMPAT /INCREMENTAL:NO /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='M icrosoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture ='*'" /MANIFEST /MANIFESTFILE:release\pgAdmin4.exe.embed.manifest /OUT:release\pgAdmin4.exe @C:\Users\dpage\AppData\Loca l\Temp\nm1C68.tmp qtmain.lib(qtmain_win.obj) : error LNK2038: mismatch detected for '_MSC_VER': value '1700' doesn't match value '1800' in pgAdmin4.obj release\pgAdmin4.exe : fatal error LNK1319: 1 mismatches detected NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN\link.EXE"' : return code '0x527' Stop. NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\nmake.exe"' : return code '0x2' Stop. Aborting build! "Preparing Creation of windows installer" cp: cannot create regular file `C:\\Users\\dpage\\Documents\\pgadmin4\\pkg\\win32\\win-build\\/C:\\Users\\dpage\\Documen ts\\pgadmin4\\pkg\\win32\\Resources\\pgAdmin4.ico': No such file or directory "C:\Program Files (x86)\Inno Setup 5\ISCC.exe" /q "C:\Users\dpage\Documents\pgadmin4\pkg\win32\installer.iss" Error on line 101 in C:\Users\dpage\Documents\pgadmin4\pkg\win32\installer.iss: Column 3: Semicolon (';') expected. Compile aborted. If I then try a 64bit build: > make amd64 ... ... Generating Code... link /NOLOGO /DYNAMICBASE /NXCOMPAT /INCREMENTAL:NO /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='M icrosoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture ='*'" /MANIFEST:embed /OUT:release\pgAdmin4.exe @C:\Users\dpage\AppData\Local\Temp\nmF7B9.tmp Server.obj : error LNK2019: unresolved external symbol __imp_PyString_FromString referenced in function "public: __cdecl Server::Server(unsigned short)" (??0Server@@QEAA@G@Z) Server.obj : error LNK2019: unresolved external symbol __imp_PyList_Append referenced in function "public: __cdecl Serve r::Server(unsigned short)" (??0Server@@QEAA@G@Z) Server.obj : error LNK2019: unresolved external symbol __imp_PyFile_FromString referenced in function "protected: virtua l void __cdecl Server::run(void)" (?run@Server@@MEAAXXZ) Server.obj : error LNK2019: unresolved external symbol __imp_PyFile_AsFile referenced in function "protected: virtual vo id __cdecl Server::run(void)" (?run@Server@@MEAAXXZ) Server.obj : error LNK2019: unresolved external symbol __imp_Py_SetProgramName referenced in function "public: __cdecl S erver::Server(unsigned short)" (??0Server@@QEAA@G@Z) Server.obj : error LNK2019: unresolved external symbol __imp_Py_Initialize referenced in function "public: __cdecl Serve r::Server(unsigned short)" (??0Server@@QEAA@G@Z) Server.obj : error LNK2019: unresolved external symbol __imp_Py_Finalize referenced in function "public: virtual __cdecl Server::~Server(void)" (??1Server@@UEAA@XZ) Server.obj : error LNK2019: unresolved external symbol __imp_PyRun_SimpleStringFlags referenced in function "protected: virtual void __cdecl Server::run(void)" (?run@Server@@MEAAXXZ) Server.obj : error LNK2019: unresolved external symbol __imp_PyRun_SimpleFileExFlags referenced in function "protected: virtual void __cdecl Server::run(void)" (?run@Server@@MEAAXXZ) Server.obj : error LNK2019: unresolved external symbol __imp_PySys_GetObject referenced in function "public: __cdecl Ser ver::Server(unsigned short)" (??0Server@@QEAA@G@Z) Server.obj : error LNK2019: unresolved external symbol __imp_Py_NoSiteFlag referenced in function "public: __cdecl Serve r::Server(unsigned short)" (??0Server@@QEAA@G@Z) release\pgAdmin4.exe : fatal error LNK1120: 11 unresolved externals NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN\amd64\link.EXE"' : return code ' 0x460' Stop. NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\nmake.exe"' : return code '0x2' Stop. Aborting build! "Preparing Creation of windows installer" cp: cannot create regular file `C:\\Users\\dpage\\Documents\\pgadmin4\\pkg\\win32\\win-build\\/C:\\Users\\dpage\\Documen ts\\pgadmin4\\pkg\\win32\\Resources\\pgAdmin4.ico': No such file or directory "C:\Program Files (x86)\Inno Setup 5\ISCC.exe" /q "C:\Users\dpage\Documents\pgadmin4\pkg\win32\installer.iss" Error on line 101 in C:\Users\dpage\Documents\pgadmin4\pkg\win32\installer.iss: Column 3: Semicolon (';') expected. Compile aborted.On Mon, May 30, So, specific issues seen: - At least one of the default paths in make.bat is wrong - the one containing Syswow64 should contain a 32 bit library. - The 32 bit paths will certainly be wrong on 32 bit Windows. - Make.bat does not properly exit following errors. - Error handlers like setPythonDetails don't have appropriate names (maybe err_handle_python ?) - Error handlers like setPythonDetails display multiple errors at once, only one of may have been the actual problem. - Using SET in the batch script is modifying the environment of the parent shell (which I found earlier has probably wasted a lot of my time) - In general, it seems very fragile, and easy to break with different versions of tools being installed. Such issues should be checked for and warned about (e.g. if there is a 32/64 bit mismatch). - Shouldn't it be PGDIR, not PG_PATH? That's what I see being used elsewhere. - The installer build complains it cannot find the icon. - The installer build fails due to a syntax error in installer.iss. - Shouldn't the temp folders be in $SRC/win32-build to match what is done on Mac? - A number of tabs have crept back into Make.bat after I replaced them all with ' ' last time. - %wd is used in some places, %WD in others. Similar, rem vs. REM (the latter of which I standardised on last time) - The README is poorly formatted and doesn't make sense in a number of places. Rough update attached for review and further improvement. 2016 at 7:40 AM, Paresh More <paresh.m...@enterprisedb.com> wrote: > Hello Dave, > > Following things are also fixed in the patch as per discussed with sandeep. > > - added "MINIFY_HTML = False" to config_local.py > - win-build removed following a successful build > > Installer download link is: > > https://uploads.enterprisedb.com/download.php?file=3d9f8c2458e27a5a34ba8e942687f55f > > Attached is the updated patch. > > > > > On Fri, May 27, 2016 at 10:32 PM, Paresh More < > paresh.m...@enterprisedb.com> wrote: > >> Hello Dave, >> >> Make.bat usage is change to >> >> Make.bat x86 // It would generated 32 bit installer >> Make.bat adm64 // would generated 64 bit installer >> Make.bat clean // Will cleanup all output it creates in normal mode >> >> Now Make.bat would generated 32/64 installers as per selected. >> >> - Avoids trashing a pre-existing config_local.py, and creates a very >> simple one in the staging directory. >> DONE >> >> - Various tidy-ups of Make.bat. >> Tried to clean up code and added some information to the scripts >> >> - Change the default path to %ProgramFiles%\pgAdmin 4\v<major> (added the >> v, as <major> on it's own looks weird) >> DONE - Based on 32 bit or 64 bit it would install accordingly >> >> - Make.bat should take a "clean" parameter, to cleanup all output it >> creates in normal mode. >> DONE >> >> - The package name in the installer should be set from config.py as the >> version is. >> DONE >> >> psycopg2 issue is resolved. >> >> - As far as I can see, the Helpfiles are not built or bundled (talk to >> Sandeep about this) >> DONE - Helpfiles are added to installer >> >> - No Start Menu icon is created. >> DONE >> >> - Why is 3rd_party_licences.txt included? We don't need that. >> Removed it is not required >> >> - pkg/win32/installer.iss should be added to a .gitignore file. >> DONE >> >> - SplashScreen.bmp doesn't seem to be used (though it is referenced from >> the installer config file. >> Splashscreen would be now displayed during installation >> >> - Based on 32/64 python27.dll would be shipped >> >> - The Add/Remove Programs entry text should be: "pgAdmin 4 v1", thus >> allowing v1.1 to be a bug-fix release, and 2.0 to be the next major version. >> DONE >> >> - Any pre-existing pgadmin4.db is being shipped. >> DONE >> >> - Any pre-existing *.pyc files are being shipped. >> DONE >> >> I have tested on 32 bit machine only and its working fine, for 64 bit all >> changes are in place, Make.bat amd64 would generate the desired installers. >> >> >> Attached is the updated Patch. >> >> >> On Thu, May 26, 2016 at 7:13 PM, Dave Page <dp...@pgadmin.org> wrote: >> >>> Hi >>> >>> On Fri, May 20, 2016 at 9:33 AM, Paresh More < >>> paresh.m...@enterprisedb.com> wrote: >>> >>>> Hello Dave. >>>> >>>> Attached are two patch for pgAdmin4-windows >>>> >>>> pgAdmin4_createDB.patch >>>> - patch for pgAdmin4.py to autocreate database configuration if does >>>> not exist. >>>> - Now pgadmin.db would be not be bundled with installer, it would be >>>> created if pgAdmin4.py is executed for the first time. >>>> >>> >>> This is committed. >>> >>> >>>> >>>> *pgAdmin4_windows.patch* >>>> - Environment variables once set will over ride the existing script >>>> variables. >>>> - Issue related to path with quotes are removed. >>>> - New Readme.txt is added. >>>> - Modified Error reporting. >>>> - Python check was missing related to which requirement file it should >>>> pick for creating private environment based on python version is also >>>> fixed. >>>> >>> >>> Attached is an update to this patch, which modifies the following: >>> >>> - Avoids trashing a pre-existing config_local.py, and creates a very >>> simple one in the staging directory. >>> >>> - Various tidy-ups of Make.bat. >>> >>> - Change the default path to %ProgramFiles%\pgAdmin 4\v<major> (added >>> the v, as <major> on it's own looks weird) >>> >>> Please update further to address the following issues. I need this >>> completed ASAP, thanks: >>> >>> - Make.bat should take a "clean" parameter, to cleanup all output it >>> creates in normal mode. >>> >>> - The package name in the installer should be set from config.py as the >>> version is. >>> >>> - I see the following error: >>> >>> error: [Error 183] Cannot create a file when that file already exists: >>> 'build\\bdist.win32\\wheel\\importlib-1.0.3.data\\..' >>> >>> ---------------------------------------- >>> Failed building wheel for importlib >>> >>> - And the following error: >>> >>> C:\Users\dpage\AppData\Local\Programs\Common\Microsoft\Visual C++ for >>> Python\9.0\VC\Bin\link.exe /DLL /nologo /INCREMENTAL:NO >>> /LIBPATH:c:\python27\Libs >>> /LIBPATH:c:\users\dpage\documents\pgadmin4\pkg\win32\release\ve_python\libs >>> /LIBPATH:c:\users\dpage\documents\pgadmin4\pkg\win32\release\ve_python\PCbuild >>> /LIBPATH:c:\users\dpage\documents\pgadmin4\pkg\win32\release\ve_python\PC\VS9.0 >>> /LIBPATH:C:/PROGRA~1/PG/pg95/lib ws2_32.lib advapi32.lib secur32.lib >>> libpq.lib shfolder.lib >>> build\temp.win32-2.7\Release\psycopg\psycopgmodule.obj >>> build\temp.win32-2.7\Release\psycopg\green.obj >>> build\temp.win32-2.7\Release\psycopg\pqpath.obj >>> build\temp.win32-2.7\Release\psycopg\utils.obj >>> build\temp.win32-2.7\Release\psycopg\bytes_format.obj >>> build\temp.win32-2.7\Release\psycopg\connection_int.obj >>> build\temp.win32-2.7\Release\psycopg\connection_type.obj >>> build\temp.win32-2.7\Release\psycopg\cursor_int.obj >>> build\temp.win32-2.7\Release\psycopg\cursor_type.obj >>> build\temp.win32-2.7\Release\psycopg\diagnostics_type.obj >>> build\temp.win32-2.7\Release\psycopg\error_type.obj >>> build\temp.win32-2.7\Release\psycopg\lobject_int.obj >>> build\temp.win32-2.7\Release\psycopg\lobject_type.obj >>> build\temp.win32-2.7\Release\psycopg\notify_type.obj >>> build\temp.win32-2.7\Release\psycopg\xid_type.obj >>> build\temp.win32-2.7\Release\psycopg\adapter_asis.obj >>> build\temp.win32-2.7\Release\psycopg\adapter_binary.obj >>> build\temp.win32-2.7\Release\psycopg\adapter_datetime.obj >>> build\temp.win32-2.7\Release\psycopg\adapter_list.obj >>> build\temp.win32-2.7\Release\psycopg\adapter_pboolean.obj >>> build\temp.win32-2.7\Release\psycopg\adapter_pdecimal.obj >>> build\temp.win32-2.7\Release\psycopg\adapter_pint.obj >>> build\temp.win32-2.7\Release\psycopg\adapter_pfloat.obj >>> build\temp.win32-2.7\Release\psycopg\adapter_qstring.obj >>> build\temp.win32-2.7\Release\psycopg\microprotocols.obj >>> build\temp.win32-2.7\Release\psycopg\microprotocols_proto.obj >>> build\temp.win32-2.7\Release\psycopg\typecast.obj >>> /OUT:build\lib.win32-2.7\psycopg2\_psycopg.pyd >>> /IMPLIB:build\temp.win32-2.7\Release\psycopg\_psycopg.lib >>> /MANIFESTFILE:build\temp.win32-2.7\Release\psycopg\_psycopg.pyd.manifest >>> LINK : fatal error LNK1181: cannot open input file 'libpq.lib' >>> error: command >>> 'C:\\Users\\dpage\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ >>> for Python\\9.0\\VC\\Bin\\link.exe' failed with exit status 1181 >>> >>> ---------------------------------------- >>> Failed building wheel for psycopg2 >>> >>> %PGDIR% is set to: C:/Program Files (x86)/PostgreSQL/9.5, but note >>> that /LIBPATH is including "C:/PROGRA~1/PG/pg95/lib". >>> >>> - As far as I can see, the Helpfiles are not built or bundled (talk to >>> Sandeep about this) >>> >>> - No Start Menu icon is created. >>> >>> - Why is 3rd_party_licences.txt included? We don't need that. >>> >>> - pkg/win32/installer.iss should be added to a .gitignore file. >>> >>> - SplashScreen.bmp doesn't seem to be used (though it is referenced from >>> the installer config file. >>> >>> - Running the app fails with the following (I suspect because of the >>> psycopg2 issue above): >>> >>> --------------------------- >>> Setup >>> --------------------------- >>> Unable to execute file: >>> C:\Program Files (x86)\pgAdmin 4\v1\runtime\pgAdmin4.exe >>> >>> CreateProcess failed; code 2. >>> The system cannot find the file specified. >>> --------------------------- >>> OK >>> --------------------------- >>> >>> The only file in that directory is python27.dll. This is probably caused >>> by this: >>> >>> fatal error LNK1112: module machine type 'x64' conflicts with target >>> machine type 'X86' >>> >>> - The Add/Remove Programs entry text should be: "pgAdmin 4 v1", thus >>> allowing v1.1 to be a bug-fix release, and 2.0 to be the next major version. >>> >>> - Any pre-existing pgadmin4.db is being shipped. >>> >>> - Any pre-existing *.pyc files are being shipped. >>> >>> -- >>> Dave Page >>> Blog: http://pgsnake.blogspot.com >>> Twitter: @pgsnake >>> >>> EnterpriseDB UK: http://www.enterprisedb.com >>> The Enterprise PostgreSQL Company >>> >> >> >> >> -- >> >> Thanks & Regards >> >> *Paresh More* >> >> [image: NEW-EDB-logo-4c] >> >> Pune, India. >> Cell : +919922000564 | www.enterprisedb.com >> > > > > -- > > Thanks & Regards > > *Paresh More* > > [image: NEW-EDB-logo-4c] > > Pune, India. > Cell : +919922000564 | www.enterprisedb.com > -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company
pgAdmin 4 ========= Prerequisites ------------- To generate a pgAdmin 4 installer for Windows bit, the following packages must be installed: - QT 4.6 or above (older versions may work, but haven't been tested). - Python 2.6 or above. - Inno Tool Version 5.5.8 and Above - Microsoft visual studio (2013) The following environment variables may be defined to override defaults in the build script (Make.bat): INNOTOOL, VCDIR, PYTHON_HOME, PYTHON_DLL, QTDIR, PG_PATH The default settings are equivalent to (on x86): SET "PYTHON_HOME=C:\Python27" SET "PYTHON_DLL=C:\Windows\System32\python27.dll" SET "QTDIR=C:\Qt\Qt5.5.1\5.5\msvc2013" SET "PG_PATH=C:\Program Files (x86)\PostgreSQL\9.5" Or on x86_64: SET "PYTHON_HOME=C:\Python27-x64" SET "PYTHON_DLL=C:\Windows\SysWOW64\python27.dll" SET "QTDIR=C:\Qt-x64\Qt5.5.1\5.5\msvc2013" SET "PG_PATH=C:\Program Files\PostgreSQL\9.5" Plus, on either architecture: SET "INNOTOOL=C:\Program Files (x86)\Inno Setup 5” SET "VCDIR=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC" How to build ------------ $ cd <PGADMIN4_SRC> $ Make.bat x86|amd64|clean This will generate pgAdmin4<APP_RELEASE>.<minor><suffix>.exe in the PGADMIN4_SRC/dist folder. The APP_RELEASE, minor and suffix version details will be extracted from web/config.py and used to create the installer filename, for example: pgadmin4-1.0.0-dev.exe Side-by-side installations of APP_RELEASE versions of pgAdmin are allowed, so an installation directory of: "C:\Program Files (x86)\pgAdmin 4\" (for x86) would actually install into C:\Program Files (x86)\pgAdmin 4\<APP_RELEASE> e.g. "C:\Program Files (x86)\pgAdmin 4\v1\"
-- Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgadmin-hackers