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
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 »

O meu problema está justamente usando hbcurl+openssl+postgresql
Da conflito nas DLL, se eu tirar o uso da hbcurl tudo funciona bem.

Já tentei com e sem as linhas abaixo, já gerei tudo do zero. Não tenho problemas para compilar o harbour e nem compilar os exemplos, mas é erro de execução.
SET HB_STATIC_CURL=yes
SET HB_STATIC_OPENSSL=yes

Erro apresentado.
Imagem
Anexos
Captura de tela 2024-02-17 104509.png
Captura de tela 2024-02-17 104509.png (6.8 KiB) Exibido 1859 vezes
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 »

Tem algum conflito no harbour com versões de: Openssl, Postgresql e Curl;
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 »

Itamar M. Lins Jr. escreveu: 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.
Itamar,
Compilar as lib é bem fácil mesmo, zero problemas.
O problema está em você usar essas 3 no mesmo projeto, e não adianta apenas linkar elas, tem que ter chamadas de uso, para que elas seja realmente usadas, ai que começa os problemas.
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á!
Eu uso 2 a PG e a SSL.
A Curl eu testei faz muito tempo, agora essas duas ai aqui roda sem problema.
Eu descobri as DLL que o aplicativo exige, quando fui instalar em outras maquinas. Ai pediu algumas DLLs.

Código: Selecionar todos

Pasta de C:\fontes\DLLS

16/02/2024  10:36    <DIR>          .
16/02/2024  10:36    <DIR>          ..
31/05/2023  16:51         4.901.775 libcrypto-3-x64.dll
19/02/2023  09:30         1.117.178 libiconv-2.dll
07/06/2023  00:20           475.769 libintl-9.dll
07/06/2023  00:19           312.832 libpq.dll
31/05/2023  16:51           658.346 libssl-3-x64.dll
31/05/2023  16:51           709.798 libssl-3.dll
29/05/2023  07:09            60.356 libwinpthread-1.dll
23/08/2020  23:19           746.496 rmchart.dll
               8 arquivo(s)      8.982.550 bytes
               2 pasta(s)   87.300.022.272 bytes disponíveis

C:\fontes\DLLS>
A rmchart.dll não precisa, só usa quando chamo em 2 ou 3 graficos antigos(passei a usar google chart)
Vou simular o erro aqui, chamar o EXE sem essas DLLs

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á!
, tem que ter chamadas de uso,
Ué, e tem, vc não coloca isso no PRG ?

Código: Selecionar todos

//No MAIN
#require "rddsql"    
#require "sddpg"  
#require "hbssl" 
#require "hbtip" 
   REQUEST DBFCDX, DBFFPT, DBFDBT, LETO, SQLMIX, SDDODBC, SDDPG
...
IF !hb_mtvm()
   Hwg_MsgStop("Ative o suporte multithread")
   RETURN .F.
ENDIF 
...
//em outro PRG
cRdd := RDDSETDEFAULT( "SQLMIX" )
nCon := rddInfo( RDDI_CONNECT, { "POSTGRESQL","127.0.0.1","postgres","XYZ","db_XYZ","5432"})
IF nCon == 0
   hwg_MsgInfo("Não conectou no Postgres: " + Str(nCon) )
   RDDSETDEFAULT( cRdd )
   RETURN .T.
ELSE
   hwg_MsgInfo("Conectou no Postgres: " + Str(nCon) )
ENDIF
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á!
No email para usar gmail

Código: Selecionar todos

#require "hbssl"
#require "hbtip"
REQUEST __HBEXTERN__HBSSL__
...
lRet := tip_MailSend( ;
      cHost, ;
      nPort, ; //iif( lSTARTTLS, 587, 465 ), ;
      cFrom, ;
      cTo, ;
      xCC /* CC */, ;
      {} /* BCC */, ;
      cBody , ;
      cSubJect , ;
      aArqui /* attachment */, ;
      cFrom, ;
      cPassword, ;
      "", ;
      NIL /* nPriority */, ;
      NIL /* lRead */, ;
      .T. /* lTrace */, ;
      .F., /*lPopAuth */ ;
      NIL /* lNoAuth */, ;
      NIL /* nTimeOut */, ;
      NIL /* cReplyTo */, ;
      nPort == 465) //! lSTARTTLS )

If lRet
   hwg_Msginfo("Email enviado."+hb_eol()+"Assunto: "+cSubject+hb_eol()+"Endereço: "+cTo)
Else
   hwg_Msgexclamation("Falha enviando email.")
EndIf

RETURN lRet
O código ainda tem redundância, pq já tem lá no MAIN essas duas primeiras.

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 »

Realmente o problema só acontece quando envolve a hbcurl, PG e SSL rodam de boa.

Acho que o problema é que o PG usa HBCURL e, a HBCURL usa SSL e, pg também usa SSL.

Estou isolando todos em vários exemplos de conjuntos e, tudo com versões diferentes, em breve vou descobrir aonde isso está travando.
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 »

Fiquei em uma duvida agora.
A ultima versão do POSTGRESQL para 32bits foi a versão 10 e, da em diante para windows só tem versão 64bits.

Será que posso pegar a DLL e pasta PG16\INCLUDE para usar com harbour 32bits e aplicativos gerado em 32bits ?
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á!
Como a chamada está na principal, não abre o exe.
Captura de tela 2024-02-17 133035.png
Captura de tela 2024-02-17 133035.png (6.39 KiB) Exibido 1838 vezes
Acredito que colocando ela lá na hora de usar no PRG, possa abrir o EXE sem reclamar dessas DLLs
Agora outra coisa que não entendo é pq usa DLL se manda LINKAR ESTÁTICO ?
Lembrando que tem suas LIBs a ESTÁTICA tem um "S" no final.
Já vi explicação a respeito dessa LINKAGEM ESTÁTICA que é PARCIAL.

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á!
Repare que o sistema vai reclamando das DLLs que estão faltando, uma CHAMA outra e mais outra... Até consegui subir(rodar) o .EXE
Captura de tela 2024-02-17 134128.png
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 »

Essas DLL do pg e da curl ele reclama, mas chega em um momento que reclamada de uma DLL NULL ou seja sem nome algum
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 »

Consegui em um exemplo insolar mais ainda o erro.
Retirando a openssl do sistema o conflito fica apenas com Postgresql e curl.
Conforme imagem abaixo, ambas tem a mesma versão só que uma é DEV e elas. tem tamanhos diferentes, por que não sei, mas a do PG16 é o que vem com ele e, a outra é versão oficial do site da CURL.

Vou seguir procurando alternativas para resolver isso.
Anexos
Captura de tela 2024-02-17 144051.png
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 »

Vocês não vão acreditar, mas o fato de mudar a ordem das lib na compilação resolveu meu problema. A hbcurl deve vir antes da hbpgsql, vou seguir em frente com os próximos desafios. Que se chama HWGUI kkkkkk, mas isso é assunto pra outro tópico.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Responder