IoLanguage / io

Io programming language. Inspired by Self, Smalltalk and LISP.
http://iolanguage.org
Other
2.67k stars 299 forks source link

Help: Building in openSUSE #467

Closed uncomfyhalomacro closed 1 year ago

uncomfyhalomacro commented 1 year ago

Good evening IoLanguage Core Team and contributors, I have an issue trying to build io in openSUSE. I followed the necessary steps to build it but it seems it cannot find math.h for some weird reason during linking. Is there something I missed when building this software?

You can check the build logs here: https://build.opensuse.org/build/home:uncomfyhalomacro:branches:devel:languages:misc/openSUSE_Tumbleweed/x86_64/io/_log

Some snippet of the build errors.

[   61s] /usr/lib64/gcc/x86_64-suse-linux/12/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/basekit.dir/source/RandomGen.c.o: in function `RandomGen_gaussian':
[   61s] /home/abuild/rpmbuild/BUILD/io-2017.09.06/libs/basekit/source/RandomGen.c:281: undefined reference to `log'
[   61s] /usr/lib64/gcc/x86_64-suse-linux/12/../../../../x86_64-suse-linux/bin/ld: /home/abuild/rpmbuild/BUILD/io-2017.09.06/libs/basekit/source/RandomGen.c:281: undefined reference to `sqrt'
[   61s] collect2: error: ld returned 1 exit status
[   61s] make[2]: *** [libs/basekit/CMakeFiles/basekit.dir/build.make:660: _build/dll/libbasekit.so] Error 1
[   61s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/io-2017.09.06/build'
[   61s] make[1]: *** [CMakeFiles/Makefile2:1525: libs/basekit/CMakeFiles/basekit.dir/all] Error 2
acook commented 1 year ago

FYI that link seems broken, it requires a login?

Does ldconfig -p | grep math return anything?

uncomfyhalomacro commented 1 year ago

Hello. Running ldconfig -p | grep math returns

libtommath.so.1 (libc6,x86-64) => /lib64/libtommath.so.1
libquadmath.so.0 (libc6,x86-64) => /lib64/libquadmath.so.0
libgimpmath-2.0.so.0 (libc6,x86-64) => /lib64/libgimpmath-2.0.so.0
libImath-3_1.so.29 (libc6,x86-64) => /lib64/libImath-3_1.so.29

As for the build log, here it is io_build_log.txt

acook commented 1 year ago

Hmm, that's a lot of errors. Really does seem that math.h has gone missing. Have you verified that it exists?

zypper se --provides --match-exact math.h should tell you what supplies it

It should of course come with the base system or at least development tools:

sudo zypper install -t pattern devel_basis

Also I realized that for silly reasons math.h doesn't link to math.so it links to m.so. But I see -lm in the output, so it should be available at that stage at least.

uncomfyhalomacro commented 1 year ago

Hmm, that's a lot of errors. Really does seem that math.h has gone missing. Have you verified that it exists?

zypper se --provides --match-exact math.h should tell you what supplies it

It should of course come with the base system or at least development tools:

sudo zypper install -t pattern devel_basis

Also I realized that for silly reasons math.h doesn't link to math.so it links to m.so. But I see -lm in the output, so it should be available at that stage at least.

I found out that the release tarballs are broken. it does not include the submodules. so im pulling from git and it builds. i wish the tarballs are not released that way if it's broken.

EDIT: I was wrong. I apologize. I think it's the naming of the directories that's causing the issue. Tried moving around the extracted directory to /tmp and it builds.

uncomfyhalomacro commented 1 year ago

Closing since it's directory names that is causing the issue.