Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Free Pascal: Dateutils-unittia ei löydy

LukeSW [23.06.2019 12:55:32]

#

Program Pvmtesti;

// yksinkertainen käännöstesti (Free Pascal)

uses Dateutils;

var unix : int64;

begin
  unix:=DateTimeToUnix(Now);
  writeln('Unix-aikaleima: ',unix);
end.

Kun yritän kääntää ylläolevaa esimerkkiohjelmaa niin konsoliin tulee seuraavanlainen virheilmoitus:

Free Pascal Compiler version 3.0.4 [2017/10/06] for i386
Copyright (c) 1993-2017 by Florian Klaempfl and others
Target OS: Win32 for i386
Compiling .\pvmtesti.pas
PPU Loading C:\FPC\3.0.4\units\i386-win32\rtl-objpas\dateutils.ppu
PPU Source: dateutils.pp not available
PPU Source: dateutil.inc not available
Recompiling dateutils, checksum changed for Math
pvmtesti.pas(5,6) Fatal: Can't find unit dateutils used by Pvmtesti
Fatal: Compilation aborted
Error: c:\fpc\3.0.4\bin\i386-win32\ppc386.exe returned an error exitcode

Käyttöjärjestelmänä on 64-bittinen Windows 10 Home.

C:\FPC\3.0.4\units\i386-win32\rtl-objpas -hakemistosta löytyvät dateutils.ppu ja dateutils.o -tiedostot.

Free Pascal-kielestä on asennettuna seuraavat versiot: fpc-3.0.4.i386-win32.exe, fpc-3.0.4.i386-win32.cross.x86_64-win64.exe ja fpc-3.0.4.i386-win32.cross.i8086-msdos.exe. Tosin tuota viimeistä ei tule varmaankaan käytettyä.

Unit not found - How to find units - Free Pascal wiki -kohta on luettu.

FPC installation

fpc_log.txt '-vut'-parametreilla.

Metabolix [24.06.2019 14:02:10]

#

Ongelman ydin käy ilmi tästä ilmoituksesta: ”Recompiling dateutils, checksum changed for Math”. Lokitiedostostasi näkyy tämän syy:

717: PPU Loading E:\Omat\OHJELMAT\OHJELMAT\OMAT\math.ppu
718: (MATH)     PPU Name: E:\Omat\OHJELMAT\OHJELMAT\OMAT\math.ppu
719: (MATH)     PPU Time: 2019/06/21 12:52:24
...
726: (MATH)     PPU Source: math.pas not found

Olet siis luonut oman math.ppu-tiedoston. Dateutils käyttää Math-kirjastoa mutta ohjautuukin sinun tiedostoosi. Kääntäjä tunnistaa, että tiedosto on eri kuin Dateutils odottaa, joten Dateutils pitäisi kääntää uudestaan tällä uudella versiolla. Kuitenkin math.pas puuttuu, joten uusi käännös ei onnistu.

Eli ongelma on sittenkin listalla tässä: ”You named one of your units like one of the FPC units.”

Esimerkkikoodistasi puuttuu Sysutils, ei näytä kääntyvän ilman.

lainaus:

FPC-asennusta ei ole käännetty millään parametreilla. Asennettu suoraan exe-tiedostoista.

Kyllä sen on joku kääntänyt, jotta siitä on voitu tehdä asennuspaketti.

LukeSW [24.06.2019 16:00:34]

#

Metabolix kirjoitti:

Ongelman ydin käy ilmi tästä ilmoituksesta: ”Recompiling dateutils, checksum changed for Math”. Lokitiedostostasi näkyy tämän syy:

717: PPU Loading E:\Omat\OHJELMAT\OHJELMAT\OMAT\math.ppu
718: (MATH)     PPU Name: E:\Omat\OHJELMAT\OHJELMAT\OMAT\math.ppu
719: (MATH)     PPU Time: 2019/06/21 12:52:24
...
726: (MATH)     PPU Source: math.pas not found

Olet siis luonut oman math.ppu-tiedoston. Dateutils käyttää Math-kirjastoa mutta ohjautuukin sinun tiedostoosi. Kääntäjä tunnistaa, että tiedosto on eri kuin Dateutils odottaa, joten Dateutils pitäisi kääntää uudestaan tällä uudella versiolla. Kuitenkin math.pas puuttuu, joten uusi käännös ei onnistu.

Eli ongelma on sittenkin listalla tässä: ”You named one of your units like one of the FPC units.”

Niinpäs olikin. Yritin etsiä itsepintaisesti tuota omaa math.ppu-tiedostoa väärästä hakemistosta.

Metabolix kirjoitti:

Esimerkkikoodistasi puuttuu Sysutils, ei näytä kääntyvän ilman.

Kun en päässyt eteenpäin kääntämisessä niin en tiennyt.

lainaus:

FPC-asennusta ei ole käännetty millään parametreilla. Asennettu suoraan exe-tiedostoista.

Metabolix kirjoitti:

Kyllä sen on joku kääntänyt, jotta siitä on voitu tehdä asennuspaketti.

Tarkoitin siis sitä että minä en ole kääntänyt tuota asennustiedostoa.

Mutta nyt kääntyi kun nimesin sen oman unit-tiedoston uudestaan.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta