Atualização Harbour 16-02-2024

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

Moderador: Moderadores

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

Atualização Harbour 16-02-2024

Mensagem por Itamar M. Lins Jr. »

Olá!
Corrigiu o BUG da DLL e outros.

Código: Selecionar todos

2024-02-16 18:23 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
  * contrib/hbexpat/3rd/expat/expat.diff
  * contrib/hbexpat/3rd/expat/loadlibr.c
    ! use HB_WINAPI_GETPROCADDRESS() instead of GetProcAddress()
      in WinCE builds

  * contrib/hbhpdf/3rd/libhpdf/hpdfstre.c
  * contrib/hbhpdf/3rd/libhpdf/libhpdf.diff
    ! include <windows.h> in WinCE builds, it's necessary for GetLastError()

  * src/3rd/jpeg/Makefile
    ! do not use getenv() in all WinCE builds

  * src/common/hbver.c
    * cast revision number to HB_ULONG to pacify warning

  * src/vm/extrap.c
    ! do not compile unused in WinCE builds hb_winExceptionHandler()

  * include/hbapi.h
    * added HB_EXPORT attribute to hb_macroTextValue() function

  * include/hbvm.h
  * src/vm/hvm.c
    + added C function:
         PHB_ITEM hb_vmCompileMacro( const char * szExpr, PHB_ITEM pDest );
      It returns Harbour item or NULL at error (wrong macro text).
      The result should be used with hb_vmEvalBlockOrMacro() and then freed
      by hb_vmDestroyBlockOrMacro(). It hides low level macro representation
      so we can change it in the future. Now it's still simple pointer item
      without autodestructor.

  * src/rdd/hsx/hsx.c
  * src/rdd/workarea.c
    * use hb_vmCompileMacro() instead of hb_macroCompile()

  * src/vm/runner.c
    * changed 6101 error message for "Unknown or unregistered symbol"
      to "Unknown or unregistered function symbol".
    * report above error when HRB module is loaded and its external function
      is not registered or not marked as DYNAMIC by earlier registered modules
      in HVM symbol table.
      Warning. This modification may exploit problems in code loading HRB files
      with cross references which has worked so far. In such case user should
      pass to hb_hrbLoad()/hb_hrbRun() as first parameters flags containing
      HB_HRB_BIND_LAZY or declare the problematic function in his main code
      as dynamic, i.e.:
         DYNAMIC <funcName>

  * src/rdd/dbf1.c
    * declare internal function hb_dbfTransCheckCounters() as static one

  * src/harbour.def
    ! added missing exported Harbour functions
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
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

Atualização Harbour 16-02-2024

Mensagem por Itamar M. Lins Jr. »

Olá!
Não sei pq o pessoal encontra problemas na hora de compilar.
Meus passos são esses:
git pull
Captura de tela 2024-02-16 200836.png
E depois, win-make clean install
Minhas variáveis são apenas essas.
Captura de tela 2024-02-16 201326.png
Captura de tela 2024-02-16 201326.png (5.93 KiB) Exibido 3746 vezes
Repare que ele mesmo não aceita instalar sem saber o "DESTINO" o LOCAL onde vai ficar o Harbour COMPILADO.
set HB_INSTALL_PREFIX
Captura de tela 2024-02-16 222256.png

Código: Selecionar todos

C:\dev\hb32-code>set HB_INSTALL_PREFIX=c:\hb32
Veja que ele ACHA a versão do MINGW64 GCC 64 no PATH
C:\msys64\mingw64\bin; e c:\hb32\bin; Só esses dois que acrescentei no PATH (muito tempo que fiz isso) ás vezes até esqueço. No caso de GCC 32, eu mudo ai no PATH como padrão.
Captura de tela 2024-02-16 201818.png
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

Atualização Harbour 16-02-2024

Mensagem por JoséQuintas »

Melhor garantir com HB_COMPILER=mingw ou HB_COMPILER=mingw64

Se tiver vários compiladores no path, vai pegar o desejado, e não qualquer um que possa estar no path.
Toda precaução é útil.
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

Atualização Harbour 16-02-2024

Mensagem por Itamar M. Lins Jr. »

Olá!
e não qualquer um que possa estar no path.
Não vai pq sou eu que coloco no path.
Coloquei dessa forma para o pessoal entender, pode ter vários e se tiver no PATH e mais na VAR... faz uma salada e não entende. Exatamente isso que tento evitar, eu mesmo demorei para entender.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
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

Atualização Harbour 16-02-2024

Mensagem por Itamar M. Lins Jr. »

Olá!
A tal LIBPNG em 64bits
Captura de tela 2024-02-16 212940.png
Captura de tela 2024-02-16 212940.png (11.22 KiB) Exibido 3737 vezes
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
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

Atualização Harbour 16-02-2024

Mensagem por Itamar M. Lins Jr. »

Olá!
Não sei o que aconteceu que não está gerando a PGSQL, mas quando precisei funcionou, não usei mais durante esses meses.
Captura de tela 2024-02-16 213953.png
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
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

Atualização Harbour 16-02-2024

Mensagem por Itamar M. Lins Jr. »

Olá!
Lembrei! Precisei fazer downgrade para PGSQL 11
Vou atualizar novamente.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
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

Atualização Harbour 16-02-2024

Mensagem por Itamar M. Lins Jr. »

Olá!
Atualizei para versão 16 do PG.
Captura de tela 2024-02-16 221208.png

Código: Selecionar todos

C:\dev\hb32-code\contrib\sddpg>set hb
HB_STATIC_CURL=yes
HB_STATIC_OPENSSL=yes
HB_WITH_PGSQL=C:\Program Files\PostgreSQL\16\include
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Atualização Harbour 16-02-2024

Mensagem por sygecom »

Pra que serve essa linha ai abaixo ?

SET HB_STATIC_CURL=yes
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Atualização Harbour 16-02-2024

Mensagem por sygecom »

Qual versão da CURL você está usando e qual versão do openssl está usando ?
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
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

Atualização Harbour 16-02-2024

Mensagem por Itamar M. Lins Jr. »

Olá!
É isso, antes eu baixava e tinha quer colocar "set HB_OPEN...c:\minha_pasta_com_openssl" usando a msys2 não precisa tá lá no meio dos arquivos baixados pelo msys2.

Código: Selecionar todos

pacman -S git base-devel msys2-devel mingw-w64-{i686,x86_64}-toolchain
Baixar os pacotes, depois de instalado o msys2.
usa o comando chamando pacman para atualizar depois.
Tem na pagina do msys2.
Primeiro baixar tudo, depois atualizar.

Código: Selecionar todos

 pacman -Syu
 pacman -Su
A versão do Curl, eu não sei, vou testar, pq tinha problema com Harbour eu parei de testar. A OpenSSL e a CURL é o msys2 que baixa e atualiza de acordo com o GCC e se tiver atualização ele atualiza sozinho, depois do comando pacman -Sys e Su. A OpenSSL está ok pq envio email pelo gmail.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
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

Atualização Harbour 16-02-2024

Mensagem por Itamar M. Lins Jr. »

Olá!
SET HB_STATIC_CURL=yes
No meu entender é para criar a lib estática, não usar DLL.

Código: Selecionar todos

C:\msys64>dir /ad
 O volume na unidade C não tem nome.
 O Número de Série do Volume é 980F-D8EF

 Pasta de C:\msys64

21/06/2023  11:08    <DIR>          .
21/06/2023  11:08    <DIR>          ..
26/05/2023  05:46    <DIR>          clang32
26/05/2023  05:46    <DIR>          clang64
26/05/2023  05:46    <DIR>          clangarm64
21/06/2023  11:07    <DIR>          dev
13/02/2024  14:54    <DIR>          etc
21/06/2023  14:14    <DIR>          home
21/06/2023  11:07    <DIR>          installerResources
21/06/2023  11:28    <DIR>          mingw32
21/06/2023  11:25    <DIR>          mingw64
07/02/2023  12:09    <DIR>          opt
13/02/2024  14:48    <DIR>          tmp
26/05/2023  05:46    <DIR>          ucrt64
21/06/2023  11:25    <DIR>          usr
26/05/2023  05:46    <DIR>          var
               0 arquivo(s)              0 bytes
              16 pasta(s)   88.534.515.712 bytes disponíveis

C:\msys64>
Quando instalei o msys2 ele criou essa pasta msys64 e dentro tem essas separações clang, mingw e a pasta home.
Vc pode entrar nela usando CMD ou o próprio msys2, interessante é quando usamos o prompt do msys2 é a mesma coisa de usar uma versão LINUX ai ele aceita os comandos do LINUX. cp, mkdir etc. (msys) Mini Linux.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
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

Atualização Harbour 16-02-2024

Mensagem por Itamar M. Lins Jr. »

Olá!
Versões da SSL e CURL
mingw-w64-x86_64-curl-8.6.0-1
mingw-w64-x86_64-openssl-3.2.1-1
Lembrando que isso eu nem olho que a cada pacman ele atualiza.(se tiver update)

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
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

Atualização Harbour 16-02-2024

Mensagem por Itamar M. Lins Jr. »

Olá!
Fiz a configuração correta e pegou a CURL.

Código: Selecionar todos

C:\dev\hb32-code\contrib\hbcurl>set HB_WITH_CURL=c:\msys64\mingw64\include

C:\dev\hb32-code\contrib\hbcurl>hbmk2 hbcurl.hbp
hbmk2: Gerando sub-projeto (passo 2): hbcurls.hbp
hbmk2: Dependência 'curl' encontrado: c:\msys64\mingw64\include
hbmk2: Harbour: Compilando módulos...
Harbour 3.2.0dev (r2402161723)
Copyright (c) 1999-2021, https://harbour.github.io/
Compiling 'hbcurl.hbx'...
Lines 50, Functions/Procedures 1
Generating C source output to '.hbmk\win\mingw64\hbcurls\hbcurl.c'... Done.
hbmk2: Compilando...
hbmk2: Criando biblioteca estáticas... libhbcurls.a
hbmk2: Dependência 'curl' encontrado: c:\msys64\mingw64\include
hbmk2: Biblioteca de importação criada: liblibcurl-4.a <=
       c:\msys64\mingw64\bin\libcurl-4.dll
hbmk2: Harbour: Compilando módulos...
Harbour 3.2.0dev (r2402161723)
Copyright (c) 1999-2021, https://harbour.github.io/
Compiling 'hbcurl.hbx'...
Lines 50, Functions/Procedures 1
Generating C source output to '.hbmk\win\mingw64\hbcurl\hbcurl.c'... Done.
hbmk2: Compilando...
hbmk2: Criando biblioteca estáticas... libhbcurl.a

C:\dev\hb32-code\contrib\hbcurl>
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
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

Atualização Harbour 16-02-2024

Mensagem por Itamar M. Lins Jr. »

Olá!

Código: Selecionar todos

C:\dev\hb32-code\contrib\hbssl>hbmk2 hbssl.hbp
hbmk2: Gerando sub-projeto (passo 2): hbssls.hbp
hbmk2: Dependência 'openssl' encontrado: c:\msys64\mingw64\include
hbmk2: Compilando...
hbmk2: Criando biblioteca estáticas... libhbssls.a
hbmk2: Dependência 'openssl' encontrado: c:\msys64\mingw64\include
hbmk2: Biblioteca de importação criada: liblibcrypto-3-x64.a <=
       c:\msys64\mingw64\bin\libcrypto-3-x64.dll
hbmk2: Biblioteca de importação criada: liblibssl-3-x64.a <=
       c:\msys64\mingw64\bin\libssl-3-x64.dll
hbmk2: Compilando...
hbmk2: Criando biblioteca estáticas... libhbssl.a

C:\dev\hb32-code\contrib\hbssl>
Compilando as duas sem nenhum problema(aparente)
Inclusive gerando a estática.
Ficou assim a configuração.

Código: Selecionar todos

C:\dev\hb32-code\contrib\hbssl>set hb
HB_STATIC_CURL=yes
HB_STATIC_OPENSSL=yes
HB_WITH_CURL=c:\msys64\mingw64\include
HB_WITH_OPENSSL=c:\msys64\mingw64\include
HB_WITH_PGSQL=C:\Program Files\PostgreSQL\16\include
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Responder