Menu

#287 Source tarball for 1.5.6 is incomplete

2.0.0
closed
nobody
None
5
2021-06-11
2021-02-23
No

Trying to build chessx 1..5.6. on openSUSE linux: both qmake and cmake fail because of missing dep subdirectory.
e.g.

make: *** No rule to make target 'dep/scid/code/src/codec_scid4.cpp', needed by 'obj_rel/codec_scid4.o'.  Stop

Discussion

  • Luigi Baldoni

    Luigi Baldoni - 2021-02-24

    Not there yet:
    CMake Error at dep/CMakeLists.txt:1 (add_subdirectory): add_subdirectory given source "doctest" which is not an existing directory.

     
  • Luigi Baldoni

    Luigi Baldoni - 2021-02-27

    Missing files and directories for a sucessful linux build as follows:

    dep/doctest
    dep/scid/code/src/attacks.h
    dep/scid/code/src/dstring.h
    dep/scid/code/src/fullmove.h
    dep/scid/code/src/hash.h
    dep/scid/code/src/movegen.h
    dep/scid/code/src/movelist.h
    dep/scid/code/src/naglatex.h
    dep/scid/code/src/nagtext.h
    dep/scid/code/src/sqmove.h
    tests
    

    Hope this helps.

    P.S: the existing tarball also contains a number of duplicates prepended by a ._.

     
  • Jens Nissen

    Jens Nissen - 2021-02-27

    Thanks for insisting on a correct archive. I uploaded a new image (and deleted all unused externals from the git so that generating a proper archive is easier.) Actually, the project file was not listing all includes correctly so that is why I didn't have them in the archive. Where are doctest and tests referenced? They should not appear anywhere as the tests are deprecated.

     
  • Luigi Baldoni

    Luigi Baldoni - 2021-02-27

    dep/CMakeLists.txt:1 add_subdirectory(doctest) and
    CMakeLists.txt:168 add_subdirectory(tests/unittests)
    respectively.

     

    Last edit: Luigi Baldoni 2021-02-27
  • Luigi Baldoni

    Luigi Baldoni - 2021-02-27

    The new tarball is still incomplete, but it looks like that eliminating doctest and tests (and of course the two lines above) doesn't create any problem.

    BTW, all those ._ files take up a grand total of 2.6M.

     
  • Jens Nissen

    Jens Nissen - 2021-02-27

    Live and learn: I'm on Mac OS and I cannot see them anywhere - bsdtar creates them and once I untar my archive, they are gone again :-( Fixed by using gtar. This does not change the filesize btw.

     

    Last edit: Jens Nissen 2021-02-27
  • Luigi Baldoni

    Luigi Baldoni - 2021-02-27

    Confirm, it's only slightly smaller. Probably some de-duplication at work.
    So, all that it's missing now are the header files as per https://sourceforge.net/p/chessx/bugs/287/#2d21 and the fixes to the two CMakeLists.txt. At least for Linux.

     
  • Jens Nissen

    Jens Nissen - 2021-02-27

    The changes should be now in. It can take some time on sourceforge for the files to get delivered.

     
  • Luigi Baldoni

    Luigi Baldoni - 2021-02-28

    The tarball contains no crud but it's still incomplete.

     
  • Jens Nissen

    Jens Nissen - 2021-02-28

    It should do - I just setup an Ubuntu computer, downloaded the tar installed Qt and Creator and built ChessX on it and it worked. I assume, that there were some remains of previous tries on your harddisk. Make sure that all invisible .qmake.stash files are gone before compiling. They can make a horrible mess.

     
  • Luigi Baldoni

    Luigi Baldoni - 2021-03-01

    You are right, the files are there. Unfortunately it's still a no-go for me:

    CMake Error at dep/scid/CMakeLists.txt:1 (add_library):
      Cannot find source file:
        dep/scid/code/src/attacks.h
    

    I think this is a consequence of how said headers are referenced: in dep/scid/CMakeLists.txt they have the full path, e.g:
    dep/scid/code/src/attacks.h.
    Perhaps cmake on Ubuntu adds ${CMAKE_SOURCE_DIR} as include search path by default, otherwise I don't know how it could work.

     
  • Jens Nissen

    Jens Nissen - 2021-03-03

    The dep/scid/ in each line can probably be removed. I'm not using cmake myself. After removing these fragments, I could compile ChessX. But the executables are not working neither on Mac OS nor Linux. Under Linux, there needs some LD_LIBRARY_PATH magic to be done, which I don't understand (Why is this not necessary with qmake????). And the resulting package under Mac OS lacks two files. If I copy them in manually, I'm experiencing the same crash with QTextToSpeech which I see under Linux but which I never see under Mac OS when compiled with qmake. This is very suspicious.

     
  • Luigi Baldoni

    Luigi Baldoni - 2021-03-04

    After removing these fragments, I could compile ChessX. But the
    executables are not working neither on Mac OS nor Linux. Under Linux,
    there needs some LD_LIBRARY_PATH magic to be done, which I don't
    understand (Why is this not necessary with qmake????).

    Hard to say without knowing more details. I'm not seeing any of those in my rpm package, which, after a patch removing dep/scid, builds and runs properly.

    Perhaps it's a -rpath problem with the linker?

    And the resulting package under Mac OS lacks two files. If I copy them
    in manually, I'm experiencing the same crash with QTextToSpeech which I
    see under Linux but which I never see under Mac OS when compiled with
    qmake. This is very suspicious.

    Could you tell me more? But I think it's just teething problems, you'll find that cmake is much more pleasant to work with than qmake.

     
  • Jens Nissen

    Jens Nissen - 2021-06-11
    • status: open --> closed
     

Log in to post a comment.