Date: Fri, 18 Dec 1998 13:18:51 +1030 From: Greg Lehey <grog@lemis.com> To: Peng HaiJie <phj@www.transfar.com> Cc: freebsd-questions@FreeBSD.ORG Subject: Re: How to build static excutable program? Message-ID: <19981218131851.O486@freebie.lemis.com> In-Reply-To: <367A31E5.753893E9@www.transfar.com>; from Peng HaiJie on Fri, Dec 18, 1998 at 10:43:50AM %2B0000 References: <367A1D70.776909F1@www.transfar.com> <19981218122715.H486@freebie.lemis.com> <367A31E5.753893E9@www.transfar.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19981218131851.O486>