Re: emelfm2-0.5.1 wont compile with "DOCS_VERSION=1"

  • From: Charles A Edwards <eslrahc@xxxxxxxxxxxxx>
  • To: emelfm2@xxxxxxxxxxxxx
  • Date: Thu, 26 Feb 2009 12:37:38 -0500

On Wed, 25 Feb 2009 23:00:37 +0100
Christoph Wickert wrote:

 
> I'm failing to build emelfm2 with gcc-4.3.2 when setting
> DOCS_VERSION=1:
> 
> > + make -j3 'OPTIMIZE=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
> > -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32
> > -march=i386 -mtune=generic -fasynchronous-unwind-tables' 'CFLAGS=-O2
> > -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
> > -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386
> > -mtune=generic -fasynchronous-unwind-tables' PREFIX=/usr
> > DOCS_VERSION=1 WITH_TRANSPARENCY=1 WITH_KERNELFAM=1 USE_LATEST=1
> > NEW_COMMAND=1 WITH_ACL=1
> > creating object directories in 'objs'
> > Makefile:51: *** Recursive variable `DOC_DIR' references itself
> > (eventually).  Stop.  
> 
> When I remove the DOCS_VERSION the build is ok, but of course the docs
> end up in the wrong folders.


I can confirm this behaviour.


Attached are 2 patches which should correct the error.

Please note DOCS_VERSION Must be set 1 in Makefile.config (as in done
in the patch).
If you try to pass DOCS_VERSION=1 at "make" the build will now complete
but the "docs" will not be installed to a versioned dir.
Have yet to crack this issue but can hopefully look into it more later.


    Charles


-- 
guru, n:
        A computer owner who can read the manual.
----------------------
Mandriva Linux release 2009.1 (Cooker) for x86_64$
On SuperSize....http://www.eslrahc.com
Registered Linux user #182463
2.6.29-tmb-server-0.rc6.1.2mdv AMD Athlon(tm) 64 X2 Dual Core Processor
6400+ ----------------------
--- Makefile.config~    2009-02-26 12:18:18.000000000 -0500
+++ Makefile.config     2009-02-26 12:23:39.000000000 -0500
@@ -7,7 +7,7 @@
 ### documentation ###
 #####################
 # setting this to 1 makes the default docs dir include the current version no.
-DOCS_VERSION ?= 0
+DOCS_VERSION ?= 1
 
 #the name of the default main-user-guide document
 HELPDOC ?= USAGE
@@ -168,7 +168,11 @@
 LOCALE_DIR ?= $(PREFIX)/share/locale
 MAN_DIR ?= $(PREFIX)/share/man/man1
 # version-number suffix is appended to doc-path in main Makefile, if 
appropriate
+ifeq ($(DOCS_VERSION), 1)
+DOC_DIR ?= $(PREFIX)/share/doc/$(TARGET)-$(VERSION)
+else
 DOC_DIR ?= $(PREFIX)/share/doc/$(TARGET)
+endif
 
 #########################
 ### compilation (how) ###
--- Makefile~   2009-02-26 12:18:18.000000000 -0500
+++ Makefile    2009-02-26 12:07:45.000000000 -0500
@@ -45,11 +45,7 @@
 BUILDDATE=$(shell date)
 BUILDSTAMP=$(shell date +"%02d %b %04Y")
 BUILDINFO=$(shell uname) $(shell uname -r)/$(shell uname -m)
-COPYRIGHT=2003-$(shell date +"%04Y"), tooar <tooar@xxxxxxx>
-
-ifeq ($(DOCS_VERSION), 1)
-DOC_DIR=$(DOC_DIR)-$(VERSION)
-endif
+COPYRIGHT=2003-$(shell date +"%04Y"), tooar <tooar@xxxxxxx> 
 
 # object directories that have to be created
 MKOBJDIRS = $(foreach dir, $(DIRS) $(LIBS) $(OPTLIBS), $(OBJECTS_DIR)/$(dir))

Other related posts: