I had a look at building gforth 0.7.3 from within Debian sid and dpkg-
buildpackage.

What's happening here is that lt_dlopen() can't find the just generated files; 
the generated libraries are in the build directory (a subdirectory of it) and 
fine, they are just in a place where the loader doesn't look at.  The 
development snapshots (which will become Gforth 1.0 soon) have a solution for 
that that isn't too easy to backport, and doesn't work for cross-compiling 
(the cross compiled libraries won't load into the host's Gforth), in which 
case these errors are just ignored.

Therefore I recommend to ignore the error, see attached

libcc-err-ignore.patch

(to be applied last).

Furthermore, I have some issues building Gforth 0.7.3 when the current 
development Gforth is already installed.  That patch (gforth-ditc-for-
kernel.patch) could become useful in future.

When you already are at it: What I would strongly recommend to revert the 
removal of the documentation: It's GFDL with no invariant sections, so 
it is compatible with the Debian rules since 2006 (which was even before we 
released Gforth 0.7). Gforth without documentation isn't very useful, we 
recommend Gforth users not to use Debian's package for any other purpose than 
to compile the source code (from git; the tarball doesn't need it). But for 
that purpose it should stay there.

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
net2o id: kQusJzA;7*?t=uy@X}1GWr!+0qqp_Cn176t4(dQ*
https://net2o.de/
Description: Ignore failure on open-lib with libcc build stuff
Author: Bernd Paysan <be...@net2o.de>
Bug-Debian: https://bugs.debian.org/1067376
Last-Update: 2024-03-30

--- gforth-0.7.3+dfsg.orig/Makefile.in
+++ gforth-0.7.3+dfsg/Makefile.in
@@ -652,7 +652,7 @@ uninstall:	FORCE
 
 build-libcc-named: $(LIBCC_BUILD_SRC) $(FORTH_GEN) $(GEN) FORCE
 		$(RMTREE) lib/gforth/$(VERSION)/libcc-named/
-		for i in $(LIBCC_BUILD_SRC); do ./gforth -e "s\" `pwd`/lib/gforth/$(VERSION)/libcc-named/\" libcc-named-dir-v 2! libcc-path clear-path libcc-named-dir libcc-path also-path :noname 2drop s\" $(libccdir)\" ; is replace-rpath" $(srcdir)/$$i -e bye; done
+		-for i in $(LIBCC_BUILD_SRC); do ./gforth -e "s\" `pwd`/lib/gforth/$(VERSION)/libcc-named/\" libcc-named-dir-v 2! libcc-path clear-path libcc-named-dir libcc-path also-path :noname 2drop s\" $(libccdir)\" ; is replace-rpath" $(srcdir)/$$i -e bye; done
 
 check:		gforths	gforth.fi 
 		$(MAKE) checkone check-nofast ENGINE="./gforth --no-dynamic" >/dev/null 2>&1
Description: Build gforth-ditc first before building the kernel, use gforth-ditc for that
Author: Bernd Paysan <be...@net2o.de>
Bug-Debian: https://bugs.debian.org/1067376
Last-Update: 2024-03-30

--- gforth-0.7.3+dfsg.orig/Makefile.in
+++ gforth-0.7.3+dfsg/Makefile.in
@@ -449,7 +449,7 @@ FORTH_GEN =  $(FORTH_GEN0) @KERNEL@ gfor
 FORTH_GEN1 = $(FORTH_GEN0) @kernel_fi@ build-ec
 
 #kernel dependencies
-KERN_DEPS = $(KERN_SRC) kernel/version.fs machpc.fs $(FORTH_GEN0) compat/strcomp.fs
+KERN_DEPS = $(KERN_SRC) kernel/version.fs machpc.fs $(FORTH_GEN0) gforth-ditc$(EC)$(EXE) compat/strcomp.fs
 
 #distributed documentation
 DOCDIST = doc/gforth.info doc/gforth.info-* doc/gforth.ps \
--- gforth-0.7.3+dfsg.orig/preforth.in
+++ gforth-0.7.3+dfsg/preforth.in
@@ -17,7 +17,7 @@
 #You should have received a copy of the GNU General Public License
 #along with this program. If not, see http://www.gnu.org/licenses/.
 
-test -z "$ENGINE" && ENGINE=./gforth
+test -z "$ENGINE" && ENGINE=./gforth-ditc
 test -f "@srcdir@/@kernel_fi@" && KERNEL="@srcdir@/@kernel_fi@"
 test -f "@kernel_fi@" && KERNEL="@kernel_fi@"
 if test -f $ENGINE -a -f $KERNEL; then 

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to