XForms: Compile: flcolor.o(.text+0x1139): undefined reference to `_IO_stderr_'

From: Robert Williams (bob@bob.usuhs.mil)
Date: Fri Jul 06 2001 - 16:11:27 EDT

  • Next message: Steve Lamont: "Re: XForms: Compile: flcolor.o(.text+0x1139): undefined reference to `_IO_stderr_'"

    # To subscribers of the xforms list from Robert Williams <bob@bob.usuhs.mil> :

    This compiled without errors a few years ago,
    using an earlier version of xforms; I've forgotten which one.
    Returning to this package using version .88 and .89,
    I get this, below. There must be an obvious fix for this
    that just escapes me.... Thanks for any help in advance...

    Bob Williams
    _____________________________

    [root@son xspectra]# make
    rm -f epss_out.dat
    g77 -d_lines -g -static matrix_utils.o xspectra.o xspectra_cb.o
    spline3.o xspectra_main.o deriv2.o pgplot_cb.o factda.o factor.o ldp.o
    lssol.o mfeout.o qrbd.o
    svaplt.o svdrs.o epssnnls_main.o diff.o epssnnls_sub.o
    reference_ir_data.o fit.o g1.o g2.o h12.o nnls.o reference_raman_data.o
    reference_raman_amide3.o normalize.o \
    -o xspectra -ltooltips -lforms russ/v1.o russ/v2.o russ/v3.o
    -L/usr/X11R6/lib -lX11 -lgcc -lfftw -lm
    /usr/X11R6/lib/libforms.a(flcolor.o): In function `get_shared_cmap':
    flcolor.o(.text+0x1139): undefined reference to `_IO_stderr_'
    flcolor.o(.text+0x119f): undefined reference to `_IO_stderr_'
    flcolor.o(.text+0x1205): undefined reference to `_IO_stderr_'
    flcolor.o(.text+0x126b): undefined reference to `_IO_stderr_'
    flcolor.o(.text+0x12d1): undefined reference to `_IO_stderr_'
    /usr/X11R6/lib/libforms.a(flcolor.o)(.text+0x1337): more undefined
    references to `_IO_stderr_' follow
    collect2: ld returned 1 exit status
    make: [xspectra] Error 1 (ignored)

    ____________________________

    [root@son xspectra]# more Makefile
    # Makefile for xspectra: assumes that this makefile
    # is in a subdirectory of "xforms" (i.e.:
    # /usr/local/src/xforms/xspectra/Makefile)
    # and that "mkconfig.h" (part of xforms)
    # is where it is normally left after unpacking xforms.

    include ../mkconfig.h

    #
    # Flags that might override those in mkconfig.h
    #
    # OSF1:
    # CC=cc
    # FC=cc
    # CCFLAG=-g -I/usr/local/include # -O
    # SYSLIB=-L/usr/local/lib -lcpgplot -lpgplot -lX11 -lm

    # Linux:
    # CC=gcc # egcs installs as cc nowadays:
    CC=cc
    FC=g77 -d_lines
    CCFLAG=-g -fpic -O -static

    FFTLIB=-lfftw
    TOOLTIPSLIB=-ltooltips

    # SYSLIB includes the pgplot postscript library:
    # PGPLOTLIB=-L/usr/local/pgplot -lcpgplot -lpgplot
    SYSLIB=$(PGPLOTLIB) -L/usr/X11R6/lib -lX11 -lgcc $(FFTLIB) -lm

    # The native postscript library must be link first
    # to supercede the pgplot library:
    RPLOT_PS_LIB=russ/v1.o russ/v2.o russ/v3.o

    # RPLOT_LIB is our obsolete Tek/HP plotting package:
    RPLOT_LIB=# -L./cpltlib -lcplt get rid of this
    # Make this build statically linked.
    LDFLAG=-g -static
    #
    # Flags the compiler will see
    #

    # Use this LIBS for in-house postscript routines:
    # The native postscript fonts are used here.
    # LIBS= -L/usr/local/src/xforms-source/FORMS -lforms $(RPLOT_PS_LIB)
    $(SYSLIB)
    LIBS= $(TOOLTIPSLIB) -lforms $(RPLOT_PS_LIB) $(SYSLIB)
    # LIBS= -lforms $(RPLOT_PS_LIB) $(SYSLIB)
    DEFINES=-DRPLOT_PS_LIB

    # Use this LIBS for all pgplot postscript routines:
    # The Hershey postscript fonts are used here.
    # LIBS= -lforms $(RPLOT_LIB) $(SYSLIB)
    # DEFINES=#nothing here

    CFLAGS=$(CCFLAG) $(DEFINES) # -m486
    LDFLAGS = $(LDFLAG)

    #__________________ start Section for epssnnls/fit/ _________________
    # Use LAPACK, BLAS, and F2C obtained from netlib:
    OTHEROPT= -L/usr/lib -llapack -lblas -lf2c -lm
    #
    FFLAGS= $(CCFLAG)
    ALIST=epsssva.c factda.c factor.c\
          ldp.c lssol.c mfeout.c qrbd.c svaplt.c svdrs.c
    #BLIST=epsssva.o factda.o factor.o\
    # ldp.o lssol.o mfeout.o qrbd.o svaplt.o svdrs.o
    BLIST=factda.o factor.o\
          ldp.o lssol.o mfeout.o qrbd.o svaplt.o svdrs.o
    FLIST=epssnnls_main.c diff.c epssnnls_sub.c reference_ir_data.c\
          fit.c g1.c g2.c h12.c nnls.c reference_raman_data.c\
          reference_raman_amide3.c normalize.c
    OLIST=epssnnls_main.o diff.o epssnnls_sub.o reference_ir_data.o\
          fit.o g1.o g2.o h12.o nnls.o reference_raman_data.o\
          reference_raman_amide3.o normalize.o
    #__________________ end Section for epssnnls _________________

    # Link order matters:
    SPECTRAO= matrix_utils.o xspectra.o xspectra_cb.o spline3.o
    xspectra_main.o deriv2.o pgplot_cb.o # plot_cb.o

    SPECTRA= ${SPECTRAO:.o=}

    xspectra: $(SPECTRAO) $(BLIST) $(OLIST) $(RPLOT_PS_LIB) Makefile cleanup

            -$(FC) $(LDFLAGS) $(SPECTRAO) $(BLIST) $(OLIST) \
            -o xspectra $(LIBS)
    # -$(CC) $(LDFLAGS) $(SPECTRAO) -o xspectra $(LIBS)

    xspectra.o:xspectra.c
            -$(CC) -c $(CFLAGS) xspectra.c

    xspectra_cb.o:xspectra_cb.c
            -$(CC) -c $(CFLAGS) xspectra_cb.c

    spline3.o:spline3.c
            -$(CC) -c $(CFLAGS) spline3.c

    deriv2.o:deriv2.c
            -$(CC) -c $(CFLAGS) deriv2.c

    matrix_utils.o:matrix_utils.c
            -$(CC) -c $(CFLAGS) matrix_utils.c

    #plot_cb.o:plot_cb.c cpltlib/libcplt.a
    # -$(CC) -c $(CFLAGS) plot_cb.c

    pgplot_cb.o:pgplot_cb.c
            -$(CC) -c $(CFLAGS) pgplot_cb.c

    # scan_chart_cb.o:scan_chart_cb.c
    # -$(CC) -c $(CFLAGS) scan_chart_cb.c

    xspectra_main.o:xspectra_main.c
            -$(CC) -c $(CFLAGS) xspectra_main.c

    russ/v1.o: russ/v1.c
            cd ./russ;make

    russ/v2.o: russ/v2.c
            cd ./russ;make

    russ/v3.o: russ/v3.c
            cd ./russ;make

    # remove the data output file since it gets created
    # by the superuser from time to time and can't
    # be overwritten by new users.
    cleanup:
            rm -f epss_out.dat

    clean::
            rm -f xspectra *.o core a.out *~ ./russ/*.o epss_out.dat

    #__________________ start Section for epssnnls _________________
    # Translate with the -f option to allow lines longer than 72 columns.
    # epss: epssnnls
    # epssnnls:$(OLIST)
    # $(CC) $(FFLAGS) $(OTHEROPT) $(OLIST) -o epssnnls_c
    epssnnls_main.o: epssnnls_main.c
            $(CC) $(FFLAGS) epssnnls_main.c -c
    epssnnls_sub.o: epssnnls_sub.c
            $(CC) $(FFLAGS) epssnnls_sub.c -c
    epssnnls_sub.c: epssnnls_sub.f
            f2c -f epssnnls_sub.f
    reference_ir_data.o: reference_ir_data.c
            $(CC) $(FFLAGS) reference_ir_data.c -c
    reference_ir_data.c: reference_ir_data.f
            f2c -f reference_ir_data.f
    reference_raman_data.o: reference_raman_data.c
            $(CC) $(FFLAGS) reference_raman_data.c -c
    reference_raman_data.c: reference_raman_data.f
            f2c -f reference_raman_data.f
    reference_raman_amide3.o: reference_raman_amide3.c
            $(CC) $(FFLAGS) reference_raman_amide3.c -c
    reference_raman_amide3.c: reference_raman_amide3.f
            f2c -f reference_raman_amide3.f
    g1.o: g1.c
            $(CC) $(FFLAGS) g1.c -c
    g1.c: g1.f
            f2c -f g1.f
    g2.o: g2.c
            $(CC) $(FFLAGS) g2.c -c
    g2.c: g2.f
            f2c -f g2.f
    h12.o: h12.c
            $(CC) $(FFLAGS) h12.c -c
    h12.c: h12.f
            f2c -f h12.f
    nnls.o: nnls.c
            $(CC) $(FFLAGS) nnls.c -c
    nnls.c: nnls.f
            f2c -f nnls.f
    fit.o: fit.c
            $(CC) $(FFLAGS) fit.c -c
    fit.c: fit.f
            f2c -f fit.f
    diff.o: diff.c
            $(CC) $(FFLAGS) diff.c -c
    diff.c: diff.f
            f2c -f diff.f

    # epsssva.o: epsssva.c
    # f2c -f epsssva.f
    # epsssva.c: epsssva.f
    # f2c -f epsssva.f
    factda.o: factda.c
            $(CC) $(FFLAGS) factda.c -c
    factda.c: factda.f
            f2c -f factda.f
    factor.o: factor.c
            $(CC) $(FFLAGS) factor.c -c
    factor.c: factor.f
            f2c -f factor.f
    ldp.o: ldp.c
            $(CC) $(FFLAGS) ldp.c -c
    ldp.c: ldp.f
            f2c -f ldp.f
    lssol.o: lssol.c
            $(CC) $(FFLAGS) lssol.c -c
    lssol.c: lssol.f
            f2c -f lssol.f
    mfeout.o: mfeout.c
            $(CC) $(FFLAGS) mfeout.c -c
    mfeout.c: mfeout.f
            f2c -f mfeout.f
    qrbd.o: qrbd.c
            $(CC) $(FFLAGS) qrbd.c -c
    qrbd.c: qrbd.f
            f2c -f qrbd.f
    svaplt.o: svaplt.c
            $(CC) $(FFLAGS) svaplt.c -c
    svaplt.c: svaplt.f
            f2c -f svaplt.f
    svdrs.o: svdrs.c
            $(CC) $(FFLAGS) svdrs.c -c
    svdrs.c: svdrs.f
            f2c -f svdrs.f
    normalize.o: normalize.c
            $(CC) $(FFLAGS) normalize.c -c

    # epssnnls
    # link epsssva svaplt mfeout svdrs qrbd g1 g2 h12 diff /usr/lib/ftnlib
    +m

    clean::
            rm diff.c epssnnls_sub.c reference_ir_data.c \
            g1.c g2.c h12.c nnls.c fit.c factda.c factor.c \
            ldp.c lssol.c mfeout.c svaplt.c svdrs.c \
            reference_raman_data.c reference_raman_amide3.c

    _________________________________________________
    To unsubscribe, send the message "unsubscribe" to
    xforms-request@bob.usuhs.mil or see
    http://bob.usuhs.mil/mailserv/xforms.html
    XForms Home Page: http://world.std.com/~xforms
    List Archive: http://bob.usuhs.mil/mailserv/list-archives/



    This archive was generated by hypermail 2b29 : Fri Jul 06 2001 - 16:11:13 EDT