Apparently, Makefile lacks a rule to build a necessary library Reproducible: Always Steps to Reproduce: emerge ragel Actual Results: make[3]: Entering directory '/Users/askarbektassov/Gentoo/var/tmp/portage/dev-util/ragel-7.0.4/work/ragel-7.0.4/src' ... arm64-apple-darwin21-g++ -DHAVE_CONFIG_H -I. -I../aapl -I../colm/include -I/Users/askarbektassov/Gentoo/usr/include/aapl -I/Users/askarbektassov/Gentoo/usr/include -O2 -pipe -c -o ragel-rlreduce.o `test -f 'rlreduce.cc' || echo './'`rlreduce.cc make[3]: *** No rule to make target '/Users/askarbektassov/Gentoo/usr/lib/libfsm.la', needed by 'ragel'. Stop. make[3]: *** Waiting for unfinished jobs.... Expected Results: make[3]: Entering directory '/Users/askarbektassov/Gentoo/var/tmp/portage/dev-util/ragel-7.0.4/work/ragel-7.0.4/src' arm64-apple-darwin21-g++ -DHAVE_CONFIG_H -I. -I../aapl -I../colm/include -I/Users/askarbektassov/Gentoo/usr/include/aapl -I/Users/askarbektassov/Gentoo/usr/include -O2 -pipe -c -o ragel-main.o `test -f 'main.cc' || echo './'`main.cc arm64-apple-darwin21-gcc -DHAVE_CONFIG_H -I. -I../aapl -I../colm/include -I/Users/askarbektassov/Gentoo/usr/include/aapl -I/Users/askarbektassov/Gentoo/usr/include -O2 -pipe -c -o ragel-parse.o `test -f 'parse.c' || echo './'`parse.c arm64-apple-darwin21-g++ -DHAVE_CONFIG_H -I. -I../aapl -I../colm/include -I/Users/askarbektassov/Gentoo/usr/include/aapl -I/Users/askarbektassov/Gentoo/usr/include -O2 -pipe -c -o ragel-rlreduce.o `test -f 'rlreduce.cc' || echo './'`rlreduce.cc make[3]: *** No rule to make target '/Users/askarbektassov/Gentoo/usr/lib/libfsm.la', needed by 'ragel'. Stop. make[3]: *** Waiting for unfinished jobs.... make[3]: Leaving directory '/Users/askarbektassov/Gentoo/var/tmp/portage/dev-util/ragel-7.0.4/work/ragel-7.0.4/src' make[2]: *** [Makefile:852: all-recursive] Error 1 It would seem that ragel was compiled successfully in August, when I still used gcc 12.1 and CLT for Xcode 13.4, which makes me wonder how come it does not compile now. askarbektassov@Askars-MBP ~ $ qlop ragel 2022-08-06T10:22:59 >>> dev-util/ragel: 1′13″
I hate I cannot edit my posts :))) made a mess with descriptions, and now it all garbled
Just noticed that elibtoolize is failing to apply one of the patches. >>> Emerging (1 of 1) dev-util/ragel-7.0.4::gentoo_prefix ... * Running elibtoolize in: ragel-7.0.4/ * Applying portage/1.2.0 patch ... * Applying sed/1.5.6 patch ... * Applying as-needed/2.4.3 patch ... * Darwin patch set 'darwin-conf' failed to apply! >>> Source prepared.
I see this too, libsmf should come from colm, but I wonder by it depends on libsmf.la
Apparently, there was a problem upstream... https://github.com/adrian-thurston/ragel/issues/78 In any case, I noticed that libfsm.la and libcolm.la should have been installed by colm. However, starting from 0.14.7, it does not install them. It only installs their dylib equivalents. When I emerge dev-util/colm-0.14.7-r2, I noticed that at least in case of libcolm.la it clearly says that it has not been installed. ... first this ... make[3]: Entering directory '/Users/askarbektassov/Gentoo/var/tmp/portage/dev-util/colm-0.14.7-r2/work/colm-0.14.7/src/libfsm' /Users/askarbektassov/Gentoo/usr/bin/mkdir -p '/Users/askarbektassov/Gentoo/var/tmp/portage/dev-util/colm-0.14.7-r2/image/Users/askarbektassov/Gentoo/usr/include/libfsm/' /Users/askarbektassov/Gentoo/usr/bin/mkdir -p '/Users/askarbektassov/Gentoo/var/tmp/portage/dev-util/colm-0.14.7-r2/image/Users/askarbektassov/Gentoo/usr/lib' /Users/askarbektassov/Gentoo/usr/bin/bash ../../libtool --mode=install /Users/askarbektassov/Gentoo/usr/bin/install -c libfsm.la '/Users/askarbektassov/Gentoo/var/tmp/portage/dev-util/colm-0.14.7-r2/image/Users/askarbektassov/Gentoo/usr/lib' /Users/askarbektassov/Gentoo/usr/bin/install -c -m 644 action.h fsmgraph.h common.h gendata.h redfsm.h dot.h asm.h ragel.h '/Users/askarbektassov/Gentoo/var/tmp/portage/dev-util/colm-0.14.7-r2/image/Users/askarbektassov/Gentoo/usr/include/libfsm/' libtool: install: /Users/askarbektassov/Gentoo/usr/bin/install -c .libs/libfsm-0.14.7.dylib /Users/askarbektassov/Gentoo/var/tmp/portage/dev-util/colm-0.14.7-r2/image/Users/askarbektassov/Gentoo/usr/lib/libfsm-0.14.7.dylib libtool: install: (cd /Users/askarbektassov/Gentoo/var/tmp/portage/dev-util/colm-0.14.7-r2/image/Users/askarbektassov/Gentoo/usr/lib && { ln -s -f libfsm-0.14.7.dylib libfsm.dylib || { rm -f libfsm.dylib && ln -s libfsm-0.14.7.dylib libfsm.dylib; }; }) libtool: install: /Users/askarbektassov/Gentoo/usr/bin/install -c .libs/libfsm.lai /Users/askarbektassov/Gentoo/var/tmp/portage/dev-util/colm-0.14.7-r2/image/Users/askarbektassov/Gentoo/usr/lib/libfsm.la libtool: warning: remember to run 'libtool --finish /Users/askarbektassov/Gentoo/usr/lib' make[3]: Leaving directory '/Users/askarbektassov/Gentoo/var/tmp/portage/dev-util/colm-0.14.7-r2/work/colm-0.14.7/src/libfsm' ... and then this ... make[3]: Entering directory '/Users/askarbektassov/Gentoo/var/tmp/portage/dev-util/colm-0.14.7-r2/work/colm-0.14.7/src' /Users/askarbektassov/Gentoo/usr/bin/mkdir -p '/Users/askarbektassov/Gentoo/var/tmp/portage/dev-util/colm-0.14.7-r2/image/Users/askarbektassov/Gentoo/usr/bin' /Users/askarbektassov/Gentoo/usr/bin/mkdir -p '/Users/askarbektassov/Gentoo/var/tmp/portage/dev-util/colm-0.14.7-r2/image/Users/askarbektassov/Gentoo/usr/lib' /Users/askarbektassov/Gentoo/usr/bin/bash ../libtool --mode=install /Users/askarbektassov/Gentoo/usr/bin/install -c libcolm.la '/Users/askarbektassov/Gentoo/var/tmp/portage/dev-util/colm-0.14.7-r2/image/Users/askarbektassov/Gentoo/usr/lib' /Users/askarbektassov/Gentoo/usr/bin/mkdir -p '/Users/askarbektassov/Gentoo/var/tmp/portage/dev-util/colm-0.14.7-r2/image/Users/askarbektassov/Gentoo/usr/include/colm' /Users/askarbektassov/Gentoo/usr/bin/install -c colm-wrap '/Users/askarbektassov/Gentoo/var/tmp/portage/dev-util/colm-0.14.7-r2/image/Users/askarbektassov/Gentoo/usr/bin' /Users/askarbektassov/Gentoo/usr/bin/install -c -m 644 config.h bytecode.h defs.h debug.h pool.h input.h pdarun.h map.h type.h tree.h struct.h program.h colm.h internal.h colmex.h '/Users/askarbektassov/Gentoo/var/tmp/portage/dev-util/colm-0.14.7-r2/image/Users/askarbektassov/Gentoo/usr/include/colm' libtool: install: /Users/askarbektassov/Gentoo/usr/bin/install -c .libs/libcolm-0.14.7.dylib /Users/askarbektassov/Gentoo/var/tmp/portage/dev-util/colm-0.14.7-r2/image/Users/askarbektassov/Gentoo/usr/lib/libcolm-0.14.7.dylib libtool: install: (cd /Users/askarbektassov/Gentoo/var/tmp/portage/dev-util/colm-0.14.7-r2/image/Users/askarbektassov/Gentoo/usr/lib && { ln -s -f libcolm-0.14.7.dylib libcolm.dylib || { rm -f libcolm.dylib && ln -s libcolm-0.14.7.dylib libcolm.dylib; }; }) libtool: install: /Users/askarbektassov/Gentoo/usr/bin/install -c .libs/libcolm.lai /Users/askarbektassov/Gentoo/var/tmp/portage/dev-util/colm-0.14.7-r2/image/Users/askarbektassov/Gentoo/usr/lib/libcolm.la libtool: warning: remember to run 'libtool --finish /Users/askarbektassov/Gentoo/usr/lib' /Users/askarbektassov/Gentoo/usr/bin/mkdir -p '/Users/askarbektassov/Gentoo/var/tmp/portage/dev-util/colm-0.14.7-r2/image/Users/askarbektassov/Gentoo/usr/bin' /Users/askarbektassov/Gentoo/usr/bin/bash ../libtool --mode=install /Users/askarbektassov/Gentoo/usr/bin/install -c colm '/Users/askarbektassov/Gentoo/var/tmp/portage/dev-util/colm-0.14.7-r2/image/Users/askarbektassov/Gentoo/usr/bin' libtool: warning: '/Users/askarbektassov/Gentoo/var/tmp/portage/dev-util/colm-0.14.7-r2/work/colm-0.14.7/src/libcolm.la' has not been installed in '/Users/askarbektassov/Gentoo/usr/lib' libtool: install: /Users/askarbektassov/Gentoo/usr/bin/install -c .libs/colm /Users/askarbektassov/Gentoo/var/tmp/portage/dev-util/colm-0.14.7-r2/image/Users/askarbektassov/Gentoo/usr/bin/colm make[3]: Leaving directory '/Users/askarbektassov/Gentoo/var/tmp/portage/dev-util/colm-0.14.7-r2/work/colm-0.14.7/src'
can try the lafiles fix from https://github.com/macports/macports-ports/commit/cd2c9d0da801a359f456efc50a3aeeaf6dd86596
Created attachment 828547 [details, diff] addresses the lack of .la files on macOS dev-util/colm-0.14.7-r2 installs dylib files, in place of libcolm.la and libfsm.la. For this reason, ragel is fails during compilation. Replacing the above with generic -lcolm and -lfsm should fix the problem.
(In reply to Fabian Groffen from comment #5) > can try the lafiles fix from > https://github.com/macports/macports-ports/commit/ > cd2c9d0da801a359f456efc50a3aeeaf6dd86596 Yep, their patch seems to work, except that instead of AC_CHECK_LIB( [fsm], [LIBFSM_LA=-lfsm], [AC_ERROR([libfsm is required to build ragel])] ) I had to use the following, otherwise it was not metting -lfsm in some deeper Makefiles AC_CHECK_LIB( [fsm], main, [LIBFSM_LA=-lfsm], [AC_ERROR([libfsm is required to build ragel])] )
@lu_zero: ok to apply this patch for macOS?
i see the same error on amd64, not only prefix :/
(In reply to Fabian Groffen from comment #8) > @lu_zero: ok to apply this patch for macOS? go for it
this was actually fixed by e155af013558a4a3164fb9867ef1d65d34c6ed3a *** This bug has been marked as a duplicate of bug 832391 ***