Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1b7kwy-0007qH-Jc for pgadmin-hackers@arkaria.postgresql.org; Tue, 31 May 2016 14:47:20 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1b7kwy-0004Y7-5L for pgadmin-hackers@arkaria.postgresql.org; Tue, 31 May 2016 14:47:20 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1b7kwx-0004Y0-1R for pgadmin-hackers@postgresql.org; Tue, 31 May 2016 14:47:19 +0000 Received: from mail-it0-x235.google.com ([2607:f8b0:4001:c0b::235]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1b7kwo-0004Aa-N5 for pgadmin-hackers@postgresql.org; Tue, 31 May 2016 14:47:18 +0000 Received: by mail-it0-x235.google.com with SMTP id z123so53476176itg.0 for ; Tue, 31 May 2016 07:47:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pgadmin-org.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=HTykixfEJKI8OjXO+Eu1TZq+aLoUJYEWhvsV9+9BaEg=; b=MY1gFy4NINJG/SlhiNunOJwQ/UIHhgKXfMBJICZRF1G70zwIjXNpjeQRorLk8sQ0Qb yXuqTWf8Ogwaspz6ek4WZ+1yQAB+esnRn8E5+h6AFtWwjJeLZT1t7FmnHTDbzNJKETld Xz+sSHZMm9PIbLo+FxhS/3Iy1/0L6385p8h5zQDh209e/D0ZTCqeTWlX6vkCs6++cvVc TKTcR3igkDqGRi+RmaYG6B5k+Q5GlKd8K1aAzTAMI/9LOg9Cy4mnJVKHrnqnVcb1lET4 rjnICZLggmTRaX5mvljgF6VHQOXt8Z3yGgxkw+RYigbAAIySc2YQ5GA3ZV8i47wJh6OA zPng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc; bh=HTykixfEJKI8OjXO+Eu1TZq+aLoUJYEWhvsV9+9BaEg=; b=gQ7xR1DY7YwyuEzNLWPZhUhcwlbks4zB04gI7xfHM3HvgRXn20za6+0nvT/q6HwM/J FUlh7DlzvwuKnki81JVJNVcp6iiYGMt6x1IKQf5vPkyIR0+5ipa5bOP8xwtgYzN4m8FJ lfnMKf90RappUzR4F/mHlcn+eMv7tReF68URGKlfOkJaN8TcJ0fHc2wXYwBp+K5/uBNg zaMxrHjBly2b7PqorLUgDujDXXZgAYHP7I8qpfL2RvVfcwpr7RARC8lXtEqT9zUVhtht hqklB7z7MGONOTXDk7lx1ilm6NXNrApTj/IyZUUSM0lXt1FVCSyvEu6HzZMXKx+RE1iY XQpA== X-Gm-Message-State: ALyK8tISSPnvVN2SC7lR5KXay4DZ3uHbBf9AqDz/mDH6ePaczuBUfLVddVPK5csv/8cNCAHLIL5jLbEu1+Qrig== MIME-Version: 1.0 X-Received: by 10.36.1.144 with SMTP id 138mr12689110itk.35.1464706028802; Tue, 31 May 2016 07:47:08 -0700 (PDT) Received: by 10.64.236.101 with HTTP; Tue, 31 May 2016 07:47:08 -0700 (PDT) In-Reply-To: References: Date: Tue, 31 May 2016 15:47:08 +0100 Message-ID: Subject: Re: PATCH: pgAdmin4 windows installer From: Dave Page To: Paresh More Cc: pgadmin-hackers , Sandeep Thakkar , Hamid Quddus Content-Type: multipart/alternative; boundary=001a1143d4548c50ee0534247273 X-Pg-Spam-Score: -1.5 (-) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgadmin-hackers Precedence: bulk Sender: pgadmin-hackers-owner@postgresql.org --001a1143d4548c50ee0534247273 Content-Type: text/plain; charset=UTF-8 Oh - in addition, pgadmin4.db is being shipped. On Tue, May 31, 2016 at 3:04 PM, Dave Page wrote: > 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 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.more@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 (added >>> the v, as 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 wrote: >>> >>>> Hi >>>> >>>> On Fri, May 20, 2016 at 9:33 AM, Paresh More < >>>> paresh.more@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 (added >>>> the v, as 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 > -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company --001a1143d4548c50ee0534247273 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Oh - in addition, pgadmin4.db is being shipped.

On Tue, May 31, 2016 a= t 3:04 PM, Dave Page <dpage@pgadmin.org> wrote:
Hi

This still doe= sn't build for me:

> make x86
...=
...

Generating Co= de...
=C2=A0 =C2=A0 =C2=A0 =C2=A0 link /NOLOGO /DYNAMICBASE /NXCO= MPAT /INCREMENTAL:NO /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type=3D&#= 39;win32' name=3D'M
icrosoft.Windows.Common-Controls'= version=3D'6.0.0.0' publicKeyToken=3D'6595b64144ccf1df' la= nguage=3D'*' processorArchitecture
=3D'*'&= quot; /MANIFEST:embed /OUT:release\pgAdmin4.exe @C:\Users\dpage\AppData\Loc= al\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 Visu= al 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 Fil= es (x86)\Inno Setup 5\ISCC.exe" /q "C:\Users\dpage\Documents\pgad= min4\pkg\win32\installer.iss"
Error on line 101 in C:\Users\= dpage\Documents\pgadmin4\pkg\win32\installer.iss: Column 3:
Semic= olon (';') expected.
Compile aborted.

(note that the build doesn't abort). I then try a different QTDIR= , this time a 32 bit one:

= =C2=A0 =C2=A0 =C2=A0 =C2=A0 link /NOLOGO /DYNAMICBASE /NXCOMPAT /INCREMENTA= L:NO /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type=3D'win32' na= me=3D'M
icrosoft.Windows.Common-Controls' version=3D'= 6.0.0.0' publicKeyToken=3D'6595b64144ccf1df' language=3D'*&= #39; processorArchitecture
=3D'*'" /MANIFEST /MANIFE= STFILE:release\pgAdmin4.exe.embed.manifest /OUT:release\pgAdmin4.exe @C:\Us= ers\dpage\AppData\Loca
l\Temp\nm1C68.tmp
qtmain.= lib(qtmain_win.obj) : error LNK2038: mismatch detected for '_MSC_VER= 9;: value '1700' doesn't match value '1800' in
=C2=A0pgAdmin4.obj
release\pgAdmin4.exe : fatal error LNK1319: = 1 mismatches detected
NMAKE : fatal error U1077: '"C:\Pr= ogram Files (x86)\Microsoft Visual Studio 12.0\VC\BIN\link.EXE"' := return code '0x527'

Stop= .
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Mi= crosoft Visual Studio 12.0\VC\bin\nmake.exe"' : return code '0= x2'
Stop.

Aborting build!
"Preparing Creation of windows installer"
cp: ca= nnot 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\Do= cuments\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 C= ode...
=C2=A0 =C2=A0 =C2=A0 =C2=A0 link /NO= LOGO /DYNAMICBASE /NXCOMPAT /INCREMENTAL:NO /SUBSYSTEM:WINDOWS "/MANIF= ESTDEPENDENCY:type=3D'win32' name=3D'M
icrosoft.Windows.Common-Controls' version=3D'6.0.0.0' p= ublicKeyToken=3D'6595b64144ccf1df' language=3D'*' processor= Architecture
=3D'*'" /M= ANIFEST:embed /OUT:release\pgAdmin4.exe @C:\Users\dpage\AppData\Local\Temp\= nmF7B9.tmp
Server.obj : error LNK2019: unre= solved external symbol __imp_PyString_FromString referenced in function &qu= ot;public: __cdecl
=C2=A0Server::Server(uns= igned short)" (??0Server@@QEAA@G@Z)
Se= rver.obj : error LNK2019: unresolved external symbol __imp_PyList_Append re= ferenced in function "public: __cdecl Serve
r::Server(unsigned short)" (??0Server@@QEAA@G@Z)
Server.obj : error LNK2019: unresolved external symbol __i= mp_PyFile_FromString referenced in function "protected: virtua
l void __cdecl Server::run(void)" (?run@Serve= r@@MEAAXXZ)
Server.obj : error LNK2019: unr= esolved external symbol __imp_PyFile_AsFile referenced in function "pr= otected: virtual vo
id __cdecl Server::run(= void)" (?run@Server@@MEAAXXZ)
Server.o= bj : error LNK2019: unresolved external symbol __imp_Py_SetProgramName refe= renced in function "public: __cdecl S
= erver::Server(unsigned short)" (??0Server@@QEAA@G@Z)
Server.obj : error LNK2019: unresolved external symbol __i= mp_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: virt= ual __cdecl
=C2=A0Server::~Server(void)&quo= t; (??1Server@@UEAA@XZ)
Server.obj : error = LNK2019: unresolved external symbol __imp_PyRun_SimpleStringFlags reference= d in function "protected:
virtual void= __cdecl Server::run(void)" (?run@Server@@MEAAXXZ)
Server.obj : error LNK2019: unresolved external symbol __imp_P= yRun_SimpleFileExFlags referenced in function "protected:
virtual void __cdecl Server::run(void)" (?run@Serv= er@@MEAAXXZ)
Server.obj : error LNK2019: un= resolved external symbol __imp_PySys_GetObject referenced in function "= ;public: __cdecl Ser
ver::Server(unsigned s= hort)" (??0Server@@QEAA@G@Z)
Server.ob= j : error LNK2019: unresolved external symbol __imp_Py_NoSiteFlag reference= d in function "public: __cdecl Serve
r= ::Server(unsigned short)" (??0Server@@QEAA@G@Z)
release\pgAdmin4.exe : fatal error LNK1120: 11 unresolved externa= ls
NMAKE : fatal error U1077: '"C:= \Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN\amd64\link.EXE&quo= t;' : return code '
0x460'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Micros= oft Visual Studio 12.0\VC\bin\nmake.exe"' : return code '0x2&#= 39;
Stop.
<= br>
Aborting build!
"Preparing Creation of windows installer"
<= div class=3D"gmail_extra">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\D= ocuments\pgadmin4\pkg\win32\installer.iss"
Error on line 101 in C:\Users\dpage\Documents\pgadmin4\pkg\win32\insta= ller.iss: Column 3:
Semicolon (';')= expected.
Compile aborted.On Mon, May 30,= =C2=A0

So, specific issues seen:

- At least one of the default paths in make.bat is wro= ng - the one containing Syswow64 should contain a 32 bit library.

- The 32 bit pa= ths will certainly be wrong on 32 bit Windows.

- Make.bat does not properly exit = following errors.

- Error handlers like=C2=A0setPythonDetails don't have appr= opriate names (maybe err_handle_python ?)
<= br>
- Error handlers like=C2=A0setPythonDet= ails 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 pare= nt shell (which I found earlier has probably wasted a lot of my time)
=

- In genera= l, it seems very fragile, and easy to break with different versions of tool= s 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? Tha= t's what I see being used elsewhere.
- The installer build complains it canno= t find the icon.

- The installer build fails due to a syntax error in installer.i= ss.

- = 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 a= ll with ' =C2=A0 =C2=A0' last time.

- %wd is used in some places, %WD in = others. Similar, rem vs. REM (the latter of which I standardised on last ti= me)

- = The README is poorly formatted and doesn't make sense in a number of pl= aces. Rough update attached for review and further improvement.
<= div class=3D"h5">

2016 at 7:40 AM, Paresh More <paresh.more@enterprisedb.co= m> wrote:
Hello Dave,
Following things are also fixed in the patch as per discus= sed with sandeep.

- added "MINIFY_HTML =3D False" to config_local.py=C2=A0<= br>
- win-build removed followin= g a successful build


Attached is the updated patch.




On Fri, May 27, 2016 at 10:32 PM, Paresh More <paresh.more@enterprisedb.com> wrote:
=
Hello Dave,

Make.bat u= sage is change to=C2=A0

Make.bat x86 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= // It would generated 32 bit installer
Make.bat adm64 =C2=A0 =C2=A0 // would generated 64 bit installer
Make.bat clean =C2=A0 =C2=A0 =C2=A0 // Will=C2= =A0cleanup all output it creates in normal= mode

Now Make.bat would generated 32/64 installers as per selecte= d.

- Avoids trashi= ng a pre-existing config_local.py, and creates a very simple one in the sta= ging 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> (adde= d the v, as <major> on it's own looks weird)
DONE - Based on 32 bit or 64 bit it would install a= ccordingly =C2=A0

- Make.bat sho= uld take a "clean" parameter, to cleanup all output it creates in= normal mode.
D= ONE

- The package name in the installer shou= ld be set from config.py as the version is.
DONE

=C2=A0 psycopg2 issue is r= esolved.
=C2=A0=C2=A0
- As far as I can see, the Helpfiles are not built or bund= led (talk to Sandeep about this)
DONE - Helpfil= es are added to installer

- No Start Menu ic= on is created.
DONE

- Why i= s 3rd_party_licences.txt included? We don't need that.
Removed it is not required

- pkg/win32/inst= aller.iss should be added to a .gitignore file.
DONE
=

- SplashScreen.bmp doesn't seem to be used (t= hough it is referenced from the installer config file.
Spl= ashscreen 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-f= ix release, and 2.0 to be the next major version.
DONE

- Any pre-existing pgadmin4.db is be= ing 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 update= d Patch.


On Thu, May 26, 2016 at 7:13 PM, Dave Pag= e <dpage@pgadmin.org> wrote:
Hi

On Fri, May 20, 2016 at 9:33 AM, Paresh More <paresh.more@ente= rprisedb.com> wrote:
Hel= lo Dave.

Attached are two patch for pgAdmin4-windows=C2= =A0

pgAdmin4_createDB.pa= tch
- patch for= =C2=A0pgAdmin4.py to autocreate database configuration if does not exist.= =C2=A0
- Now pgadmin.db would be not be=C2=A0bundled= =C2=A0with installer, it would be created if pgAdmin4.py is executed for th= e first time.

<= div>This is committed.
=C2=A0

pgAdmin4_windows.patch
- Environment variables once set will over ride the existing script v= ariables.
- Issue related to path with quotes are removed.
<= div>- New Readme.txt is added.
- Modified Error reporting.
<= div>- 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:

- Avo= ids trashing a pre-existing config_local.py, and creates a very simple one = in the staging directory.

- Various tidy-ups of Ma= ke.bat.

- Change the default path to %ProgramFiles= %\pgAdmin 4\v<major> (added the v, as <major> on it's own l= ooks weird)

Please update further to address the f= ollowing issues. I need this completed ASAP, thanks:

- Make.bat should take a "clean" parameter, to cleanup al= l 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:

= =C2=A0 error: [Error 183] Cannot create a file when that file already exist= s: 'build\\bdist.win32\\wheel\\importlib-1.0.3.data\\..'
=
=C2=A0 ----------------------------------------
= =C2=A0 Failed building wheel for importlib
=C2=A0=C2=A0
- And the following error:

=C2=A0 C:\Users\dpage\= AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\li= nk.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:c:\python27\Libs /LIBPATH:c:\u= sers\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 /LI= BPATH: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\psyco= pg\pqpath.obj build\temp.win32-2.7\Release\psycopg\utils.obj build\temp.win= 32-2.7\Release\psycopg\bytes_format.obj build\temp.win32-2.7\Release\psycop= g\connection_int.obj build\temp.win32-2.7\Release\psycopg\connection_type.o= bj 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\diagn= ostics_type.obj build\temp.win32-2.7\Release\psycopg\error_type.obj build\t= emp.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.o= bj build\temp.win32-2.7\Release\psycopg\xid_type.obj build\temp.win32-2.7\R= elease\psycopg\adapter_asis.obj build\temp.win32-2.7\Release\psycopg\adapte= r_binary.obj build\temp.win32-2.7\Release\psycopg\adapter_datetime.obj buil= d\temp.win32-2.7\Release\psycopg\adapter_list.obj build\temp.win32-2.7\Rele= ase\psycopg\adapter_pboolean.obj build\temp.win32-2.7\Release\psycopg\adapt= er_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\Rel= ease\psycopg\adapter_qstring.obj build\temp.win32-2.7\Release\psycopg\micro= protocols.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\_psycop= g.lib /MANIFESTFILE:build\temp.win32-2.7\Release\psycopg\_psycopg.pyd.manif= est
=C2=A0 LINK : fatal error LNK1181: cannot open input file = 9;libpq.lib'
=C2=A0 error: command 'C:\\Users\\dpage\\App= Data\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\B= in\\link.exe' failed with exit status 1181

=C2= =A0 ----------------------------------------
=C2=A0 Failed buildi= ng wheel for psycopg2
=C2=A0=C2=A0
=C2=A0 %PGDIR% is se= t to: C:/Program Files (x86)/PostgreSQL/9.5, but note that /LIBPATH is incl= uding "C:/PROGRA~1/PG/pg95/lib".
=C2=A0=C2=A0
- As far as I can see, the Helpfiles are not built or bundled (talk to San= deep about this)

- No Start Menu icon is created.<= /div>

- Why is 3rd_party_licences.txt included? We don&#= 39;t need that.

- pkg/win32/installer.iss should b= e added to a .gitignore file.

- SplashScreen.bmp d= oesn't seem to be used (though it is referenced from the installer conf= ig file.

- Running the app fails with the followin= g (I suspect because of the psycopg2 issue above):

---------------------------
Setup
--------------------= -------
Unable to execute file:
C:\Program Files (x86)\= pgAdmin 4\v1\runtime\pgAdmin4.exe

CreateProcess fa= iled; code 2.
The system cannot find the file specified.
---------------------------
OK =C2=A0=C2=A0
---------= ------------------

The only file in that directory= is python27.dll. This is probably caused by this:

fatal error LNK1112: module machine type 'x64' conflicts with targ= et machine type 'X86'

- The Add/Remove Pro= grams 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.

<= /div>
- Any pre-existing *.pyc files are being shipped.

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twi= tter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise Pos= tgreSQL Company



-= -

Thanks & Regards

Paresh More

3D"NEW-EDB-logo-4c"

Pune, India.




--

Thanks & Regards

Paresh More

3D"NEW-=

Pune, India.




--
=
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

Enterpri= seDB UK: http://w= ww.enterprisedb.com
The Enterprise PostgreSQL Company



--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake=

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Compan= y
--001a1143d4548c50ee0534247273--