skarnet / execline

The execline scripting language
https://skarnet.org/software/execline/
ISC License
151 stars 19 forks source link

Failing to build #4

Closed raymondtri closed 2 years ago

raymondtri commented 3 years ago

Following the standard build-from-code process

RUN cd /tmp && git clone git://git.skarnet.org/execline && cd execline && ./configure && make && make install

In libskarnet.so we are receiving errors stating an undefined reference to timer_create, timer_delete, and timer_settime.

This appears related to the execline repo which is why I posted it here, but it seems like it could be related to the skarnet/skalibs repo / dependency as well.

skarnet commented 3 years ago

It was a bug in the skalibs configure script, thanks for reporting! It should be fixed now in the skalibs git head. I'm in the process of making big changes, including API ones, so the git heads are in flux and not everything will be stable until I'm done with it. skalibs and execline are done and you should be able to build them now, but s6 and s6-rc are broken atm and will likely be until later this week. Sorry about that. If you need to build the whole skarnet.org stack this week, use the latest numbered versions (via git checkout $taggedcommit if you need to use git). they're guaranteed to build; else, everything should be stable again next week.

raymondtri commented 3 years ago

So we are still getting issues even with using the latest numbered versions:

HEAD is now at fd1ac9f  version: 2.9.2.0
src/libs6/s6_supervise_lock_mode.c: In function 's6_supervise_lock_mode':
--
976 | src/libs6/s6_supervise_lock_mode.c:35:7: error: implicit declaration of function 'lock_ex' [-Werror=implicit-function-declaration]
977 | if (lock_ex(fdlock) < 0)
978 | ^~~~~~~
979 | cc1: some warnings being treated as errors
980 | Makefile:135: recipe for target 'src/libs6/s6_supervise_lock_mode.lo' failed
981 | make: *** [src/libs6/s6_supervise_lock_mode.lo] Error 1
982 | The command '/bin/sh -c cd /tmp && git clone https://github.com/skarnet/s6.git && cd s6 && git checkout fd1ac9f946604eb1c6626d589c8a8c4f2e820997 && ./configure && make && make install' returned a non-zero code: 2
raymondtri commented 3 years ago

The skalibs and execline are building without error now though!

raymondtri commented 3 years ago

For now we are just going to roll everything back to previous versions, we don't need a lot of the new stuff yet but we will be watching it closely for the stable build. Thank you for all of your work! Love the packages

skarnet commented 3 years ago

No, the numbered s6 version will build against the numbered skalibs version. If you're seeing that lock_ex error it means you're still building against the latest skalibs git head (which has a soname of skalibs-2.10, not skalibs-2.9).

JSONY18 commented 3 years ago

Hi Raymondtri, Could you attach a concise steps how to solve the issue that you mentioned above (s6_supervise_lock_mode.c:35:7: error: implicit declaration of function 'lock_ex')? since I encountered the same issue with different libraries. How did you successfully built the latest execline and s6 version? Thanks in advances

skarnet commented 3 years ago

That error will not appear with the latest version of execline. Please follow the version dependencies that are indicated in the doc/index.html file or the INSTALL file.

hongkongkiwi commented 3 years ago

I found similar issues when compiling, turns out I had some old versions of the library around (I was using bulldroot).

After compiling with all the latest versions on a clean system, I had no more issues.

skarnet commented 2 years ago

Closing this.