Gerar o Harbour

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

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Gerar o Harbour

Mensagem por JoséQuintas »

Faz tempo que não consigo gerar o Harbour 3.4 na minha máquina.
Não sei porque, já que as ferramentas são sempre as mesmas.
Parece que ficam restos de uma geração pra outra, e uma vez testado outro compilador C, já era...
Acabo mantendo a última que foi gerada.

É esquisito isso.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Gerar o Harbour

Mensagem por JoséQuintas »

Resolvido:

Cancelando as atualizações após 2017 voltou a gerar.
No momento o Harbour 3.4 oficial não gera, mas cancelando alterações tudo bem.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Gerar o Harbour

Mensagem por JoséQuintas »

O erro, pra curiosidade.

Código: Selecionar todos

c:/msys64/mingw32/bin/../lib/gcc/i686-w64-mingw32/10.3.0/../../../../i686-w64-mingw32/bin/ld.exe: ../bin/win/mingw/.hbmk/hbdoc/_html.o:_html.c:(.data+0xa68): undefined reference to `HB_FUN_HB_DEF'
collect2.exe: error: ld returned 1 exit status
hbmk2 [hbdoc]: Error: Running linker. 1
hbmk2 [hbdoc]: Exit status: 7: failed in final assembly (linker or library manager)
! Finished rebuild and install...
mingw32-make[1]: *** [Makefile:8: install] Error 7
mingw32-make: *** [config/dir.mk:68: contrib.inst] Error 2
Error: Process completed with exit code 1.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Gerar o Harbour

Mensagem por JoséQuintas »

Resolvida essa questão....

Em maio voltou a existir a versão gcc tdm

https://jmeubank.github.io/tdm-gcc/download/
mingw.png
E usando essa versão:
jpa32.png
jpa64.png
Lógico, pra funcionar o JPA 32 ou 64 bits, é instalando ODBC MariaDB 32 ou 64 bits, a versão correspondente.
Lógico também.... como SefazClass é feita encima de MSXML5 e Capicom, ambos 32 bits, à primeira vista não vão funcionar com JPA 64 bits.

Mas é baixar os fontes do Harbour 3.4, CANCELAR as últimas atualizações, baixar o compilador C indicado, e gerar pra 32 e 64 bits.
A única parte chata é que o instalador do TDM é em Windows, não sei se vai funcionar instalação pelo prompt.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Gerar o Harbour

Mensagem por JoséQuintas »

git.png
Como cancelar atualizações:

Abre o GIT, visualizar repositório, vá até a atualização que interessa, clique da direita, reset main branch to here.
Pronto.
A pasta de fontes vai retornar à posição que estava nessa atualização.
Daí é só gerar, 32 e/ou 64 bits.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Valdir
Usuário Nível 1
Usuário Nível 1
Mensagens: 9
Registrado em: 02 Abr 2021 18:26
Localização: Curitiba

Gerar o Harbour

Mensagem por Valdir »

Olá José Quintas.
Só pra registrar, tenho instalado na máquina o Linux Cinnamon e por várias vezes fiz o procedimento que o Vlademiro descreve no seu manual pra instalação do Harbour em Linux e sempre funcionou. Há alguns dias tive de formatar a máquina e quando fui instalat o Harbour, aconteceu o mesmo problema que você relatou acima. Veja a mensagem que apresenta no final da execução do comando make:

make HB_WITH_PGSQL=/usr/include/postgresql/libpq HB_WITH_MYSQL=/usr/include/mysql
...

/harbour-core/bin/linux/gcc/hbmk2 -lang=en -quiet -width=0 -autohbm- @../config/hbpre -inc ./hbxpp/hbxpp.hbp @../config/hbpost
/harbour-core/bin/linux/gcc/hbmk2 -lang=en -quiet -width=0 -autohbm- @../config/hbpre -inc ./hbcomm/hbcomm.hbp @../config/hbpost
/harbour-core/bin/linux/gcc/hbmk2 -lang=en -quiet -width=0 -autohbm- @../config/hbpre -inc ./hbdoc/hbdoc.hbp @../config/hbpost
../bin/linux/gcc/.hbmk/hbdoc/_html.o:(.data.rel+0x1490): undefined reference to `HB_FUN_HB_DEF'
collect2: error: ld returned 1 exit status
hbmk2 [hbdoc]: Error: Running linker. 1
hbmk2 [hbdoc]: Exit status: 7: failed in final assembly (linker or library manager)
! Finished build...
Makefile:8: recipe for target 'first' failed
make[1]: *** [first] Error 7
config/dir.mk:71: recipe for target 'contrib' failed
make: *** [contrib] Error 2

Tentei várias veses e em máquinas diferentes e sempre dá esse erro no final.

Abraço,
Valdir
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Gerar o Harbour

Mensagem por JoséQuintas »

Vai ter que fazer aquele procedimento, mas acho que no Linux vai ter que ser via comandos.

Não lembro de cabeça, mas é algo parecido com git reset -- hard HEAD~10
Isso significaria voltar 10 commits atrás
Foi apenas exemplo, não sei se vão ser 10.

Talvez também dê pra baixar direto na versão liberada.
Mas também não lembro o comando exato.
git pull endereço e-aqui-vai-o-comando-pra-definr-posição, relacionado com o label usado como release.
Esses labels são definidos justamente pra isso, pra pegar a posição exata, sem erros.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Valdir
Usuário Nível 1
Usuário Nível 1
Mensagens: 9
Registrado em: 02 Abr 2021 18:26
Localização: Curitiba

Gerar o Harbour

Mensagem por Valdir »

Olá José.

Fizemos testes com as versões 4.19 e 5.15 do kernel do Linux e o erro continuou. Por isso a conclusão é que o problema não deve estar na versão do sistema operacional e sim no "branche" liberado em maio/2021.

Fizemos outros testes utilizando o parâmetro "-i" na linha de comando e funcionou, mas tivemos de eliminar o parâmetro "-lxhb" na compilação. Como a aplicação não utiliza esse lib, acabou rodando.

A linha de instalação ficaram assim:
make -i HB_WITH_PGSQL=/usr/include/postgresql/libpq HB_WITH_MYSQL=/usr/include/mysql
make -i install

Obrigado pelas dicas.
Valdir
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Gerar o Harbour

Mensagem por Itamar M. Lins Jr. »

Olá!
Apenas um AVISO, esse Harbour está congelado.
A versão oficial é a 3.2
Usava só essa, mas deixei pq foi praticamente abandonada.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Gerar o Harbour

Mensagem por JoséQuintas »

Vou acabar usando a 3.2, qualquer dia.

É que vou precisar fazer as conversões binárias pra funcionar minhas alterações na API Windows.
E não estou com paciência nenhuma de fazer isso.

Interessa o limite monstruoso do 3.2 pra variáveis, e o euro como codepage adicional.
Não vou usar nenhum dos dois, mas faz falta para compilar os exemplos das LIBs.

No momento podemos dizer que a 3.4 MORREU, porque NÃO FUNCIONA MAIS.
O Viktor estragou a última versão - ou precisa de algo mais, sei lá.
Ou baixa a versão fechada, ou baixa e cancela as últimas alterações.

Se baixar a última versão do 3.4, não vai conseguir compilar.

NÃO TEM nenhum problema com o 3.4, dá pra continuar usando tranquilamente.
Mas.... se não compila a última versão, significa que o Viktor já matou o 3.4 adiantado.
Ele NUNCA fez isso, nunca aconteceu isso, portanto... é confirmação de que parou tudo mesmo de vez.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Valdir
Usuário Nível 1
Usuário Nível 1
Mensagens: 9
Registrado em: 02 Abr 2021 18:26
Localização: Curitiba

Gerar o Harbour

Mensagem por Valdir »

Olá Itamar,

Só esclarecendo: e eu usei os passos descritos no manual do Vlademiro Landin Junior para instalação do Harbour no Linux e a versão que é baixada quando usa o github é a 3.4.
Estou usando agora a versão LMDE do Mint que uriliza a versão Buster do Debian (kernel 4.19), mas o erro também aconteceu quando eu utilizei a última versão do Mint Cinnamon (kernel 5.15).
Fiz várias instalações nos últimos meses e todas funcionaram, mas de algumas semanas para cá começou a dar o erro que foi relatado acima.
Conforme documentação do site, em 21/05/2021 foi feita uma atualização e creio que a partir daí é que começou a dar errado. Mais abaixo explico onde provavelmente está o erro que gerou esse problema.
Mas seguindo sua dica, estou baixando a versão 3.2 para o Linux.
Obrigado!

Olá José
Analisando o erro da compilação, ele aponta para o arquivo abaixo:
bin/linux/gcc/.hbmk/hbdoc/_html.o

Ao editar o arquivo correspondenrte em C (bin/linux/gcc/.hbmk/hbdoc/_html.c), vimos que a definição HB_DEF não tem uma função correspondente, então eliminamos a linha abaixo do arquivo bin/linux/gcc/.hbmk/hbdoc/_html.c

{ "HB_DEF", { HB_FS_PUBLIC }, { HB_FUNCNAME( HB_DEF ) }, NULL },

Ao recompilar após a exclusão dessa linha, não acusou erro caracterizando que a função HB_DEF não está sendo utilizada em qualquer outro fonte.
Como na minha aplicação não uso a interface gráfica, não percebi nenhum outro problema e a aplicação rodou normalmente após a compilação.

Abraço,
Valdir e Osmar
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Gerar o Harbour

Mensagem por JoséQuintas »

Valdir escreveu:Ao editar o arquivo correspondenrte em C (bin/linux/gcc/.hbmk/hbdoc/_html.c), vimos que a definição HB_DEF não tem uma função correspondente, então eliminamos a linha abaixo do arquivo bin/linux/gcc/.hbmk/hbdoc/_html.c
Então... essa alteração ele fez neste ano, e é ela que causa erro.
A proposta que eu fiz era anular a alteração, voltando uma posição anterior, aonde os fontes funcionavam.

Se não me engano é parecido com git reset --HARD HEAD~n

onde n é o número de alterações a voltar atrás.

Acabaria num mesmo resultado.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"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 do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Gerar o Harbour

Mensagem por Itamar M. Lins Jr. »

Olá!
Sempre acompanhei o Viktor, sempre usei as versões dele.
Mas não adianta nada a pessoa cria o melhor sistema do mundo, veja ou leia a historia do Reiser programador que criou a Reiser FS do Linux, o melhor sistema de arquivos na época. Mas não adianta nada, o trabalho se faz com outras pessoas. Ninguém está aqui sozinho.
Posso até usar a versão dele, mas não deixarei a comunidade.
A versão 3.2 tem muita coisa dele mas tem a participação de outras pessoas também. Igual a 3.4 que na época ele copiava os avanços da 3.2 na 3.4.

Sozinho não dá ! E ninguém é o todo poderoso !

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Responder