SUMMARY: olvwm3.3 on Solaris2.1 with gcc

From: Andy J. Stefancik 206-234-3049 (
Date: Mon May 03 1993 - 21:21:52 CDT

> In Makefile.sunpro:
> I had to comment out #SOLARIS_LD=-R ${OPENWINHOME}/lib as gcc does not
> use the -R flag. I replaced it with SOLARIS_LD= -shared which doesn't
> mean shared libraries; it means compiling more than one .o on a line.
Rick Pluta
sent me a binary olvwm compiled with sunpro C wich worked well.
Gareth J. Barker
Showed me a method to incorporate SOLARIS_LD=-R ${OPENWINHOME}/lib
with gcc - SOLARIS_LD=-Xlinker -R -Xlinker ${OPENWINHOME}/lib

(NB Yes you do need -Xlinker twice)
I havn't tried this yet.

Sent a Makefile which he used to compile olvwm3.3 on Solaris2.1 using
Cygnus gcc. To my amazement it compiled and runs fine.

instead of SVR=-DSVR4 -DSYSV it had DEBUG = -O -DSVR4 -DSYSV;
no "-shared" for CFLAGS;
instead of LIBS = ${LDFLAGS} ${XPMLIB} -lolgx -lX11 -lXext -ll -lm
it had LIBS = ${LDFLAGS} -lolgx -lX11 -lXext -ll -lintl -lm;

The last line seems to be the key with the addition of -lintl. None of the
source code, or patches 1 throught 3, or Makefiles I have have this. I
don't know where it came from, but it works. The -shared shut up the
unresolved references, but obviously shows up problems at runtime. The -lintl
both quiets down the unresolved refences and works fine at runtime.



Much to my amazement, your Makefile compiled and linked fine.
I didn't have -lintl for LIBS in any of the Makefiles I had. The
-shared I used made the unresolved references go away (without -lintl).

>From Fri Apr 30 01:19:23 1993
Date: Tue, 27 Apr 93 14:40:23 MST
Subject: Re: olvwm3.3
To: ajs6143@eerpf001
X-Envelope-To: ajs6143@eerpf001
Content-Length: 3475
Status: RO
X-Lines: 99

I compiled olvwm 3.3 (using cygnus gcc in Solaris 2.1) with no problems
using the following Makefile. Have it a go...


# Set this to the directory to place the olvwm executable

# If you want to use the OPENWINDOWS help facility, then set HELPDIR
# to the directory where those files are kept. If you cannot write
# to that directory but still want to install the helpfile, set HELPDIR
# to some other directory and add that directory to your HELPPATH.
# If you don't want to install the help file at all, set HELPDIR to /dev/null.

# Where to install the man pages: man1 dir is where will go;
# and man5 dir is where will go; youmay want to set these
# to a local directory somewhere.
# If you don't want to install the man pages, set MAN?DIR to /dev/null.


# If you don't have olwm installed anywhere and want to install the olwm
# man page (which discusses most of the olvwm functionality too) uncomment
# out the following lines

# Set this to the debugging options you'd like

# If you don't want the version string in the executable, comment out this
# line
VERSION = version.o

# You shouldn't need to change anything below this line

INC = -I${OPENWINHOME}/include

#HEADERS = cmdstream.h cursors.h defaults.h environ.h events.h gettext.h \
HEADERS = cmdstream.h cursors.h defaults.h environ.h events.h \
          globals.h group.h helpcmd.h i18n.h iconimage.h iconmask.h \
          kbdfuncs.h list.h mem.h menu.h notice.h olcursor.h \
          olgx_impl.h ollocale.h olwm.h patchlevel.h properties.h \
          resources.h screen.h slots.h st.h virtual.h win.h

#cmdstream.c cursors.c defaults.c environ.c evbind.c events.c gettext.c\

SRCS = Debug.c Error.c Notice.c Select.c WinInfo.c atom.c client.c \
        cmdstream.c cursors.c defaults.c environ.c evbind.c events.c \
        group.c helpsend.c i18n.c kbdfuncs.c list.c mem.c menu.c \
         moveresize.c olwm.c properties.c resources.c screen.c services.c \
        slave.c slots.c st.c states.c usermenu.c usleep.c virtual.c \
        win.c winbusy.c winbutton.c wincolor.c winframe.c wingframe.c \
        winicon.c winipane.c winmenu.c winnofoc.c winpane.c winpinmenu.c \
        winpush.c winresize.c winroot.c olvwmrc.c images.c \

LIBS = ${LDFLAGS} -lolgx -lX11 -lXext -ll -lintl -lm

OBJS = ${SRCS:.c=.o} ${VERSION}

olvwm : ${OBJS}
        cc -o olvwm ${OBJS} ${LIBS}

version.c : ${SRCS} ${HEADERS}
        @/usr/ucb/echo -n "#ident \"@(#)olvwm version compiled '`date`'\"" > version.c

parse.c : parse.l
        lex -t parse.l > parse.c
olvwmrc.c : olvwmrc.y
        yacc olvwmrc.y
        mv olvwmrc.c

olvwmrc.o : parse.c olvwmrc.c

clean :
        /bin/rm -f olvwm .make.state .nse_depinfo version.c parse.c olvwmrc.c *.o core errs ,* .emacs_* tags TAGS make.log MakeOut "#"*

        @echo "Installing olvwm in $(INSTALLDIR)"
        @/bin/cp olvwm $(INSTALLDIR)
        @echo "Installing help file in $(HELPDIR)"
        @/bin/cp $(HELPDIR)
        @echo "Installing olvwm man page in $(MAN1DIR)"
        @/bin/cp olvwm.1
        @/bin/cp olvwm.1 $(MAN1DIR)
        @/bin/rm -f olvwm.1
        @echo "Installing olvwmrc man page in $(MAN5DIR)"
        @/bin/cp olvwmrc.5
        @/bin/cp olvwmrc.5 $(MAN5DIR)
        @/bin/rm -f olvwmrc.5
        -@/bin/cp ${OLWMMAN} ${MAN1DIR}/olwm.1 >/dev/null 2>&1


Andy Stefancik Internet:
Boeing Commercial Airplane G. UUCP: ...!uunet!bcstec!eerpf001!as6143
P.O. Box 3707 MS 64-25 Phone: (206) 234-3049
Seattle, WA 98124-2207

This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:07:47 CDT