Problems with compiling Ted

From: Brewer, Edward (BREWERE@OD.NIH.GOV)
Date: Wed Jun 26 2002 - 15:28:49 EDT


Admins,

I have been tasked with compiling ted on our Tru64 5.1 machine in a effort
to use a script that changes rtf to pdf. The original problem is that the
printer will not print rtf's correctly. I have had to jump through many
hoops to get where I am now, such as compiling 4 other independent sources.
Now the last steps of the make process has the following errors...

cc -o <list of objects files> -L/usr/local/lib -ltiff -ljpeg
-L/usr/local/lib -lpng -L/usr/local/lib -lz -lXpm -lXm -lXt -lXext -lSM
-lICE -lX11 -ldnet_stub -lm

ld:
Unresolved:
jpeg_std_error
jpeg_CreateCompress
jpeg_CreateDecompress
jpeg_destroy_compress
jpeg_destroy_decompress
jpeg_set_defaults
jpeg_start_compress
jpeg_write_scanlines
jpeg_finish_compress
jpeg_read_header
jpeg_start_decompress
jpeg_read_scanlines
jpeg_finish_decompress
jpeg_resync_to_restart
*** Exit 1
Stop.
*** Exit 1
Stop.

or if I set CC='gcc';export CC
 
gcc -o <list of objects files> -L/usr/local/lib -ltiff -ljpeg
-L/usr/local/lib -lpng -L/usr/local/lib -lz -lXpm -lXm -lXt -lXext -lSM
-lICE -lX11 -ldnet_stub -lm

jpeg_resync_to_restart
jpeg_std_error
jpeg_destroy_decompress
jpeg_CreateDecompress
jpeg_read_header
jpeg_start_decompress
jpeg_finish_decompress
jpeg_read_scanlines
jpeg_set_defaults
jpeg_write_scanlines
jpeg_CreateCompress
jpeg_start_compress
jpeg_finish_compress
jpeg_destroy_compress
__builtin_va_start
collect2: ld returned 1 exit status
*** Exit 1
Stop.
*** Exit 1
Stop.

Shouldn't there be a -L/usr/local/lib in front of the -ljpeg. I have
examined the makefiles, BTW there are several makefiles that are generated
by the central makefile. The error occurs during execution in the original
makefile

####
#### Compile and link Ted
####

Ted/Ted.static: tedlibs Ted/makefile
        cd Ted && make Ted.static

Ted/Ted: tedlibs Ted/makefile
        cd Ted && make

Ted/makefile: Ted/makefile.in
        cd Ted && ./configure $(CONFIGURE_OPTIONS)

I can see where it performs the cd Ted && make

now in the Ted/ directory after the make is performed I find a makefile. In
the listing of this makefile the value for JPEG_LIB= is null. I noticed
that there is a makefile.in in that directory that contains a
JPEG_LIB=@JPEG_LIB@. I tried substituting the actual path here and is shows
up in the cc or gcc line but it complains that it can't find it. Is there a
way I can assign a value in the makefile under Ted to JPEG_LIB=<path> and
then issue a make in that directory again.

Lee Brewer

Here is the Makefile

####
#### Makefile for Ted
#### ================
####
#### No explicit 'configure' is needed as it is done by the 'make'
process
#### for the various targets.
####
#### Sensible targets are:
#### ---------------------
####
#### compile: Just build an executable in the 'Ted' directory.
#### private: Install the Ted executable and the most essential
#### files for yourself only.
#### package: Build a package. Must be run as root.
#### install: Install the package. Must be run as root.
#### clean: Cleanup rubbish from previous attempts.
####
#### compile.shared: Compile, do not try to link statically.
#### package.shared: Build a package, using the dynamically linked
#### executable.
#### install.shared: Install the package. Must be run as root.
#### Installs the package just made, does not force
#### the package to be dynamically linked. This target
#### exists only for convenience.
####
#### Actively supported 'configure' options are:
#### -------------------------------------------
####
#### --prefix Use another place than /usr/local
#### for installation. E.G.
#### --prefix=/opt/Ted
#### --with-MOTIF Use the Motif gui toolkit. (The
#### default)
#### --with-GTK Use the Gtk+ gui toolkit. (Still
#### experimental)
####
####
####
#### P.S. To port to Compaq OpenVMS, use the files in vms_files.tar.
#### It contains an explanatory note as well.
####
#### P.S. I admit that this makefile is more like a shell script.
####

#CONFIGURE_OPTIONS=--with-MOTIF
CONFIGURE_OPTIONS=""
compile: tedlibs \
                Ted/Ted \
                Ted/Ted.static
        :
        : Static executable Ted/Ted.static ready
        : * To make an installation package
        : you can now run 'make package' AS ROOT
        : * To install Ted for yourself only
        : you can now run 'make private'

compile.shared: tedlibs \
                Ted/Ted
        :
        : Dynamic executable Ted/Ted ready
        : * To make an installation package
        : you can now run 'make package.shared' AS ROOT
        : * To install Ted for yourself only
        : you can now run 'make private'

####
#### Make library directory.
####

lib:
        mkdir lib

####
#### Build ted libraries
####
tedlibs: lib \
                lib/bitmap.a \
                lib/ind.a \
                lib/reg.a \
                lib/appUtil.a \
                lib/appFrame.a

####
#### Compile the bitmap manipulation library
####

lib/bitmap.a: bitmap/makefile
        cd bitmap && make

bitmap/makefile: bitmap/makefile.in
        cd bitmap && ./configure $(CONFIGURE_OPTIONS)

####
#### Compile the spell checker library
####

lib/ind.a: ind/makefile
        cd ind && make

ind/makefile: ind/makefile.in
        cd ind && ./configure $(CONFIGURE_OPTIONS)

####
#### Compile the regular expression library
####

lib/reg.a: libreg/makefile
        cd libreg && make

libreg/makefile: libreg/makefile.in
        cd libreg && ./configure $(CONFIGURE_OPTIONS)

####
#### Compile the application utility library
####

lib/appUtil.a: appUtil/makefile
        cd appUtil && make

appUtil/makefile: appUtil/makefile.in
        cd appUtil && ./configure $(CONFIGURE_OPTIONS)

####
#### Compile the application framework library
####

lib/appFrame.a: appFrame/makefile
        cd appFrame && make

appFrame/makefile: appFrame/makefile.in
        cd appFrame && ./configure $(CONFIGURE_OPTIONS)

####
#### Compile and link Ted
####

Ted/Ted.static: tedlibs Ted/makefile
        cd Ted && make Ted.static

Ted/Ted: tedlibs Ted/makefile
        cd Ted && make

Ted/makefile: Ted/makefile.in
        cd Ted && ./configure $(CONFIGURE_OPTIONS)

####
#### Make a ready to install package
#### Must be run as root
####

package: tedPackage/makefile compile
        cd tedPackage && make
        :
        : Package ready.
        : To install Ted, you can now run 'make install' AS ROOT

package.shared: tedPackage/makefile compile.shared
        cd tedPackage && make package.shared
        :
        : Dynamically linked package ready.
        : To install Ted, you can now run 'make install' AS ROOT

tedPackage/makefile: tedPackage/makefile.in
        cd tedPackage && ./configure $(CONFIGURE_OPTIONS)

####
#### Install Ted from the package just built
####

install: package
        sh ./tedPackage/installTed.sh

install.shared: package.shared
        sh ./tedPackage/installTed.sh

####
#### Install Ted for yourself
####

PRIVATE_FILES=\
        $(HOME)/afm/Helvetica.afm \
        $(HOME)/afm/Courier.afm \
        $(HOME)/afm/Symbol.afm \
        $(HOME)/afm/Times-Roman.afm \
        $(HOME)/Ted/TedDocument-en_US.rtf \
        $(HOME)/Ted/Ted.ad.sample \
        $(HOME)/ind/US_English.ind

$(HOME)/bin/Ted: Ted/Ted
        test -d $(HOME)/bin || mkdir $(HOME)/bin
        cp Ted/Ted.static $(HOME)/bin/Ted || cp Ted/Ted $(HOME)/bin/Ted

$(PRIVATE_FILES):
        h=`pwd` && cd && tar xvf $$h/tedPackage/TedBindist.tar

private: $(HOME)/bin/Ted $(PRIVATE_FILES)
        @echo ========= Include the following in $(HOME)/.Xdefaults
=========
        @echo Ted.documentFileName: $(HOME)/Ted/TedDocument-en_US.rtf
        @echo Ted.afmDirectory: $(HOME)/afm
        @echo Ted.spellToolSystemDicts: $(HOME)/ind

####
#### Cleanup
####

clean:
        rm -fr lib
        rm -f */config.cache */config.log */config.status
        rm -f appUtil/appUtilConfig.h
        rm -f appFrame/appFrameConfig.h
        rm -f Ted/tedConfig.h
        rm -f ind/indConfig.h
        rm -f bitmap/bitmapConfig.h
        rm -f */makefile
        rm -f */*.o
        rm -f Ted/Ted Ted/Ted.static
        rm -fr tedPackage/scratch
        rm -f tedPackage/*.gz
        rm -f tedPackage/*.lsm
        rm -f tedPackage/installTed.sh
        rm -f tedPackage/README
        rm -f tedPackage/package
        rm -f tedPackage/package.shared



This archive was generated by hypermail 2.1.7 : Sat Apr 12 2008 - 10:48:44 EDT