[Pkg-pascal-devel] Castle Game Engine 7.0-alpha.1 release, view3dscene 4.0.0

Michalis Kamburelis michalis.kambi at gmail.com
Sun Feb 7 00:59:02 GMT 2021


Thanks! I was able to experiment with your repository and commands you
gave, and push it a bit further :)

In CGE sources from GiHub,

  fpc @castle-fpc.cfg tools/texture-font-to-pascal/texture-font-to-pascal.lpr

works. Building is tested by Jenkins all the time, so I would be very
surprised if we have some simple compilation error slip :)

I tested with Salsa version:

  git clone git at salsa.debian.org:pascal-team/castle-game-engine.git debian-cge
  cd debian-cge/
  git checkout experimental

  export FPC=fpc # using FPC installed without Debian package
  export FPCDIR=/home/michalis/installed/fpclazarus/3.2.0/fpc/ # make
fpmake use my custom FPC
  dh binary
  ... fails with x3dnodes.pas(261,3) Fatal: Can't find unit
CastleTextureFont_DjvSans_20 used by X3DNodes

  Same error when doing directly:

  fpc @castle-fpc.cfg tools/texture-font-to-pascal/texture-font-to-pascal.lpr
  ... similarly fails with x3dnodes.pas(261,3) Fatal: Can't find unit
CastleTextureFont_DjvSans_20 used by X3DNodes

1. OK, so I see a different problem with compiling
texture-font-to-pascal.lpr: through some dependencies, it ends up
depending on CastleTextureFont_DjvSans_20 , which is the file you
removed in Debian, in order to regenerate it.

  Fixed in https://github.com/castle-engine/castle-engine/commit/b9faa3bc380367eb72de1164f6cc366353a7c1ba
, please take this patch into Debian. The texture-font-to-pascal.lpr
no longer depends on things it shouldn't.

2. Note that I never reproduced or solved the error you saw,

x3dnodes_standard_core.inc(141,6) Fatal: Cannot open include file
"auto_generated_node_helpers/x3dnodes_x3dnode.inc"

I don't know why it could occur, especially since
"src/x3d/auto_generated_node_helpers/x3dnodes_x3dnode.inc" is present
in repo (upstream and Salsa). In any case,

- It could be auto-regenerated by executing
"tools/internal/x3d-nodes-to-pascal/code/" tool.

- After my modifications, texture-font-to-pascal does not depend on
X3DNodes, so the underlying problem is gone anyway.

3. Testing further, it fails at execution, as source ttf font is also
removed from Salsa version:

  cd src/fonts ;
PATH=/home/michalis/common/scripts/host/anteac/:/home/michalis/common/scripts:/home/michalis/bin:/home/michalis/.cargo/bin:/home/michalis/common/scripts/host/anteac/:/home/michalis/common/scripts:/home/michalis/bin:/home/michalis/.cargo/bin:/home/michalis/common/scripts/host/anteac/:/home/michalis/common/scripts:/home/michalis/bin:/home/michalis/.cargo/bin:/home/michalis/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/michalis/sources/castle-engine/debian-cge/debian/tmp/tmp
./mk_fonts.sh
  An unhandled exception occurred at $0000000000566727:
  FreeTypeException: Font file "data/DejaVuSans-BoldOblique.ttf" not found

  Indeed, the files src/fonts/data/*.ttf are missing. Do you recall
how did it work previously, at CGE 6.4?

  For my test, I modified src/fonts/mk_fonts.sh to just look at
system-wide /usr/share/fonts/truetype/dejavu .

4. Next fail is at xcf2png,

xcf2png: doc/pasdoc/logo/castle_game_engine_icon.xcf: No such file or directory
xcf2png: src/components/icons/tcastle2dcontrol.xcf: No such file or directory

The icons src/components/icons/ -> are now in src/lcl/icons . But
there is no special tcastle2dcontrol.xcf anymore, it was merged into
CastleIcons.xcf along the way (
https://github.com/castle-engine/castle-engine/commit/cc68626199e5f668c204fec4ba73a448e1895433
), which has these files in layers. The TCastle2DControl got
deprecated along the way anyway, and it is no longer on LCL component
palette, so the icon there is unused in the end.

I do not know what to do about
doc/pasdoc/logo/castle_game_engine_icon.xcf -- it was never present.
The source of this PNG is in SVG, PNG is created by exporting from
Inkscape.

 For further tests, I removed these 2 png files from my local copy of
debian/clean

5. Next fail is at

fpc -FE/home/michalis/sources/castle-engine/debian-cge/debian/tmp/tmp
-dRELEASE @castle-fpc.cfg
src/x3d/nodes_specification/x3d-nodes-to-pascal/x3d-nodes-to-pascal.lpr

This file is now in tools/internal/x3d-nodes-to-pascal/code/ . I fixed
the debian/rules to call it like this:

    ${FPC} -FE${TMP_DIR} -dRELEASE @castle-fpc.cfg
tools/internal/x3d-nodes-to-pascal/code/x3d-nodes-to-pascal.lpr
    cd tools/internal/x3d-nodes-to-pascal/ && \
        PATH=${TMP_DIR} x3d-nodes-to-pascal nodes-specification/*.txt
--output-path ../../../src/x3d/auto_generated_node_helpers/

6. That's it for now :) My next error is related to fpmake

  Could not find unit directory for dependency package "opengl"

  .. but this is likely due to my non-standard FPC setup. The latest
FPC 3.2.0 does have "opengl" units, on which we indeed depend in CGE,
since a long time.

Regards,
Michalis


sob., 6 lut 2021 o 18:49 Paul Gevers <elbrus at debian.org> napisaƂ(a):
>
> Hi Michalis,
>
> On 06-02-2021 05:58, Michalis Kamburelis wrote:
> > Hello,
> >
> > I have just released an alpha version of Castle Game Engine:
> > 7.0-alpha.1 . Official news on https://castle-engine.io/wp/ will
> > follow, but the release is done on GitHub already:
>
> I had a quick run at it (import new version, refresh existing patches)
> [2], but it fails early [1]:
>
> dh binary
>    dh_update_autotools_config
>    dh_autoreconf
>    dh_auto_configure
>    debian/rules override_dh_auto_build-arch
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> # Building Pascal style font file first while making sure that
> # no unit or object files polute the source tree
> mkdir -p /<<PKGBUILDDIR>>/debian/tmp/tmp
> /usr/bin/fpc -FE/<<PKGBUILDDIR>>/debian/tmp/tmp  @castle-fpc.cfg
> tools/texture-font-to-pascal/texture-font-to-pascal.lpr
> Free Pascal Compiler version 3.2.0+dfsg-12 [2021/01/25] for x86_64
> Copyright (c) 1993-2020 by Florian Klaempfl and others
> Target OS: Linux for x86-64
> Compiling tools/texture-font-to-pascal/texture-font-to-pascal.lpr
> Compiling tools/texture-font-to-pascal/castlefont2pascal.pas
>
> [...]
>
> Compiling ./src/x3d/x3dnodes.pas
> Compiling ./src/3d/castleinternaloctree.pas
> x3dnodes_standard_core.inc(141,6) Fatal: Cannot open include file
> "auto_generated_node_helpers/x3dnodes_x3dnode.inc"
> Fatal: Compilation aborted
> Error: /usr/bin/ppcx64 returned an error exitcode
> make[1]: *** [debian/rules:64: prepare-source-stamp] Error 1
>
> Paul
>
> [1]
> https://salsa.debian.org/pascal-team/castle-game-engine/-/tree/experimental
> [2]
> http://debomatic-amd64.debian.net/distribution#experimental/castle-game-engine/7.0~alpha.1+dfsg-1/buildlog
>
> _______________________________________________
> Pkg-pascal-devel mailing list
> Pkg-pascal-devel at alioth-lists.debian.net
> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/pkg-pascal-devel



More information about the Pkg-pascal-devel mailing list