Closed putztzu closed 4 years ago
The linker is not finding the files needed for compiled programs to run. This looks like an installation problem, have you been able to compile other programs (and in particular c++ ones)?
Thx for your reply but I don't think that's the issue in my case. Every other reported issue I found on the Internet was as you suggest, but in those cases the file was on the system but in a different location. In my case, I searched my entire system and didn't find the missing files.
In some reported cases, there was some description that the files were related to cross-compiling, and for that reason the files were needed to compile a boot targeting the dissimilar platform. But, that's unclear because in other instances the files were supposed to be in a subdirectory of gcc.
In any case, I'm now in the process of building in an ubuntu(I think that's what your documentation is based on) 18.10 to see if these files are somehow provided in a way that's not in openSUSE.
This seems like a missing package. I don't use opensuse, but https://software.opensuse.org/package/glibc-devel seems like a likely candidate.
I found it. I think your documentation may be missing the Ubuntu package "build-essentials" (should be verified). On openSUSE, the corresponding package is likely libstdc++6 which provides the standard C libraries.
Build now proceeds, until when it doesn't find a Tensorflow backend which I'm now investigating
I'm re-opening this to track the build instruction updates. Regarding tensorflow, it should be disabled by default so this is a bit strange. What is the build command you are using?
As per instructions, am running build.sh in the root of the cloned repo. Yes, whether the "build-essentials.deb" package is required should be verified on a Debian/Ubuntu system, But on an openSUSE (and likely Fedora) the "libstdc__6" package fulfills the missing requirement for file crti.o.
As for the Tensorflow backend, because that is different than the original issue I asked about here, I opened a new issue and posted the related log there.
Have created a Pull Request with full, complete instructions and unattended script that should do the whole build in one click.
Anyone who wants a peek at this before it's approved can view on my copy of the lc0 github site.
https://github.com/putztzu/lc0/blob/putztzu-patch-1/openSUSE_install.md
This issue can be considered superceded by Pull Request https://github.com/LeelaChessZero/lc0/pull/675
@borg323 as you reopened the issue, is this still relevant? Otherwise, the author of this issue suggested #675 to be a fix (which got merged).
openSUSE 15 (fully updated) gcc 7.3.1 meson 0.46.0 ninja 1.8.2 OpenBLAS package and version openblas-pthreads_0_2_20-gnu-hpc-devel-static .rpm OpenBLAS development headers packages for the above also installed
lc0 cloned from github repo 12/24/2018
Specific questions: Is a cross-compiler of some sort required? See log, looking for cross-compile capability Did a search of the system, verified crti.o does not exist anywhere, should this have been generated or part of a missing package? Thx.
Meson Log Build started at 2018-12-24T14:19:30.223939 Main binary: /usr/bin/python3 Python system: Linux The Meson build system Version: 0.46.0 Source dir: /home/tony/github/lc0 Build dir: /home/tony/github/lc0/build/release Build type: native build Project name: lc0 Sanity testing C++ compiler: c++ Is cross compiler: False. Sanity check compiler command line: c++ /home/tony/github/lc0/build/release/meson-private/sanitycheckcpp.cc -o /home/tony/github/lc0/build/release/meson-private/sanitycheckcpp.exe Sanity check compile stdout:
Sanity check compile stderr: /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: cannot find crt1.o: No such file or directory /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: cannot find crti.o: No such file or directory /usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: cannot find -lm collect2: error: ld returned 1 exit status
meson.build:17:0: ERROR: Compiler c++ can not compile programs.
: