Clipper On Line • Ver Tópico - Harbour 3.4 Clang compilador padrão

Harbour 3.4 Clang compilador padrão

Projeto Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

 

Harbour 3.4 Clang compilador padrão

Mensagempor JoséQuintas » 11 Out 2017 09:57

Informação do Viktor:

clang supported by 3.4 needs to be installed via MSYS2, just
like mingw. That clang is _fully compatible_ with mingw. So much
so that they both use the same linker, CRTL and Windows SDK
headers. In fact hbmk2 will allow to use mingw Harbour binaries
with clang and vice versa. This and more info in ChangeLog.txt
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18150
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Harbour 3.4 Clang compilador padrão

Mensagempor asimoes » 11 Out 2017 13:59

Quem conseguir gerar o harbour com clang, informa aqui como faz.
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Harbour 3.4 Clang compilador padrão

Mensagempor RobertoLinux » 13 Out 2017 11:26

Bom dia.

Nobre colegas, compilei o Harbour 3.4 com o clang no ambiente MSYS2 em um Windows 7 32 BITS.

Usei as dicas do Vicktor que estão em package/RELNOTES.md.

Mas tem uma coisa, para setar o PATH usei o comando a seguir ...

export PATH=/c/msys32/mingw32/bin:$PATH

time make clean
time make

export HB_INSTALL_PREFIX=/c/hb34

time make install

Felicidades.
Entusiasta
Avatar de usuário

RobertoLinux
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 110
Data de registro: 14 Abr 2014 18:32
Cidade/Estado: Fortaleza/Ce
Curtiu: 7 vezes
Mens.Curtidas: 6 vezes

Harbour 3.4 Clang compilador padrão

Mensagempor RobertoLinux » 13 Out 2017 16:25

Complementando a informação anterior ...

Também deu certo gerar o Harbour 3.4 via prompt de comando.

Se alguém quiser alguma informação estamos aqui pra ajudar.

Felicidades.
Entusiasta
Avatar de usuário

RobertoLinux
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 110
Data de registro: 14 Abr 2014 18:32
Cidade/Estado: Fortaleza/Ce
Curtiu: 7 vezes
Mens.Curtidas: 6 vezes

Harbour 3.4 Clang compilador padrão

Mensagempor JoséQuintas » 13 Out 2017 17:12

A propósito... esquecemos de um detalhe...

ASimões
O Harbour 3.4 tem pronto pra baixar.
A partir daí, é baixar o que falta nele, pelo menos já consegue testar direto.
E a partir daí, vai poder gerar do zero.
Pelo menos pode confirmar uma coisa de cada vez.

Outra coisa: talvez -rebuild
Como mencionei, é o equivalente a 2 LIBs, e se a compilação incremental deixar uma sem reconstruir, é onde vai dar falta de função, mesmo estando com a DLL correta.

Andar atualizado tem o lado bom e o lado ruim.
Mas se neste caso o problema foi sair nova versão de openssl pra correção de bugs, não dá pra deixar de atualizar.

Aqui eu tenho o trabalho em D:
Os HDs E e F são backups de D:
Se um novo Harbour não funciona, eu apenas copio de volta de E: ou F:
Mas faz tempo que não acontece isso....
Ou trocar o compilador C, mesma coisa.
Assim tá tudo sempre pronto pra uso, seja o novo ou o velho.... rs

Tem outra opção também interessante: backup no próprio GitHub.
No GitHub cria um fork em seu nome.
Usa somente o fork na sua máquina.
Quando quiser atualizar: git pull EndereçoOficial

Deu certo, ok, salva no seu fork: git push
Deu errado... ok, anula as atualizações: git reset --hard HEAD

Seu GitHub vai ser apenas uma cópia do oficial, sem nada extra, apenas vai estar parado no que estiver usando, e só vai ser atualizado quando você quiser.
Um backup nas nuvens do seu Harbour.....
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18150
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Harbour 3.4 Clang compilador padrão

Mensagempor rossine » 15 Out 2017 18:24

Boa noite,

Usando este set, eu consegui gerar o harbour:

set HB_COMPILER=mingw


...mas com este ocorre erro:

set HB_COMPILER=clang


Alguém conseguiu gerar o harbour usando esta opção "cLang" ?

Obrigado,
Rossine.

Harbour 3.4, MingW / Msvc, QT, Qt5xhb, GtQtc, DbfCdx, MySql/MariaDB.
rossine
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 313
Data de registro: 06 Ago 2007 09:57
Cidade/Estado: Divinópolis-MG
Curtiu: 1 vez
Mens.Curtidas: 21 vezes

Harbour 3.4 Clang compilador padrão

Mensagempor rossine » 15 Out 2017 20:39

Olá,

Um detalhe. Usando a configuração abaixo a lib hbmisc não está sendo gerada.

set HB_COMPILER=mingw
Rossine.

Harbour 3.4, MingW / Msvc, QT, Qt5xhb, GtQtc, DbfCdx, MySql/MariaDB.
rossine
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 313
Data de registro: 06 Ago 2007 09:57
Cidade/Estado: Divinópolis-MG
Curtiu: 1 vez
Mens.Curtidas: 21 vezes

Harbour 3.4 Clang compilador padrão

Mensagempor JoséQuintas » 15 Out 2017 21:28

Só por curiosidade, hoje olhei o tamanho das pastas:

 compilador  tamanho 
 BCC 32 bits  51MB 
 MINGW HB 3.2  464MB 
 MINGW 7.1(32/64 bits)  500MB 
 MSVC 2010  300MB 
 MSYS MINGW 32/64 bits  2.5GB 


Estou estranhando a última.
Pode explicar o uso de BCC pra onde a internet é problema.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18150
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Harbour 3.4 Clang compilador padrão

Mensagempor Claudio Soto » 15 Out 2017 22:52

No se las nuevas versiones de bcc, pero la clásica de HMG Ex bcc 5.5 es un compilador muy desactualizado, muchas de las cosas que desarrolle con gcc para HMG oficial requieren un trabajo muy laborioso para compilar con bcc porque muchas funciones del api de Windows no estan implementadas y hay que crear toda la interface manualmente para llamarlas.

Desde mi punto de vista el bcc55 y mantener la compatibilidad con versiones de Windows anteriores al xp limitan mucho el desarrollo de HMG Ex. Además muchas cosas nuevas se incluyen en los demos pero no en el núcleo, eso genera una gran repetición de código y mucho trabajo para mantener actualizado.
Saludos.
Dr. Claudio Soto
(Uruguay)
http://srvet.blogspot.com
Avatar de usuário

Claudio Soto
Colaborador

Colaborador
 
Mensagens: 555
Data de registro: 27 Ago 2012 12:31
Cidade/Estado: Uruguay
Curtiu: 35 vezes
Mens.Curtidas: 166 vezes

Harbour 3.4 Clang compilador padrão

Mensagempor rossine » 16 Out 2017 09:46

Olá,

Pelo que estou vendo esta versão de compilador usa o tal "pcre2" e mingw v0602.

Alguém saberia me dizer o que é o tal "pcre" e "pcre2" e se tem alguma vantagem de um para outro ?

Obrigado,
Rossine.

Harbour 3.4, MingW / Msvc, QT, Qt5xhb, GtQtc, DbfCdx, MySql/MariaDB.
rossine
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 313
Data de registro: 06 Ago 2007 09:57
Cidade/Estado: Divinópolis-MG
Curtiu: 1 vez
Mens.Curtidas: 21 vezes

Harbour 3.4 Clang compilador padrão

Mensagempor rossine » 16 Out 2017 12:16

Olá,

Baixei hoje a última release do harbour 3.4 e agora gerou a lib "hbmisc"

Lembrando que gerei o harbour através deste SET:

set HB_COMPILER=mingw


O UPX chiou, aí tive que incluir na sintaxe a diretiva "--force"

C:\>upx teste.exe --compress-exports=0 --lzma
                       Ultimate Packer for eXecutables
                          Copyright (C) 1996 - 2017
UPX 3.94w       Markus Oberhumer, Laszlo Molnar & John Reiser   May 12th 2017

        File size         Ratio      Format      Name
   --------------------   ------   -----------   -----------
upx: teste.exe: CantPackException: superfluous data between sections (try --force)

Packed 1 file: 0 ok, 1 error.

C:\>upx teste.exe --compress-exports=0 --lzma --force
                       Ultimate Packer for eXecutables
                          Copyright (C) 1996 - 2017
UPX 3.94w       Markus Oberhumer, Laszlo Molnar & John Reiser   May 12th 2017

        File size         Ratio      Format      Name
   --------------------   ------   -----------   -----------
   7589376 ->   1377792   18.15%    win32/pe     teste.exe

Packed 1 file.


Sigo nos testes.
Rossine.

Harbour 3.4, MingW / Msvc, QT, Qt5xhb, GtQtc, DbfCdx, MySql/MariaDB.
rossine
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 313
Data de registro: 06 Ago 2007 09:57
Cidade/Estado: Divinópolis-MG
Curtiu: 1 vez
Mens.Curtidas: 21 vezes

Harbour 3.4 Clang compilador padrão

Mensagempor Claudio Soto » 16 Out 2017 15:45

rossine escreveu:Olá,

Pelo que estou vendo esta versão de compilador usa o tal "pcre2" e mingw v0602.

Alguém saberia me dizer o que é o tal "pcre" e "pcre2" e se tem alguma vantagem de um para outro ?

Obrigado,


Ver este link
https://www.pcre.org/
Saludos.
Dr. Claudio Soto
(Uruguay)
http://srvet.blogspot.com
Avatar de usuário

Claudio Soto
Colaborador

Colaborador
 
Mensagens: 555
Data de registro: 27 Ago 2012 12:31
Cidade/Estado: Uruguay
Curtiu: 35 vezes
Mens.Curtidas: 166 vezes

Harbour 3.4 Clang compilador padrão

Mensagempor JoséQuintas » 16 Out 2017 20:38

Por coincidência, abri uma versão do Harbour 3.0 hoje.
Não é novidade.

pcre.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18150
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Harbour 3.4 Clang compilador padrão

Mensagempor asimoes » 18 Out 2017 15:42

Prezados,

Tentei gerar o harbour com clang, seguindo o readme.md usando MSYS2 mas falha a compilação

Compilando Harbour 32 fork GCC 7.1.0 rev 2 clang
! Building Harbour 3.4.0dev from source
! MAKE: mingw32-make 4.1.90 'C:/Program Files/Git/bin/sh.exe'
! HB_INSTALL_PREFIX: C:\HB32FORK7102
! HB_HOST_PLAT: win (x86_64)  HB_SHELL: nt
! HB_PLATFORM: win (x86) (auto-detected)
! HB_COMPILER: clang (v0308)
! Component: 'zlib' found in C:/Projetos_GIT/harbour-fork/src/3rd/zlib (local)
! Component: 'pcre2' found in C:/Projetos_GIT/harbour-fork/src/3rd/pcre2 (local)
! Component: 'gpm' not supported on win platform
! Component: 's-lang' not found. Configure with HB_WITH_SLANG.
! Component: 'curses' not found. Configure with HB_WITH_CURSES.
! Component: 'x11' not found. Configure with HB_WITH_X11.
! Component: 'wattcp/watt-32' not supported on win platform
! Source code: 12475f4 master https://github.com/vszakats/harbour-core.git
mingw32-make[1]: Nothing to be done for 'all'.
mingw32-make[1]: Nothing to be done for 'all'.
! 'hbdossrl' library skipped (platform or compiler not supported)
clang -I. -I../../../../../../include -c -D_FORTIFY_SOURCE=2 -Wmissing-braces -Wreturn-type -Wformat -Wimplicit-int -Wimplicit-function-declaration -O3 -DUNICODE -IC:/Projetos_GIT/harbour-fork/src/3rd/zlib -DPNG_NO_STDIO -opng.o ../../../png.c
#0 0x06aa323b
#1 0x0303dfc0
#2 0x00e054a1 (C:\msys64\mingw32\bin\clang.exe+0xa054a1)
#3 0x77582eea RtlAllocateHeap (C:\WINDOWS\SYSTEM32\ntdll.dll+0x42eea)
#4 0x77582dfe RtlAllocateHeap (C:\WINDOWS\SYSTEM32\ntdll.dll+0x42dfe)
#5 0x74ae72c0 malloc (C:\WINDOWS\System32\msvcrt.dll+0x472c0)
#6 0x6fefae7a (C:\msys64\mingw32\bin\libstdc++-6.dll+0xbae7a)
#7 0x77582dfe RtlAllocateHeap (C:\WINDOWS\SYSTEM32\ntdll.dll+0x42dfe)
#8 0x021d0c1d (C:\msys64\mingw32\bin\clang.exe+0x1dd0c1d)
#9 0x6fefae7a (C:\msys64\mingw32\bin\libstdc++-6.dll+0xbae7a)
clang.exe: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 3.8.0 (tags/RELEASE_380/final)
Target: i686-w64-windows-gnu
Thread model: posix
InstalledDir: C:\msys64\mingw32\bin
clang.exe: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
clang.exe: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang.exe: note: diagnostic msg: C:\Users\ALEXAN~1\AppData\Local\Temp\png-f110cf.c
clang.exe: note: diagnostic msg: C:\Users\ALEXAN~1\AppData\Local\Temp\png-f110cf.sh
clang.exe: note: diagnostic msg:

********************
../../../../../../config/rules.mk:98: recipe for target 'png.o' failed
mingw32-make[4]: *** [png.o] Error 1
../../../config/lib.mk:70: recipe for target 'descend' failed
mingw32-make[3]: *** [descend] Error 2
../../config/dir.mk:71: recipe for target 'png' failed
mingw32-make[2]: *** [png] Error 2
../config/dir.mk:71: recipe for target '3rd' failed
mingw32-make[1]: *** [3rd] Error 2
config/dir.mk:71: recipe for target 'src' failed
mingw32-make: *** [src] Error 2
Fim da compilaþÒo
Pressione qualquer tecla para continuar. . .
â–ºHarbour 3.x | Minigui xx-x | HwGuiâ—„
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar de usuário

asimoes
Colaborador

Colaborador
 
Mensagens: 4919
Data de registro: 26 Abr 2007 16:48
Cidade/Estado: RIO DE JANEIRO-RJ
Curtiu: 341 vezes
Mens.Curtidas: 258 vezes

Harbour 3.4 Clang compilador padrão

Mensagempor rossine » 18 Out 2017 16:30

Olá alexandre,

Este erro aconteceu comigo também. O Viktor me disse que tem que completar a instalação do MSYS2 de acordo com o site do MSYS2.

Veja este link: https://github.com/vszakats/harbour-core/issues/323

Como eu fiz, entrei no shell do MSYS2 e digitei: (Segui os passos deste link) http://www.msys2.org/

pacman -Syu


Depois de fazer isto eu consegui gerar a versão usando o clang 5.0 mas deram vários "warnings". Não sei de ontem pra hoje o Viktor corrigiu estas mensagens.
Rossine.

Harbour 3.4, MingW / Msvc, QT, Qt5xhb, GtQtc, DbfCdx, MySql/MariaDB.
rossine
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 313
Data de registro: 06 Ago 2007 09:57
Cidade/Estado: Divinópolis-MG
Curtiu: 1 vez
Mens.Curtidas: 21 vezes

Anterior Próximo



Retornar para Harbour

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 8 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro