Skip site navigation (1)Skip section navigation (2)
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>