Bug#339442: [Pkg-octave-devel] Bug#339442: octave2.9: error at startup: __gnuplot_init__ undefined

John W. Eaton jwe at bevo.che.wisc.edu
Wed Nov 16 19:18:33 UTC 2005


On 16-Nov-2005, Rafael Laboissiere wrote:

| [Please, keep Cc: to 339442 at bugs.debian.org]
| 
| * John W. Eaton <jwe at bevo.che.wisc.edu> [2005-11-16 12:49]:
| 
| > OK, I will fix this by generating this PKG_ADD file differently so we
| > avoid problems related to creating a package by running make install
| > with a value of prefix that is different from the one used at configure
| > time.
| 
| I am happy that the riddle is solved.  Indeed, mk-pkg-add is called with
| --prefix having the DESTDIR in it.  I could not reproduce the error,
| because I had the build tree present in my system.
| 
| Please provide a patch that I can apply to the 2.9.4 tarball and I will
| immediately upload a fixed version of the package.

Try the following.

jwe


src/ChangeLog:

2005-11-16  John W. Eaton  <jwe at octave.org>

	* Makefile.in (PKG_ADD.inst): New target.
	(install): Dependo on it.
	(clean): Remove it.

	* mk-pkg-add: New option --install.  Don't use --prefix option.
	Delete obsolete comments.


Index: src/Makefile.in
===================================================================
RCS file: /cvs/octave/src/Makefile.in,v
retrieving revision 1.390
diff -u -r1.390 Makefile.in
--- src/Makefile.in	12 Nov 2005 02:31:23 -0000	1.390
+++ src/Makefile.in	16 Nov 2005 18:43:40 -0000
@@ -343,8 +343,12 @@
 	@$(top_srcdir)/move-if-change $@-t $@
 
 PKG_ADD: $(DLD_DEF_FILES)
-	$(srcdir)/mk-pkg-add --prefix $(shell pwd) $(DLD_DEF_FILES) > PKG_ADD-t
-	mv PKG_ADD-t PKG_ADD
+	$(srcdir)/mk-pkg-add --prefix $(shell pwd) $(DLD_DEF_FILES) > $@-t
+	mv $@-t $@
+
+PKG_ADD.inst: $(srcdir)/mk-pkg-add $(DLD_DEF_FILES)
+	$(srcdir)/mk-pkg-add --install $(DLD_DEF_FILES) > $@-t
+	mv $@-t $@
 
 DOCSTRINGS: gendoc$(BUILD_EXEEXT)
 	./gendoc > $@-t
@@ -396,9 +400,9 @@
 	cd $(DESTDIR)$(bindir) ; $(LN_S) octave-$(version)$(EXEEXT) octave$(EXEEXT)
 .PHONY: install-bin
 
-install-oct:
+install-oct: PKG_ADD.inst
 	$(top_srcdir)/mkinstalldirs $(DESTDIR)$(octfiledir)
-	$(srcdir)/mk-pkg-add --prefix $(octfiledir) $(DLD_DEF_FILES) > $(DESTDIR)$(octfiledir)/PKG_ADD
+	$(INSTALL_DATA) PKG_ADD.inst $(DESTDIR)$(octfiledir)/PKG_ADD
 	if [ -n "$(OCT_FILES)" ]; then \
 	  xfiles="$(OCT_FILES)"; \
 	  for f in $$xfiles; do \
@@ -472,6 +476,7 @@
 	rm -f $(PICOBJ) $(DLD_PICOBJ) stmp-pic gendoc$(EXEEXT)
 	rm -f builtins.cc ops.cc defaults.h oct-conf.h def-files var-files
 	rm -f PKG_ADD
+	rm -f PKG_ADD.inst
 	-rmdir pic
 .PHONY: clean
 
Index: src/mk-pkg-add
===================================================================
RCS file: /cvs/octave/src/mk-pkg-add,v
retrieving revision 1.1
diff -u -r1.1 mk-pkg-add
--- src/mk-pkg-add	11 Nov 2005 17:45:51 -0000	1.1
+++ src/mk-pkg-add	16 Nov 2005 18:43:40 -0000
@@ -1,21 +1,25 @@
 #! /bin/sh -e
 
-# Create additional links to .oct files that define more than one
-# function.
-
-# If the first arg is --print, only print the links we need to make.
-
-# The first non-option arg is taken as the directory where the .oct
-# files are installed.  The remaining arguments should be the list of
-# .df files corresponding to the source files that were used to
-# create the .oct files.
-
 SED=${SED:-'sed'}
 
+install=false
 if [ $1 = "--prefix" ]; then
   shift
   prefix="$1"
   shift
+elif [ $1 = "--install" ]; then
+  install=true
+  shift
+fi
+
+if [ $# -gt 0 ]; then
+  if $install; then
+    cat <<EOF
+__octfiledir__ = strrep (octave_config_info ("octfiledir"),
+                         octave_config_info ("prefix"),
+                         OCTAVE_HOME);
+EOF
+  fi
 fi
 
 for f in "$@"; do
@@ -33,7 +37,9 @@
 	  true
 	else
           if [ -n "$prefix" ]; then
-	    echo "autoload (\"$n\", \"$prefix/$base.oct\");"
+	    echo "autoload (\"$n\", strcat (\"$prefix\", filesep, \"$base.oct\"));"
+          elif $install; then
+            echo "autoload (\"$n\", strcat (__octfiledir__, filesep, \"$base.oct\"));"
 	  else
 	    echo "autoload (\"$n\", \"$base.oct\");"
 	  fi




More information about the Pkg-octave-devel mailing list