Making libraries in current version

Source code related resources

Moderator: Rathinagiri

Carlos Britos
Posts: 245
Joined: Sat Aug 02, 2008 5:03 pm

Re: Making libraries in current version

Post by Carlos Britos »

kcarmody wrote: Mon Nov 02, 2020 1:57 pm Thanks, it's good to know. Have you tested this? It calls BuildAllLib32.bat, which I have already shown is broken.
Yes it was tested, You can see the workflow and log here:
https://github.com/asistex/HMG/runs/131 ... focus=true
kcarmody wrote: Mon Nov 02, 2020 1:57 pm Even if it does work, it still is not a solution to the problems I first reported. The Harbour binaries would still be in the wrong place, and Mingw would be missing from the distribution.
Take a look here to see differents scripts to:
- Build Harbour binaries
- All hmg libraries with hmg tree folder and harbour included
- Lib hmg.a with hmg tree folder

https://github.com/asistex/HMG/tree/master/workflows
You can build harbour binaries and hmg
Also there is a zip with harbour binaries already compiled.

download the artifact zip file and check the structure of folders with harbour

mingw binaries can be added to the package but in my opinion they should be downloaded independently. The size of the zip exceeds 500 MB and it is not justified to download the same thing repeatedly. But this is just my humble opinion
(edited to change 120 to 500 MB)
kcarmody wrote: Mon Nov 02, 2020 1:57 pm All of these issues need to be fixed in the master.
It would be good if the maintainers of the HMG master would use a procedure like this on the master. Then everyone would have the binaries and would not need to compile the libraries themselves.
Yes, this must be done in hgm-official.
Last edited by Carlos Britos on Mon Nov 02, 2020 3:28 pm, edited 1 time in total.
Regards/Saludos, Carlos (bcd12a)
Carlos Britos
Posts: 245
Joined: Sat Aug 02, 2008 5:03 pm

Re: Making libraries in current version

Post by Carlos Britos »

The harbour dir structure in the artifact zip file is the same as in the HMG-official because it was merged from there.
The correct structure of harbour binaries is in the zip. Not added yet to the hmg - offficial

https://github.com/asistex/HMG/tree/master/workflows
Regards/Saludos, Carlos (bcd12a)
User avatar
kcarmody
Posts: 152
Joined: Tue Oct 07, 2014 11:13 am
Contact:

Re: Making libraries in current version

Post by kcarmody »

Carlos Britos wrote: Mon Nov 02, 2020 3:03 pm
kcarmody wrote: Mon Nov 02, 2020 1:57 pm Thanks, it's good to know. Have you tested this? It calls BuildAllLib32.bat, which I have already shown is broken.
Yes it was tested, You can see the workflow and log here:
https://github.com/asistex/HMG/runs/131 ... focus=true
Thanks, I see that the batch files worked in that log, but they definitely do not work on a local drive with the current distribution. There must be some secret.
Carlos Britos wrote: Mon Nov 02, 2020 3:03 pmmingw binaries can be added to the package but in my opinion they should be downloaded independently. The size of the zip exceeds 500 MB and it is not justified to download the same thing repeatedly.
But that's just what we used to do all the time. It takes longer to download, but that's easier than multiple downloads and rebuilding everything yourself.

Where are you getting this figure of 500 MB? I don't have the setup executable for HMG verison 3.4.4, but the setup executable for 3.4.3 is only 67 MB, and it includes compiled HMG libraries, compiled Harbour binaries, and Mingw binaries.
Carlos Britos
Posts: 245
Joined: Sat Aug 02, 2008 5:03 pm

Re: Making libraries in current version

Post by Carlos Britos »

kcarmody wrote: Mon Nov 02, 2020 4:49 pm Where are you getting this figure of 500 MB?
Depends on which version of mingw we use.

These are the size of some Ziped files

314,706,684 mingw101_MelSmith.zip
313,721,209 mingw102_winlibs_com.zip
480,690,497 mingw81_linares.zip

I don`t know the size unziped
Regards/Saludos, Carlos (bcd12a)
User avatar
kcarmody
Posts: 152
Joined: Tue Oct 07, 2014 11:13 am
Contact:

Re: Making libraries in current version

Post by kcarmody »

Carlos Britos wrote: Mon Nov 02, 2020 10:05 pm
kcarmody wrote: Mon Nov 02, 2020 4:49 pm Where are you getting this figure of 500 MB?
Depends on which version of mingw we use.

These are the size of some Ziped files

314,706,684 mingw101_MelSmith.zip
313,721,209 mingw102_winlibs_com.zip
480,690,497 mingw81_linares.zip

I don`t know the size unziped
I think this is a good reason to avoid using these downloads. In HMG, the unzipped size of the MINGW branch is 300MB. As I said before, this, along with the Harbour binaries, HMG binaries, HMG source code, and demos, fits within a 67 MB executable. Keep it small and within HMG!
User avatar
kcarmody
Posts: 152
Joined: Tue Oct 07, 2014 11:13 am
Contact:

Re: Making libraries in current version

Post by kcarmody »

Thank you, Mustafa, it does still work. I had to try it several times and wait while Google tried to virus scan it.

HMG has a Google Sites home page at https://sites.google.com/site/hmgweb/ , which links to a download page https://sites.google.com/site/hmgweb/download . The download page links to the HMG SourceForge page https://sourceforge.net/projects/hmg/ , which lets you download 3.4.3. It does not have a link for 3.4.4.

Who has access to update these pages? I think this should be updated to 3.4.4. I don't think it should be updated to the Github version until we add HMG, Harbour, and Mingw binaries in places that work, namely the same places they were in 3.4.4.

I didn't notice this before, but every HMG forum page has a link at the top "Download HMG" that takes you to http://hmgforum.com/app.php/download , which links to the Google Drive page where you can download 3.4.4. This should also be updated to Github when it has binaries in places that work.
User avatar
Rathinagiri
Posts: 5471
Joined: Tue Jul 29, 2008 6:30 pm
DBs Used: MariaDB, SQLite, SQLCipher and MySQL
Location: Sivakasi, India
Contact:

Re: Making libraries in current version

Post by Rathinagiri »

Using the help provided in this topic, I have created a new package of HMG. It is updated in the download page of HMG also.

By this way, I think contributors to the source code can contribute to HMG in GIT and we shall make updated monthly versions as a bundle.
East or West HMG is the Best.
South or North HMG is worth.
...the possibilities are endless.
Carlos Britos
Posts: 245
Joined: Sat Aug 02, 2008 5:03 pm

Re: Making libraries in current version

Post by Carlos Britos »

Hi
Rathinagiri

The hmg35 package has some problems.

- There is an error in the file:
h_hmg_pdf.prg, was recorded with utf-8 with BOM which generates harbour error.

I'm not a hbmk2 user, if someone knows how to get the errorlevel at the time of creation the libraries could leave a message to correct the .yml workflow files so github/actions can intercept the compilation errors.

- The harbour package installed on github hmg official is not the right one, it has .lib (msvc) libraries.
It should be replaced by the compressed one in the workflow folder that you are compiling with on github.

https://github.com/asistex/hmg_tools_co ... _10_27.zip

I can make a pull request with these changes if you agree.

Carlos
Regards/Saludos, Carlos (bcd12a)
User avatar
kcarmody
Posts: 152
Joined: Tue Oct 07, 2014 11:13 am
Contact:

Re: Making libraries in current version

Post by kcarmody »

Carlos Britos wrote: Sun Nov 15, 2020 4:51 pm- There is an error in the file:
h_hmg_pdf.prg, was recorded with utf-8 with BOM which generates harbour error.

- The harbour package installed on github hmg official is not the right one, it has .lib (msvc) libraries.
It should be replaced by the compressed one in the workflow folder that you are compiling with on github.

I can make a pull request with these changes if you agree.
The BOM error is in h_HMG_HPDF.Prg. There is no h_hmg_pdf.prg. There were two BOMs in this file. The second BOM gives the compile error you mentioned. The first BOM is ignored and is not necessary. Harbour assumes all umarked input files to be UTF-8.

Another problem is in SAMPLES\Basics\Hello_World\hello.prg. This demo is very important because it is often the first prg that someone new to HMG compiles. It should therefore be as simple and obvious as possible. Any "Hello world" program should display "Hello world", but the version in current release does not. Instead it changes the title of the window from "Hello world" to hb_gtVersion(), which displays as "NUL". This version of the demo also added REQUEST HB_GT_NUL_DEFAULT to the top with a comment "remove the console window in back", but the REQUEST does not actually do this. The console window comes from build.bat waiting for the demo to exit, not from the demo itself. This demo should be reverted to what we had in 3.4.4, which is a simple program that correctly displays "Hello world".

Harbour, MinGW, and the IDE should all be reverted to what we had in 3.4.4. The lib folder should contain all the current compiled HMG libraries, as it did in 3.4.4.

I am now developing another release that will address all these issues. Carlos, please wait for this release. It will only be another day or two. Thanks!

Kevin
Carlos Britos
Posts: 245
Joined: Sat Aug 02, 2008 5:03 pm

Re: Making libraries in current version

Post by Carlos Britos »

kcarmody wrote: Sun Nov 15, 2020 7:03 pm Another problem is in SAMPLES\Basics\Hello_World\hello.prg. This demo is very important because it is often the first prg that someone new to HMG compiles. It should therefore be as simple and obvious as possible. Any "Hello world" program should display "Hello world", but the version in current release does not. Instead it changes the title of the window from "Hello world" to hb_gtVersion(), which displays as "NUL". This version of the demo also added REQUEST HB_GT_NUL_DEFAULT to the top with a comment "remove the console window in back", but the REQUEST does not actually do this. The console window comes from build.bat waiting for the demo to exit, not from the demo itself. This demo should be reverted to what we had in 3.4.4, which is a simple program that correctly displays "Hello world".

Harbour, MinGW, and the IDE should all be reverted to what we had in 3.4.4. The lib folder should contain all the current compiled HMG libraries, as it did in 3.4.4.

Kevin
the hello.prg was my mistake to push it. I forget to uncheck it.
I am now developing another release that will address all these issues. Carlos, please wait for this release. It will only be another day or two. Thanks!
ok
Regards/Saludos, Carlos (bcd12a)
Post Reply