Página 1 de 2

Atualização Harbour 16-02-2024

Enviado: 16 Fev 2024 19:32
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.

Atualização Harbour 16-02-2024

Enviado: 16 Fev 2024 19:51
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 3754 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.

Atualização Harbour 16-02-2024

Enviado: 16 Fev 2024 20:44
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.

Atualização Harbour 16-02-2024

Enviado: 16 Fev 2024 20:50
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.

Atualização Harbour 16-02-2024

Enviado: 16 Fev 2024 21:00
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 3745 vezes
Saudações,
Itamar M. Lins Jr.

Atualização Harbour 16-02-2024

Enviado: 16 Fev 2024 21:11
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.

Atualização Harbour 16-02-2024

Enviado: 16 Fev 2024 21:17
por Itamar M. Lins Jr.
Olá!
Lembrei! Precisei fazer downgrade para PGSQL 11
Vou atualizar novamente.

Saudações,
Itamar M. Lins Jr.

Atualização Harbour 16-02-2024

Enviado: 16 Fev 2024 21:43
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.

Atualização Harbour 16-02-2024

Enviado: 16 Fev 2024 22:53
por sygecom
Pra que serve essa linha ai abaixo ?

SET HB_STATIC_CURL=yes

Atualização Harbour 16-02-2024

Enviado: 16 Fev 2024 22:59
por sygecom
Qual versão da CURL você está usando e qual versão do openssl está usando ?

Atualização Harbour 16-02-2024

Enviado: 16 Fev 2024 23:32
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.

Atualização Harbour 16-02-2024

Enviado: 16 Fev 2024 23:39
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.

Atualização Harbour 16-02-2024

Enviado: 17 Fev 2024 00:09
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.

Atualização Harbour 16-02-2024

Enviado: 17 Fev 2024 00:24
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.

Atualização Harbour 16-02-2024

Enviado: 17 Fev 2024 00:35
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.