Bug 691264

Summary: outdated "ln -s base/unix-gcc.mak makefile ; make so" instruction
Product: Ghostscript Reporter: Hin-Tak Leung <htl10>
Component: DocumentationAssignee: Default assignee <ghostpdl-bugs>
Status: RESOLVED FIXED    
Severity: normal CC: bluedzins, sergstesh
Priority: P4    
Version: master   
Hardware: PC   
OS: Linux   
Customer: Word Size: ---

Description Hin-Tak Leung 2010-04-26 17:28:28 UTC
A recent invalid bug report contains some ad hoc ideas about editing makefiles, but also apparently follow this piece of instruction in "doc/Make.htm":

Shared object:
To build Ghostscript as a shared object with gcc 
(instead of as a single large executable) use:

	ln -s base/unix-gcc.mak makefile
	make so

I am not entirely sure that this is correct, since the current autoconf-based system generates a good Makefile, and that Makefile includes "unix-gcc.mak" . "make so" works on that, and there is no need to do the "ln -s base/unix-gcc.mak makefile" step.

I think that documentation should either be checked to be working (and put a date to it, and say this method is deprecated), or removed.
Comment 1 Hin-Tak Leung 2010-05-02 09:49:20 UTC
*** Bug 690296 has been marked as a duplicate of this bug. ***
Comment 2 Maciej Pilichowski 2010-05-02 12:41:12 UTC
The so called "duplicate" report contains steps to make GS shared:
http://bugs.ghostscript.com/show_bug.cgi?id=690296#c7
Comment 3 Hin-Tak Leung 2010-05-03 00:33:56 UTC
(In reply to comment #2)
> The so called "duplicate" report contains steps to make GS shared:
> http://bugs.ghostscript.com/show_bug.cgi?id=690296#c7

You did read my senstence "current autoconf-based system generates a good Makefile" . There is no need for any editing and what not. 
   ./configure && make so
Just works. if you want to install in a different location, do "./configure --help", I think you probably want --prefer=/usr/local or something. 

In any case, this bug is about outdated instructions being harmful. And so does manual-editing and overrides. If you do any manual editing and overrides, your bugs are probably largely invalid. (and in any case, you are on your own if you do that).
Comment 4 Hin-Tak Leung 2010-05-03 01:36:56 UTC
"ln -s base/unix-gcc.mak makefile ; make so" does not work,nor 
"ln -s base/unix-gcc.mak makefile ; make" (
./obj/echogs -e .dev -w- -l-obj ./obj/fapiu
make: *** No rule to make target `obj/fapif.dev', needed by `obj/fapi.dev'.  Stop.). The latter is a recent breakage. I'll just the instructions which are clearly non-functional.
Comment 5 Hin-Tak Leung 2010-05-03 03:07:49 UTC
Actually the instruction is clear - that manual editing is for old legacy systems:

"For the convenience of those already familiar with Ghostscript, the old method 
based on hand-edited makefiles is still supported. It may also be helpful in
getting Ghostscript to build on very old platforms. This section deals exclusively
deals exclusively with that older method and includes numerous pointers regarding legacy systems."

I'll reword it to "still possible but no longer supported (and in many cases, simply do not work without substantial expert manual-editing effort)"

and insert a few "(deprecated; see Autoconf-based method above)" at various places as reminder.  It is a bit ugly, but better that than people filing bugs based on instructions for very old systems.
Comment 6 Hin-Tak Leung 2010-05-03 03:18:13 UTC
changes commited as r11167 . It is clear that the instruction is for old legacy systems, so the change is rewording and also adding such reminders in the subsections.
Comment 7 Hin-Tak Leung 2010-05-05 02:23:36 UTC
*** Bug 689641 has been marked as a duplicate of this bug. ***