Tuesday, June 20, 2017

Building pgModeler

Building pgModeler

This apply to version 0.9.0 and Windows OS. Read first installer instruction on https://pgmodeler.com.br/support/installation; this just adding some clarifications, the instructions (mainly related to QT paths) are a little bit “confused”.

Download and install the prerequisites

Be sure to:

  • Download 32 bits versions for all prerequisites
  • Install them in paths without spaces, like D:\PostgreSQL32\9.6

Qt framework

Download the MingW32 bits version from http://download.qt.io/archive/qt/5.6/5.6.2/qt-opensource-windows-x86-mingw492–5.6.2.exe

Install it in default location; otherwise change the paths below accordingly.

Add C:/Qt/Qt5.6.2/Tools/mingw492_32/bin to system path; at some point the make process will invoke g++ and will not find it otherwise.

PostgreSQL

Download from EnterpriseDB the 32 bits version and install it in D:\PostgreSQL32; otherwise change the paths below accordingly.

If you already have a 64 bits version installed be sure to go services and stop/disable the 32 bits service.

Git

Install Git as instructed

Run the build

Download source code from https://github.com/pgmodeler/pgmodeler.git (watch out the path: no spaces…). Check-out version 0.9.0

Change the pgmodeler.pri acordingly:

windows {
  !defined(PGSQL_LIB, var): PGSQL_LIB = "D:/PostgreSQL32/9.6/lib/libpq.dll"
  !defined(PGSQL_INC, var): PGSQL_INC = "D:/PostgreSQL32/9.6/include"
  !defined(XML_INC, var): XML_INC = "D:/PostgreSQL32/9.6/include"
  !defined(XML_LIB, var): XML_LIB = "D:/PostgreSQL32/9.6/bin/libxml2.dll"
...

Start bash from a command window in pgmodeler directory.

At the command prompt run the commands:

C:/Qt/Qt5.6.2/5.6/mingw49_32/bin/qmake.exe pgmodeler.pro
C:/Qt/Qt5.6.2/Tools/mingw492_32/bin/mingw32-make.exe
C:/Qt/Qt5.6.2/Tools/mingw492_32/bin/mingw32-make.exe  install
cd build
C:/Qt/Qt5.6.2/5.6/mingw49_32/bin/windeployqt pgmodeler.exe

Please be patient, it might take more than 30 minutes…

In order to run build\pgmodeler.exe you have to copy in several libraries from:

  • C:/Qt/Qt5.6.2/5.6/mingw49_32/bin:
    • Qt5*.dll.
  • D:/PostgreSQL32/9.6/
    • lib/libpq.dll
    • bin/libxml2.dll

Now run build\pgmodeler.exe…fingers cross!

PGgxIGlkPSJidWlsZGluZ3BnbW9kZWxlciI+QnVpbGRpbmcgcGdNb2RlbGVyPC9oMT4NCg0K PHA+VGhpcyBhcHBseSB0byB2ZXJzaW9uIDAuOS4wIGFuZCBXaW5kb3dzIE9TLiBSZWFkIGZp cnN0IGluc3RhbGxlciBpbnN0cnVjdGlvbiBvbiA8YSBocmVmPSJodHRwczovL3BnbW9kZWxl ci5jb20uYnIvc3VwcG9ydC9pbnN0YWxsYXRpb24iPmh0dHBzOi8vcGdtb2RlbGVyLmNvbS5i ci9zdXBwb3J0L2luc3RhbGxhdGlvbjwvYT47IHRoaXMganVzdCBhZGRpbmcgc29tZSBjbGFy aWZpY2F0aW9ucywgdGhlIGluc3RydWN0aW9ucyAobWFpbmx5IHJlbGF0ZWQgdG8gUVQgcGF0 aHMpIGFyZSBhIGxpdHRsZSBiaXQgJiM4MjIwO2NvbmZ1c2VkJiM4MjIxOy48L3A+DQoNCjxo MiBpZD0iZG93bmxvYWRhbmRpbnN0YWxsdGhlcHJlcmVxdWlzaXRlcyI+RG93bmxvYWQgYW5k IGluc3RhbGwgdGhlIHByZXJlcXVpc2l0ZXM8L2gyPg0KDQo8cD5CZSBzdXJlIHRvOjwvcD4N Cg0KPHVsPg0KPGxpPkRvd25sb2FkIDMyIGJpdHMgdmVyc2lvbnMgZm9yIGFsbCBwcmVyZXF1 aXNpdGVzPC9saT4NCjxsaT5JbnN0YWxsIHRoZW0gaW4gcGF0aHMgd2l0aG91dCBzcGFjZXMs IGxpa2UgPGNvZGU+RDpcUG9zdGdyZVNRTDMyXDkuNjwvY29kZT48L2xpPg0KPC91bD4NCg0K PGgzIGlkPSJxdGZyYW1ld29yayI+UXQgZnJhbWV3b3JrPC9oMz4NCg0KPHA+RG93bmxvYWQg dGhlIE1pbmdXMzIgYml0cyB2ZXJzaW9uIGZyb20gPGEgaHJlZj0iaHR0cDovL2Rvd25sb2Fk LnF0LmlvL2FyY2hpdmUvcXQvNS42LzUuNi4yL3F0LW9wZW5zb3VyY2Utd2luZG93cy14ODYt bWluZ3c0OTItNS42LjIuZXhlIj5odHRwOi8vZG93bmxvYWQucXQuaW8vYXJjaGl2ZS9xdC81 LjYvNS42LjIvcXQtb3BlbnNvdXJjZS13aW5kb3dzLXg4Ni1taW5ndzQ5MiYjODIxMTs1LjYu Mi5leGU8L2E+IDwvcD4NCg0KPHA+SW5zdGFsbCBpdCBpbiBkZWZhdWx0IGxvY2F0aW9uOyBv dGhlcndpc2UgY2hhbmdlIHRoZSBwYXRocyBiZWxvdyBhY2NvcmRpbmdseS48L3A+DQoNCjxw PkFkZCA8Y29kZT5DOi9RdC9RdDUuNi4yL1Rvb2xzL21pbmd3NDkyXzMyL2JpbjwvY29kZT4g dG8gc3lzdGVtIHBhdGg7IGF0IHNvbWUgcG9pbnQgdGhlIG1ha2UgcHJvY2VzcyB3aWxsIGlu dm9rZSA8Y29kZT5nKys8L2NvZGU+IGFuZCB3aWxsIG5vdCBmaW5kIGl0IG90aGVyd2lzZS48 L3A+DQoNCjxoMyBpZD0icG9zdGdyZXNxbCI+UG9zdGdyZVNRTDwvaDM+DQoNCjxwPkRvd25s b2FkIGZyb20gRW50ZXJwcmlzZURCIHRoZSAzMiBiaXRzIHZlcnNpb24gYW5kIGluc3RhbGwg aXQgaW4gPGNvZGU+RDpcUG9zdGdyZVNRTDMyPC9jb2RlPjsgb3RoZXJ3aXNlIGNoYW5nZSB0 aGUgcGF0aHMgYmVsb3cgYWNjb3JkaW5nbHkuPC9wPg0KDQo8cD5JZiB5b3UgYWxyZWFkeSBo YXZlIGEgNjQgYml0cyB2ZXJzaW9uIGluc3RhbGxlZCBiZSBzdXJlIHRvIGdvIHNlcnZpY2Vz IGFuZCBzdG9wL2Rpc2FibGUgdGhlIDMyIGJpdHMgc2VydmljZS48L3A+DQoNCjxoMyBpZD0i Z2l0Ij5HaXQ8L2gzPg0KDQo8cD5JbnN0YWxsIEdpdCBhcyBpbnN0cnVjdGVkPC9wPg0KDQo8 aDIgaWQ9InJ1bnRoZWJ1aWxkIj5SdW4gdGhlIGJ1aWxkPC9oMj4NCg0KPHA+RG93bmxvYWQg c291cmNlIGNvZGUgZnJvbSA8Y29kZT5odHRwczovL2dpdGh1Yi5jb20vcGdtb2RlbGVyL3Bn bW9kZWxlci5naXQ8L2NvZGU+ICh3YXRjaCBvdXQgdGhlIHBhdGg6IG5vIHNwYWNlcyYjODIz MDspLiBDaGVjay1vdXQgdmVyc2lvbiAwLjkuMCA8L3A+DQoNCjxwPkNoYW5nZSB0aGUgPGNv ZGU+cGdtb2RlbGVyLnByaTwvY29kZT4gYWNvcmRpbmdseTo8L3A+DQoNCjxwcmU+PGNvZGU+ d2luZG93cyB7DQogICFkZWZpbmVkKFBHU1FMX0xJQiwgdmFyKTogUEdTUUxfTElCID0gJnF1 b3Q7RDovUG9zdGdyZVNRTDMyLzkuNi9saWIvbGlicHEuZGxsJnF1b3Q7DQogICFkZWZpbmVk KFBHU1FMX0lOQywgdmFyKTogUEdTUUxfSU5DID0gJnF1b3Q7RDovUG9zdGdyZVNRTDMyLzku Ni9pbmNsdWRlJnF1b3Q7DQogICFkZWZpbmVkKFhNTF9JTkMsIHZhcik6IFhNTF9JTkMgPSAm cXVvdDtEOi9Qb3N0Z3JlU1FMMzIvOS42L2luY2x1ZGUmcXVvdDsNCiAgIWRlZmluZWQoWE1M X0xJQiwgdmFyKTogWE1MX0xJQiA9ICZxdW90O0Q6L1Bvc3RncmVTUUwzMi85LjYvYmluL2xp YnhtbDIuZGxsJnF1b3Q7DQouLi4NCjwvY29kZT48L3ByZT4NCg0KPHA+U3RhcnQgPGNvZGU+ YmFzaDwvY29kZT4gZnJvbSBhIGNvbW1hbmQgd2luZG93IGluIDxzdHJvbmc+cGdtb2RlbGVy PC9zdHJvbmc+IGRpcmVjdG9yeS48L3A+DQoNCjxwPkF0IHRoZSBjb21tYW5kIHByb21wdCBy dW4gdGhlIGNvbW1hbmRzOjwvcD4NCg0KPHByZT48Y29kZT5DOi9RdC9RdDUuNi4yLzUuNi9t aW5ndzQ5XzMyL2Jpbi9xbWFrZS5leGUgcGdtb2RlbGVyLnBybw0KQzovUXQvUXQ1LjYuMi9U b29scy9taW5ndzQ5Ml8zMi9iaW4vbWluZ3czMi1tYWtlLmV4ZQ0KQzovUXQvUXQ1LjYuMi9U b29scy9taW5ndzQ5Ml8zMi9iaW4vbWluZ3czMi1tYWtlLmV4ZSAgaW5zdGFsbA0KY2QgYnVp bGQNCkM6L1F0L1F0NS42LjIvNS42L21pbmd3NDlfMzIvYmluL3dpbmRlcGxveXF0IHBnbW9k ZWxlci5leGUNCjwvY29kZT48L3ByZT4NCg0KPHA+UGxlYXNlIGJlIHBhdGllbnQsIGl0IG1p Z2h0IHRha2UgbW9yZSB0aGFuIDMwIG1pbnV0ZXMmIzgyMzA7PC9wPg0KDQo8cD5JbiBvcmRl ciB0byBydW4gPGNvZGU+YnVpbGRccGdtb2RlbGVyLmV4ZTwvY29kZT4geW91IGhhdmUgdG8g Y29weSBpbiBzZXZlcmFsIGxpYnJhcmllcyBmcm9tOjwvcD4NCg0KPHVsPg0KPGxpPkM6L1F0 L1F0NS42LjIvNS42L21pbmd3NDlfMzIvYmluOg0KDQo8dWw+DQo8bGk+UXQ1Ki5kbGwuPC9s aT4NCjwvdWw+PC9saT4NCjxsaT5EOi9Qb3N0Z3JlU1FMMzIvOS42Lw0KDQo8dWw+DQo8bGk+ bGliL2xpYnBxLmRsbDwvbGk+DQo8bGk+YmluL2xpYnhtbDIuZGxsPC9saT4NCjwvdWw+PC9s aT4NCjwvdWw+DQoNCjxwPk5vdyBydW4gPGNvZGU+YnVpbGRccGdtb2RlbGVyLmV4ZTwvY29k ZT4mIzgyMzA7ZmluZ2VycyBjcm9zcyE8L3A+DQo=

3 comments :

  1. During the build (mingw32-make execution) I had some errors :

    Makefile.Release:6665: recipe for target 'obj/baseobjectview.o' failed
    mingw32-make.exe[2]: *** [obj/baseobjectview.o] Error 1
    mingw32-make.exe[2]: Leaving directory 'D:/Ws/pgmodeler/libobjrenderer'
    Makefile:36: recipe for target 'release' failed
    mingw32-make.exe[1]: *** [release] Error 2
    mingw32-make.exe[1]: Leaving directory 'D:/Ws/pgmodeler/libobjrenderer'
    Makefile:220: recipe for target 'sub-libobjrenderer-make_first-ordered' failed
    mingw32-make.exe: *** [sub-libobjrenderer-make_first-ordered] Error 2

    Any idea ?

    ReplyDelete
  2. Any progress on this? I have the same error.

    ReplyDelete
  3. Here it works, but I had to copy all .dll of Postgree/bin to the build diretory;

    ReplyDelete