Página 2 de 3
Harbour 3.4 Clang compilador padrão
Enviado: 11 Out 2017 09:57
por JoséQuintas
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
Harbour 3.4 Clang compilador padrão
Enviado: 11 Out 2017 13:59
por asimoes
Quem conseguir gerar o harbour com clang, informa aqui como faz.
Harbour 3.4 Clang compilador padrão
Enviado: 13 Out 2017 11:26
por RobertoLinux
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.
Harbour 3.4 Clang compilador padrão
Enviado: 13 Out 2017 16:25
por RobertoLinux
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.
Harbour 3.4 Clang compilador padrão
Enviado: 13 Out 2017 17:12
por JoséQuintas
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.....
Harbour 3.4 Clang compilador padrão
Enviado: 15 Out 2017 19:24
por rossine
Boa noite,
Usando este set, eu consegui gerar o harbour:
...mas com este ocorre erro:
Alguém conseguiu gerar o harbour usando esta opção "cLang" ?
Obrigado,
Harbour 3.4 Clang compilador padrão
Enviado: 15 Out 2017 21:39
por rossine
Olá,
Um detalhe. Usando a configuração abaixo a lib hbmisc não está sendo gerada.
Harbour 3.4 Clang compilador padrão
Enviado: 15 Out 2017 22:28
por JoséQuintas
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.
Harbour 3.4 Clang compilador padrão
Enviado: 15 Out 2017 23:52
por Claudio Soto
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.
Harbour 3.4 Clang compilador padrão
Enviado: 16 Out 2017 10:46
por rossine
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,
Harbour 3.4 Clang compilador padrão
Enviado: 16 Out 2017 13:16
por rossine
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:
O UPX chiou, aí tive que incluir na sintaxe a diretiva "--force"
Código: Selecionar todos
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.
Harbour 3.4 Clang compilador padrão
Enviado: 16 Out 2017 16:45
por Claudio Soto
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/
Harbour 3.4 Clang compilador padrão
Enviado: 16 Out 2017 21:38
por JoséQuintas
Por coincidência, abri uma versão do Harbour 3.0 hoje.
Não é novidade.
Harbour 3.4 Clang compilador padrão
Enviado: 18 Out 2017 16:42
por asimoes
Prezados,
Tentei gerar o harbour com clang, seguindo o readme.md usando MSYS2 mas falha a compilação
Código: Selecionar todos
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.4 Clang compilador padrão
Enviado: 18 Out 2017 17:30
por rossine
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/
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.