Problema execução no Windows 7

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

Moderador: Moderadores

Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Problema execução no Windows 7

Mensagem por asimoes »

Recentemente fiz uma atualização do msys64, a compilação do harbour é para LLVM/CLANG versão 7.01, a compilação vai até o fim sem erro.
Gerando o executável de um sistema meu ele roda sem problemas no windows 10 (64) no windows 7 32 ou 64 apresenta este erro de execução:
Algum de vocês já passou por este problema ?
2019-03-18 21_17_34-Window.png
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
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

Problema execução no Windows 7

Mensagem por Itamar M. Lins Jr. »

Olá!


2019-03-19 18:12 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* config/win/global.mk
* utils/hbmk2/hbmk2.prg
! moved winmm library before kernel32. This fixes Harbour compile and
application run on Win7 and previous Windows versions if latest MinGW
is used.
    ; Win8+ exports timeGetTime() from both kernel32.dll and winmm.dll.
    Previous windows version exports this function only from winmm.dll.
    See discussion at https://github.com/msys2/MINGW-packages/issues/4984

    * utils/hbmk2/hbmk2.prg
    ! Fixed dependency detection. Setting HB_WITH_<package>=local was
    ignored
    if packages were detected using pkg-config

    * contrib/hbexpat/3rd/expat/siphash.h
    ! fixed compile error for BCC <= 5.6
    Saudações,
    Itamar M. Lins Jr.
    Avatar do usuário
    asimoes
    Colaborador
    Colaborador
    Mensagens: 4919
    Registrado em: 26 Abr 2007 16:48
    Localização: RIO DE JANEIRO-RJ

    Problema execução no Windows 7

    Mensagem por asimoes »

    Itamar,

    Obrigado pela informação, este fiz é para as 2 versões 3.4 e 3.2 ?
    ►Harbour 3.x | Minigui xx-x | HwGui◄
    Pense nas possibilidades abstraia as dificuldades.
    Não corrigir nossas falhas é o mesmo que cometer novos erros.
    A imaginação é mais importante que o conhecimento. (Albert Einstein)
    Avatar do usuário
    asimoes
    Colaborador
    Colaborador
    Mensagens: 4919
    Registrado em: 26 Abr 2007 16:48
    Localização: RIO DE JANEIRO-RJ

    Problema execução no Windows 7

    Mensagem por asimoes »

    Vi que o Fix foi para o harbour 3.2, como a 3.4 está congelada, só pode ser compilado com uma versão mais antiga do MSYS.
    Ainda bem que eu tinha salvo a pasta mingw32 antes de atualizar o msys64. Agora temos um problema com a versão 3.4 ?
    ►Harbour 3.x | Minigui xx-x | HwGui◄
    Pense nas possibilidades abstraia as dificuldades.
    Não corrigir nossas falhas é o mesmo que cometer novos erros.
    A imaginação é mais importante que o conhecimento. (Albert Einstein)
    Avatar do usuário
    JoséQuintas
    Administrador
    Administrador
    Mensagens: 20267
    Registrado em: 26 Fev 2007 11:59
    Localização: São Paulo-SP

    Problema execução no Windows 7

    Mensagem por JoséQuintas »

    asimoes escreveu:. Agora temos um problema com a versão 3.4 ?
    Foi através de informação do Harbour 3.4 que isso foi ajustado no 3.2.
    Na prática, o 3.4 congelado já estava na frente.
    E trata-se de bug no compilador C, provavelmente nesse MSYS.
    Se tudo está normal, continuará normal.
    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
    asimoes
    Colaborador
    Colaborador
    Mensagens: 4919
    Registrado em: 26 Abr 2007 16:48
    Localização: RIO DE JANEIRO-RJ

    Problema execução no Windows 7

    Mensagem por asimoes »

    JoséQuintas escreveu:E trata-se de bug no compilador C, provavelmente nesse MSYS.
    Ou a falta de algum ajuste como foi feito na 3.2, o MSYS é um facilitador para baixar versões atualizadas do CLANG e GCC,
    então se nada for feito na 3.4, vai ter que usar versão mais antiga do GCC/CLANG ou voltar para a 3.2 , mas o CLANG do msys da erro na compilação da 3.2, somente o GCC 8.10 compila.

    O Harbour 3.4 na documentação diz que o MSYS é o oficial para gerar a lib/bin, posso estar enganado, mas foram recomendações do Viktor, usar CLANG como compilador oficial que é distribuído pelo MSYS.

    Esse problema do meu primeiro post só ocorre no windows 7
    ►Harbour 3.x | Minigui xx-x | HwGui◄
    Pense nas possibilidades abstraia as dificuldades.
    Não corrigir nossas falhas é o mesmo que cometer novos erros.
    A imaginação é mais importante que o conhecimento. (Albert Einstein)
    Avatar do usuário
    asimoes
    Colaborador
    Colaborador
    Mensagens: 4919
    Registrado em: 26 Abr 2007 16:48
    Localização: RIO DE JANEIRO-RJ

    Problema execução no Windows 7

    Mensagem por asimoes »

    Seguindo o que foi feito na 3.2 core

    Código: Selecionar todos

    2019-03-19 18:12 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
       * utils/hbmk2/hbmk2.prg
        ! moved winmm library before kernel32. This fixes Harbour compile and
          application run on Win7 and previous Windows versions if latest MinGW 
          is used.
        ; Win8+ exports timeGetTime() from both kernel32.dll and winmm.dll.
          Previous windows version exports this function only from winmm.dll.
          See discussion at https://github.com/msys2/MINGW-packages/issues/4984 
    
    Modifiquei o fonte hbmk2.prg da 3.4 fork

    Código: Selecionar todos

          /* NOTE: Some targets (watcom, pocc) need kernel32 explicitly. */
          //l_aLIBSYSCORE := { "kernel32", "user32", "gdi32", "advapi32", "ws2_32", "iphlpapi" }
          l_aLIBSYSCORE := { "winmm", "kernel32", "user32", "gdi32", "advapi32", "ws2_32", "iphlpapi" }
          //l_aLIBSYSMISC := { "winspool", "comctl32", "comdlg32", "shell32", "uuid", "ole32", "oleaut32", "mpr", "winmm", "mapi32", "imm32", "msimg32", "wininet" }
          l_aLIBSYSMISC := { "winspool", "comctl32", "comdlg32", "shell32", "uuid", "ole32", "oleaut32", "mpr", "mapi32", "imm32", "msimg32", "wininet" }
    
    Amanhã vou saber se deu certo.
    ►Harbour 3.x | Minigui xx-x | HwGui◄
    Pense nas possibilidades abstraia as dificuldades.
    Não corrigir nossas falhas é o mesmo que cometer novos erros.
    A imaginação é mais importante que o conhecimento. (Albert Einstein)
    Avatar do usuário
    JoséQuintas
    Administrador
    Administrador
    Mensagens: 20267
    Registrado em: 26 Fev 2007 11:59
    Localização: São Paulo-SP

    Problema execução no Windows 7

    Mensagem por JoséQuintas »

    Sobre a mudança...

    No Harbour-users chegou a circular mensagem de pelo menos uma pessoa com problema após essa alteração.
    O problema é que mingw tem LIBs com mesmo nome que algumas do Harbour, e alterando a ordem de linquedição entram as LIBs erradas.
    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
    asimoes
    Colaborador
    Colaborador
    Mensagens: 4919
    Registrado em: 26 Abr 2007 16:48
    Localização: RIO DE JANEIRO-RJ

    Problema execução no Windows 7

    Mensagem por asimoes »

    JoséQuintas escreveu:Sobre a mudança...

    No Harbour-users chegou a circular mensagem de pelo menos uma pessoa com problema após essa alteração.
    O problema é que mingw tem LIBs com mesmo nome que algumas do Harbour, e alterando a ordem de linquedição entram as LIBs erradas.
    Vou testar amanhã, se rodar o executável no w7, é isso, resolveu, se não, deve ter uma reversão na 3.2
    Se não der certo, fude.., vamos ficar congelados na 3.4 com msys de 16/12/18, é o risco
    ►Harbour 3.x | Minigui xx-x | HwGui◄
    Pense nas possibilidades abstraia as dificuldades.
    Não corrigir nossas falhas é o mesmo que cometer novos erros.
    A imaginação é mais importante que o conhecimento. (Albert Einstein)
    Avatar do usuário
    asimoes
    Colaborador
    Colaborador
    Mensagens: 4919
    Registrado em: 26 Abr 2007 16:48
    Localização: RIO DE JANEIRO-RJ

    Problema execução no Windows 7

    Mensagem por asimoes »

    Lembrando, que compiladores tem bug também, convém sempre estar atualizado, desde que o hb 3.2 e 3.4 aceitem novas versões do compilador.
    ►Harbour 3.x | Minigui xx-x | HwGui◄
    Pense nas possibilidades abstraia as dificuldades.
    Não corrigir nossas falhas é o mesmo que cometer novos erros.
    A imaginação é mais importante que o conhecimento. (Albert Einstein)
    Avatar do usuário
    asimoes
    Colaborador
    Colaborador
    Mensagens: 4919
    Registrado em: 26 Abr 2007 16:48
    Localização: RIO DE JANEIRO-RJ

    Problema execução no Windows 7

    Mensagem por asimoes »

    A modificação funcionou!
    ►Harbour 3.x | Minigui xx-x | HwGui◄
    Pense nas possibilidades abstraia as dificuldades.
    Não corrigir nossas falhas é o mesmo que cometer novos erros.
    A imaginação é mais importante que o conhecimento. (Albert Einstein)
    Responder