[omniORB] omni::empty_string
Smith, Wayne
wsmith2@titan.com
Fri Nov 8 17:54:00 2002
This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.
------_=_NextPart_001_01C2874F.BCC44260
Content-Type: text/plain;
charset="iso-8859-1"
I'm not sure what a helper thing is, but I've tried switching the libs in
my Makefile to no avail. I get the following error:
Building digio
Undefined first referenced
symbol in file
omni::empty_string
[...]/sharedServices/lib/libcfg.a(ConfigManager.o)
I have LIBRARIES = $(LIBS) $(MYLIBS) where $(LIBS) contain omni libs
and $(MYLIBS) contain my libraries I build which contains libcfg.a. omni is
building
omni::empty_string into my libraries. Do you know which library defines
omni::empty_string? Here is the Makefile:
### Compiler flags for c++
CCDEFINES = -DOMNI -D__sparc__ -D__sunos__ -D__OSVERSION__=5 \
-D__OMNIORB3__ -D__STL_NO_NAMESPACES -DSMALL_MEMORY
CCINCLUDES = -I$(OMNI)/include \
-I$(OMNI)/include/omniORB3 \
-I$(MYSRC)/sharedServices/idl \
-I/usr/openwin/share/include \
-I/usr/dt/share/include
CCOPTIONS = -fhandle-exceptions -Wall -Wno-unused
### idl
ORBCC = $(OMNI)/bin/omniidl
IDLFLAGS = -bcxx -Wba -WbBOA
### Link flags
LDOPTIONS =
### CORBA librarys
LIBCORBA = -lomniEvents -lomniORB3 \
-lomniDynamic3 -lomnithread -lomniGK_stub
### All required libraries
LIBPATH = -L$(OMNI)/lib
STDCC_LIBS = -lsocket -lnsl -ldl -lposix4 -lpthread
LIBS = $(LIBPATH) $(LIBCORBA) $(STDCC_LIBS)
# compiler flags for c (not really used)
CDEFINES = $(CCDEFINES)
CINCLUDES = $(CCINCLUDES)
COPTIONS = $(CCOPTIONS)
.SILENT:
CCC = g++
CC = gcc
AR = ar
AR_TMPL = ar
RANLIB = touch
COMMONFLAGS = -DSOLARIS -g -w -pipe -fpermissive -D__EXTENSIONS__ \
-I$(MYSRC)/sharedServices/include \
-D_REENTRANT -DGNU
CFLAGS = $(COMMONFLAGS) $(CINCLUDES) $(COPTIONS) $(CDEFINES) \
$(MYINCLUDES) $(MYCOPTIONS)
CCFLAGS = $(COMMONFLAGS) $(CCINCLUDES) $(CCOPTIONS) $(CCDEFINES) \
$(MYINCLUDES) $(MYCCOPTIONS)
LDFLAGS = -g -mt $(LDOPTIONS) -L$(LIBDIR)
ARFLAGS = -r
AR_TMPL_FLAGS = -r
LIBDIR = $(MYSRC)/sharedServices/lib
LIBLOC = ../lib
SVDIR = $(SV_HOME)/bin
XLIBS = $(LIBS) -lXm -lXext -lXt -lX11
GLIBS = -lMesaGL -lMesaGLU -lXext
OBJS = $(IDL:.idl=SK.o) $(IDL:.idl=DynSK.o) $(CSRCS:.c=.o) $(CCSRCS:.C=.o)
BYPRODUCTS = $(OBJS) \
$(IDL:.idl=SK.cc) \
$(IDL:.idl=DynSK.cc) \
$(IDL:.idl=.hh) \
$(IDL:.idl=_s.hh) \
$(IDL:.idl=_c.hh)
APP = myio
TARGETS = $(SVDIR)/$(APP)
CCSRCS = Config.C IOCtrl.C Main.C SndAlert.C
MYLIBS = $(LIBDIR)/libIpc.a $(LIBDIR)/libsfevent.a \
$(LIBDIR)/libcfg.a $(LIBDIR)/libutl.a \
$(LIBDIR)/libcorbaObj.a $(LIBDIR)/libdstr.a
MYINCLUDES = -I../drivers/include
LIBRARIES = $(LIBS) $(MYLIBS)
$(SVDIR)/$(APP): $(OBJS) $(MYLIBS)
echo Building $(APP)
$(CCC) $(LDFLAGS) -o $(FSVDIR)/$(APP) $(OBJS) $(LIBRARIES)
dioCtl: dioCtl.o
$(CCC) $(LDFLAGS) -o dioCtl dioCtl.o $(LIBRARIES)
.SUFFIXES: .C .o .h .cc .idl
.idl.cc:
echo Translating: $<
$(ORBCC) $(IDLFLAGS) $<
cp $*.hh $*_s.hh
cp $*.hh $*_c.hh
.C.o:
echo Compiling: $<
$(CCC) $(CCFLAGS) -c -o $@ $<
.cc.o:
echo Compiling: $<
$(CCC) $(CCFLAGS) -c -o $@ $<
.c.o:
echo Compiling: $<
$(CC) $(CFLAGS) -c -o $@ $<
all: $(TARGETS)
clean:
-rm -f core $(BYPRODUCTS)
-rm -rf Templates.DB
spotless: clean
-rm -f $(TARGETS)
-rm -f Depends
touch Depends
depend:
$(CCC) -MM $(CCFLAGS) $(CSRCS) $(CCSRCS) >Depends
############################################################################
###
include Depends
############################################################################
###
-----Original Message-----
From: bjorn rohde jensen [mailto:bjensen@fastmail.fm]
Sent: Thursday, November 07, 2002 2:58 PM
To: Smith, Wayne
Cc: 'omniorb-list@omniorb-support.com'
Subject: Re: [omniORB] omni::empty_string
Hi Wayne,
I think, omni::empty_string is a helper thing for
the string mapping, so it is pretty odd, that you
get unresolved references to it. The only (far fetched)
idea, i can think of, is problems with your link order,
ie putting libs before object files depending on them
during link phase.
Yours sincerely,
Bjorn
------_=_NextPart_001_01C2874F.BCC44260
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Diso-8859-1">
<META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version =
5.5.2653.12">
<TITLE>RE: [omniORB] omni::empty_string</TITLE>
</HEAD>
<BODY>
<P><FONT SIZE=3D2>I'm not sure what a helper thing is, but I've tried =
switching the libs in</FONT>
<BR><FONT SIZE=3D2>my Makefile to no avail. I get the following =
error:</FONT>
</P>
<P><FONT SIZE=3D2>Building digio</FONT>
<BR><FONT =
SIZE=3D2>Undefined =
=
first referenced</FONT>
<BR><FONT =
SIZE=3D2> symbol &nb=
sp; &nb=
sp; in file</FONT>
<BR><FONT =
SIZE=3D2>omni::empty_string &nb=
sp; =
[...]/sharedServices/lib/libcfg.a(ConfigManager.o)</FONT>
</P>
<P><FONT SIZE=3D2>I have LIBRARIES =3D $(LIBS) $(MYLIBS) where $(LIBS) =
contain omni libs</FONT>
<BR><FONT SIZE=3D2>and $(MYLIBS) contain my libraries I build which =
contains libcfg.a. omni is building</FONT>
<BR><FONT SIZE=3D2>omni::empty_string into my libraries. Do you know =
which library defines </FONT>
<BR><FONT SIZE=3D2>omni::empty_string? Here is the Makefile:</FONT>
</P>
<P><FONT SIZE=3D2>### Compiler flags for c++</FONT>
</P>
<BR>
<P><FONT SIZE=3D2>CCDEFINES =3D -DOMNI -D__sparc__ -D__sunos__ =
-D__OSVERSION__=3D5 \</FONT>
<BR><FONT =
SIZE=3D2> &nb=
sp; -D__OMNIORB3__ -D__STL_NO_NAMESPACES -DSMALL_MEMORY</FONT>
</P>
<P><FONT SIZE=3D2>CCINCLUDES =3D -I$(OMNI)/include \</FONT>
<BR><FONT =
SIZE=3D2> &nb=
sp; -I$(OMNI)/include/omniORB3 \</FONT>
<BR><FONT =
SIZE=3D2> &nb=
sp; -I$(MYSRC)/sharedServices/idl \</FONT>
<BR><FONT =
SIZE=3D2> &nb=
sp; -I/usr/openwin/share/include \</FONT>
<BR><FONT =
SIZE=3D2> &nb=
sp; -I/usr/dt/share/include</FONT>
</P>
<P><FONT SIZE=3D2>CCOPTIONS =3D -fhandle-exceptions -Wall =
-Wno-unused</FONT>
</P>
<P><FONT SIZE=3D2>### idl</FONT>
<BR><FONT SIZE=3D2>ORBCC =3D =
$(OMNI)/bin/omniidl</FONT>
<BR><FONT SIZE=3D2>IDLFLAGS =3D -bcxx -Wba =
-WbBOA</FONT>
</P>
<P><FONT SIZE=3D2>### Link flags</FONT>
<BR><FONT SIZE=3D2>LDOPTIONS =3D</FONT>
</P>
<P><FONT SIZE=3D2>### CORBA librarys</FONT>
<BR><FONT SIZE=3D2>LIBCORBA =3D -lomniEvents -lomniORB3 \</FONT>
<BR><FONT =
SIZE=3D2> =
-lomniDynamic3 -lomnithread -lomniGK_stub</FONT>
</P>
<P><FONT SIZE=3D2>### All required libraries</FONT>
<BR><FONT SIZE=3D2>LIBPATH =3D -L$(OMNI)/lib</FONT>
<BR><FONT SIZE=3D2>STDCC_LIBS =3D -lsocket -lnsl -ldl -lposix4 =
-lpthread</FONT>
<BR><FONT SIZE=3D2>LIBS =3D =
$(LIBPATH) $(LIBCORBA) $(STDCC_LIBS)</FONT>
</P>
<P><FONT SIZE=3D2># compiler flags for c (not really used)</FONT>
<BR><FONT SIZE=3D2>CDEFINES =3D $(CCDEFINES)</FONT>
<BR><FONT SIZE=3D2>CINCLUDES =3D $(CCINCLUDES)</FONT>
<BR><FONT SIZE=3D2>COPTIONS =3D $(CCOPTIONS)</FONT>
</P>
<BR>
<P><FONT SIZE=3D2>.SILENT:</FONT>
</P>
<P><FONT SIZE=3D2>CCC =3D g++</FONT>
<BR><FONT SIZE=3D2>CC =3D gcc</FONT>
<BR><FONT SIZE=3D2>AR =3D ar</FONT>
<BR><FONT SIZE=3D2>AR_TMPL =3D ar</FONT>
<BR><FONT SIZE=3D2>RANLIB =3D touch</FONT>
</P>
<P><FONT SIZE=3D2>COMMONFLAGS =3D -DSOLARIS -g -w -pipe -fpermissive =
-D__EXTENSIONS__ \</FONT>
<BR><FONT =
SIZE=3D2> &nb=
sp; -I$(MYSRC)/sharedServices/include \</FONT>
<BR><FONT =
SIZE=3D2> &nb=
sp; -D_REENTRANT -DGNU </FONT>
</P>
<P><FONT SIZE=3D2>CFLAGS =3D $(COMMONFLAGS) $(CINCLUDES) =
$(COPTIONS) $(CDEFINES) \</FONT>
<BR><FONT =
SIZE=3D2> =
$(MYINCLUDES) $(MYCOPTIONS)</FONT>
<BR><FONT SIZE=3D2>CCFLAGS =3D $(COMMONFLAGS) $(CCINCLUDES) =
$(CCOPTIONS) $(CCDEFINES) \</FONT>
<BR><FONT =
SIZE=3D2> =
$(MYINCLUDES) $(MYCCOPTIONS)</FONT>
</P>
<P><FONT SIZE=3D2>LDFLAGS =3D -g -mt $(LDOPTIONS) =
-L$(LIBDIR)</FONT>
<BR><FONT SIZE=3D2>ARFLAGS =3D -r</FONT>
<BR><FONT SIZE=3D2>AR_TMPL_FLAGS =3D -r</FONT>
</P>
<P><FONT SIZE=3D2>LIBDIR =3D =
$(MYSRC)/sharedServices/lib</FONT>
<BR><FONT SIZE=3D2>LIBLOC =3D ../lib</FONT>
<BR><FONT SIZE=3D2>SVDIR =3D $(SV_HOME)/bin</FONT>
</P>
<P><FONT SIZE=3D2>XLIBS =3D $(LIBS) -lXm -lXext -lXt -lX11</FONT>
<BR><FONT SIZE=3D2>GLIBS =3D -lMesaGL -lMesaGLU -lXext</FONT>
<BR><FONT SIZE=3D2>OBJS =3D $(IDL:.idl=3DSK.o) =
$(IDL:.idl=3DDynSK.o) $(CSRCS:.c=3D.o) $(CCSRCS:.C=3D.o)</FONT>
</P>
<P><FONT SIZE=3D2>BYPRODUCTS =3D $(OBJS) \</FONT>
<BR><FONT =
SIZE=3D2> &nb=
sp; $(IDL:.idl=3DSK.cc) \</FONT>
<BR><FONT =
SIZE=3D2> &nb=
sp; $(IDL:.idl=3DDynSK.cc) \</FONT>
<BR><FONT =
SIZE=3D2> &nb=
sp; $(IDL:.idl=3D.hh) \</FONT>
<BR><FONT =
SIZE=3D2> &nb=
sp; $(IDL:.idl=3D_s.hh) \</FONT>
<BR><FONT =
SIZE=3D2> &nb=
sp; $(IDL:.idl=3D_c.hh)</FONT>
</P>
<BR>
<P><FONT SIZE=3D2>APP =3D myio</FONT>
<BR><FONT SIZE=3D2>TARGETS =3D $(SVDIR)/$(APP)</FONT>
</P>
<P><FONT SIZE=3D2>CCSRCS =3D Config.C IOCtrl.C Main.C SndAlert.C =
</FONT>
<BR><FONT SIZE=3D2> =
</FONT>
</P>
<P><FONT SIZE=3D2>MYLIBS =3D =
$(LIBDIR)/libIpc.a =
$(LIBDIR)/libsfevent.a \</FONT>
<BR><FONT SIZE=3D2> =
$(LIBDIR)/libcfg.a =
$(LIBDIR)/libutl.a \</FONT>
<BR><FONT SIZE=3D2> =
$(LIBDIR)/libcorbaObj.a =
$(LIBDIR)/libdstr.a </FONT>
<BR><FONT SIZE=3D2> =
</FONT>
</P>
<P><FONT SIZE=3D2>MYINCLUDES =3D -I../drivers/include</FONT>
</P>
<P><FONT SIZE=3D2>LIBRARIES =3D $(LIBS) $(MYLIBS)</FONT>
</P>
<P><FONT SIZE=3D2>$(SVDIR)/$(APP): $(OBJS) $(MYLIBS)</FONT>
<BR><FONT SIZE=3D2> echo =
Building $(APP)</FONT>
<BR><FONT SIZE=3D2> $(CCC) =
$(LDFLAGS) -o $(FSVDIR)/$(APP) $(OBJS) $(LIBRARIES)</FONT>
</P>
<P><FONT SIZE=3D2>dioCtl: dioCtl.o</FONT>
<BR><FONT SIZE=3D2> $(CCC) =
$(LDFLAGS) -o dioCtl dioCtl.o $(LIBRARIES)</FONT>
</P>
<BR>
<P><FONT SIZE=3D2>.SUFFIXES: .C .o .h .cc .idl</FONT>
</P>
<P><FONT SIZE=3D2>.idl.cc:</FONT>
<BR><FONT SIZE=3D2> echo =
Translating: $<</FONT>
<BR><FONT SIZE=3D2> $(ORBCC) =
$(IDLFLAGS) $<</FONT>
<BR><FONT SIZE=3D2> cp $*.hh =
$*_s.hh</FONT>
<BR><FONT SIZE=3D2> cp $*.hh =
$*_c.hh</FONT>
</P>
<P><FONT SIZE=3D2>.C.o:</FONT>
<BR><FONT SIZE=3D2> echo =
Compiling: $<</FONT>
<BR><FONT SIZE=3D2> $(CCC) =
$(CCFLAGS) -c -o $@ $<</FONT>
</P>
<P><FONT SIZE=3D2>.cc.o:</FONT>
<BR><FONT SIZE=3D2> echo =
Compiling: $<</FONT>
<BR><FONT SIZE=3D2> $(CCC) =
$(CCFLAGS) -c -o $@ $<</FONT>
</P>
<P><FONT SIZE=3D2>.c.o:</FONT>
<BR><FONT SIZE=3D2> echo =
Compiling: $<</FONT>
<BR><FONT SIZE=3D2> $(CC) =
$(CFLAGS) -c -o $@ $<</FONT>
</P>
<P><FONT SIZE=3D2>all: $(TARGETS)</FONT>
</P>
<P><FONT SIZE=3D2>clean:</FONT>
<BR><FONT SIZE=3D2> -rm -f =
core $(BYPRODUCTS)</FONT>
<BR><FONT SIZE=3D2> -rm -rf =
Templates.DB</FONT>
</P>
<P><FONT SIZE=3D2>spotless: clean</FONT>
<BR><FONT SIZE=3D2> -rm -f =
$(TARGETS)</FONT>
<BR><FONT SIZE=3D2> -rm -f =
Depends</FONT>
<BR><FONT SIZE=3D2> touch =
Depends</FONT>
</P>
<P><FONT SIZE=3D2>depend:</FONT>
<BR><FONT SIZE=3D2> $(CCC) =
-MM $(CCFLAGS) $(CSRCS) $(CCSRCS) >Depends</FONT>
</P>
<P><FONT =
SIZE=3D2>###############################################################=
################</FONT>
<BR><FONT SIZE=3D2>include Depends</FONT>
<BR><FONT =
SIZE=3D2>###############################################################=
################</FONT>
</P>
<BR>
<BR>
<BR>
<P><FONT SIZE=3D2>-----Original Message-----</FONT>
<BR><FONT SIZE=3D2>From: bjorn rohde jensen [<A =
HREF=3D"mailto:bjensen@fastmail.fm">mailto:bjensen@fastmail.fm</A>]</FON=
T>
<BR><FONT SIZE=3D2>Sent: Thursday, November 07, 2002 2:58 PM</FONT>
<BR><FONT SIZE=3D2>To: Smith, Wayne</FONT>
<BR><FONT SIZE=3D2>Cc: 'omniorb-list@omniorb-support.com'</FONT>
<BR><FONT SIZE=3D2>Subject: Re: [omniORB] omni::empty_string</FONT>
</P>
<BR>
<P><FONT SIZE=3D2>Hi Wayne,</FONT>
</P>
<P><FONT SIZE=3D2> I think, omni::empty_string is a helper thing =
for</FONT>
<BR><FONT SIZE=3D2>the string mapping, so it is pretty odd, that =
you</FONT>
<BR><FONT SIZE=3D2>get unresolved references to it. The only (far =
fetched)</FONT>
<BR><FONT SIZE=3D2>idea, i can think of, is problems with your link =
order,</FONT>
<BR><FONT SIZE=3D2>ie putting libs before object files depending on =
them</FONT>
<BR><FONT SIZE=3D2>during link phase.</FONT>
</P>
<P><FONT SIZE=3D2>Yours sincerely,</FONT>
</P>
<P><FONT SIZE=3D2>Bjorn</FONT>
</P>
</BODY>
</HTML>
------_=_NextPart_001_01C2874F.BCC44260--