From owner-freebsd-questions Thu Dec 17 18:49:45 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id SAA29587 for freebsd-questions-outgoing; Thu, 17 Dec 1998 18:49:45 -0800 (PST) (envelope-from owner-freebsd-questions@FreeBSD.ORG) Received: from allegro.lemis.com (allegro.lemis.com [192.109.197.134]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id SAA29564 for ; Thu, 17 Dec 1998 18:49:27 -0800 (PST) (envelope-from grog@freebie.lemis.com) Received: from freebie.lemis.com (freebie.lemis.com [192.109.197.137]) by allegro.lemis.com (8.9.1/8.9.0) with ESMTP id NAA12937; Fri, 18 Dec 1998 13:18:51 +1030 (CST) Received: (from grog@localhost) by freebie.lemis.com (8.9.1/8.9.0) id NAA11964; Fri, 18 Dec 1998 13:18:51 +1030 (CST) Message-ID: <19981218131851.O486@freebie.lemis.com> Date: Fri, 18 Dec 1998 13:18:51 +1030 From: Greg Lehey To: Peng HaiJie Cc: freebsd-questions@FreeBSD.ORG Subject: Re: How to build static excutable program? References: <367A1D70.776909F1@www.transfar.com> <19981218122715.H486@freebie.lemis.com> <367A31E5.753893E9@www.transfar.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.91.1i In-Reply-To: <367A31E5.753893E9@www.transfar.com>; from Peng HaiJie on Fri, Dec 18, 1998 at 10:43:50AM +0000 WWW-Home-Page: http://www.lemis.com/~grog Organization: LEMIS, PO Box 460, Echunga SA 5153, Australia Phone: +61-8-8388-8286 Fax: +61-8-8388-8725 Mobile: +61-41-739-7062 Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Friday, 18 December 1998 at 10:43:50 +0000, Peng HaiJie wrote: > Greg Lehey wrote: >> On Friday, 18 December 1998 at 9:16:32 +0000, Peng HaiJie wrote: >>> It the first time that I make a static excutable program. >>> I have tried the following lines: >>> gcc -static -o foo foo.c >>> but gcc tells that there are some undefined references . >>> What is the matter? >> >> You've forgotten to specify some libraries. These ``undefined >> references'' messages tell you what you've forgotten. >> >>> How to build static excutable program?Please give me an >>> example >> >> $ gcc -static -o foo foo.c >> >> This is a typical example, of course, of ``I'd like to help you, but >> you haven't specified your problem''. > > Thanks for your help. > The compille error messages(generated on SUN Ultra 1 ,Solaris 2.6 ) are Why are you sending a message about Solaris to the FreeBSD lists? > gcc -static -L/usr/lib -lXm -L/usr/openwin/lib -lXt -lX11 > -L/usr/local/X11 > /lib -lXpm -lm init.o sh.o is.o ic.o ibb.o im.o lpfx.o fp.o misc.o > irb.o it.o graphics.o draw.o dam.o main.o -o txwg > Undefined first referenced > symbol in file > IceProcessMessages /usr/openwin/lib/libXt.a(Shell.o) > SmcDeleteProperties /usr/openwin/lib/libXt.a(Shell.o) > dlclose /usr/openwin/lib/libX11.a(XsunDL.o) > SmcSaveYourselfDone /usr/openwin/lib/libXt.a(Shell.o) > SmcGetIceConnection /usr/openwin/lib/libXt.a(Shell.o) > SmcRequestSaveYourselfPhase2 /usr/openwin/lib/libXt.a(Shell.o) > SmcSetProperties /usr/openwin/lib/libXt.a(Shell.o) > XSolarisIASetProcessInfo /usr/openwin/lib/libX11.a(OpenDis.o) > > SmcClientID /usr/openwin/lib/libXt.a(Shell.o) > SmcCloseConnection /usr/openwin/lib/libXt.a(Shell.o) > SmcOpenConnection /usr/openwin/lib/libXt.a(Shell.o) > SmcModifyCallbacks /usr/openwin/lib/libXt.a(Shell.o) > IceConnectionNumber /usr/openwin/lib/libXt.a(Shell.o) > SmcInteractDone /usr/openwin/lib/libXt.a(Shell.o) > dlsym /usr/openwin/lib/libX11.a(XsunDL.o) > dlopen /usr/openwin/lib/libX11.a(XsunDL.o) > SmcInteractRequest /usr/openwin/lib/libXt.a(Shell.o) > dlerror /usr/lib/libnsl.a(netdir.o) > make: *** [txwg] Error 1 You need -lIce and -lSm in addition to the other libs. This is a general X11R6 issue. In addition, you need to find where the symbols dlopen, dlsym, dlerror and dlclose are. This is a Solaris problem. You should specify these libraries in your Imakefile. Did you run imake (xmkmf)? Otherwise you should; it should solve all these problems. Greg -- See complete headers for address, home page and phone numbers finger grog@lemis.com for PGP public key To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message