[omniORB] 2.7.0 build report : DEC Unix 4.0d with egcs-1.1.1

Oliver M. Kellogg Oliver.Kellogg@vs.dasa.de
Mon, 15 Feb 1999 17:16:27 +0100


This is a multi-part message in MIME format.

------=_NextPart_000_01BE5906.EC079BB0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

Hi,

Building omniORB_2.7.0 on a DEC AlphaStation running DEC 
Unix 4.0d with egcs-1.1.1 went okay, except for the 
linking of omniNames, genior, etc. 

I tried to make a mk/platforms/alpha_osf1_4.0_egcs.mk and 
suspect the problem is in there... just don't know where.

Here is an example command line for a link that failed:

omniORB_2.7.0/src> gmake export
                     [...]
+ g++ -o catior -g -Wall -Wno-unused -Wl,-rpath,../../../../lib/alpha_osf1_4.0_egcs -L../../../../lib/alpha_osf1_4.0_egcs catior.o
./../../../lib/alpha_osf1_4.0_egcs/ -lomnithread -lpthread -lmach -lc_r -lomnithread -lpthread -lmach -lc_r 
/usr/bin/ld:
Can't read file: ../../../../lib/alpha_osf1_4.0_egcs/ (Is a directory)
collect2: ld returned 1 exit status

Instead, the linker line that works for me is as follows:

 g++ -o catior -g -Wall -Wno-unused -L../../../../lib/alpha_osf1_4.0_egcs catior.o -lomniORB2 -lomnithread -ltcpwrapGK -lpthread
-lmach  --verbose

Reading specs from /usr/local/lib/gcc-lib/alpha-dec-osf4.0d/egcs-2.91.60/specs
gcc version egcs-2.91.60 19981201 (egcs-1.1.1 release)
 /usr/local/lib/gcc-lib/alpha-dec-osf4.0d/egcs-2.91.60/collect2 -G 8 -O1 -call_shared -o catior /usr/lib/cmplrs/cc/crt0.o
-L../../../../lib/alpha_osf1_4.0_egcs -L/usr/local/lib/gcc-lib/alpha-dec-osf4.0d/egcs-2.91.60 -L/usr/local/alpha-dec-osf4.0d/lib
-L/usr/lib/cmplrs/cc -L/usr/local/lib catior.o -lomniORB2 -lomnithread -ltcpwrapGK -lpthread -lmach -lstdc++ -lm -lgcc -lc -lgcc


Lacking the knowledge of the omniORB makefile logic, I simply 
invoked the link command by hand.
I am appending the alpha_osf1_4.0_egcs.mk that I used for this.

Hope this might be useful to someone

Oliver M. Kellogg
--
-- NOT speaking for DaimlerChrysler Aerospace

------=_NextPart_000_01BE5906.EC079BB0
Content-Type: application/octet-stream; name="alpha_osf1_4.0_egcs.mk"
Content-Transfer-Encoding: quoted-printable
Content-Description: alpha_osf1_4.0_egcs.mk ()
Content-Disposition: attachment; filename="alpha_osf1_4.0_egcs.mk"

#
# alpha_osf1_4.0_egcs.mk - make variables and rules specific to Digital =
Unix
# (i.e. OSF1) 4.0 using EGCS 1.1 as the compiler.
#

OSF1 =3D 1
AlphaProcessor =3D 1

#
# Include general unix things
#

include $(THIS_IMPORT_TREE)/mk/unix.mk


#
# C preprocessor macro definitions for this architecture
#

IMPORT_CPPFLAGS +=3D -D__alpha__ -D__osf1__ -D__OSVERSION__=3D4


#
# Standard programs
#

AR =3D ar clq

CXX =3D g++
CXXMAKEDEPEND =3D $(TOP)/$(BINDIR)/omkdepend -D__cplusplus -D__GNUG__ =
-D__GNUC__
CXXDEBUGFLAGS =3D -g

CXXOPTIONS       =3D -Wall -Wno-unused

CXXLINK		=3D $(CXX)
CXXLINKOPTIONS  =3D $(CXXDEBUGFLAGS) $(CXXOPTIONS) \
		$(patsubst %,-Wl$(comma)-rpath$(comma)%,$(IMPORT_LIBRARY_DIRS))

CC =3D gcc
CMAKEDEPEND =3D $(TOP)/$(BINDIR)/omkdepend -D__GNUC__
CDEBUGFLAGS =3D -g

CLINK =3D $(CC)
CLINKOPTIONS  =3D $(CDEBUGFLAGS) $(COPTIONS) \
		$(patsubst %,-Wl$(comma)-rpath$(comma)%,$(IMPORT_LIBRARY_DIRS))


#
# CORBA stuff
#

omniORB2GatekeeperImplementation =3D OMNIORB2_TCPWRAPGK
CorbaImplementation =3D OMNIORB2

#
# Notice that the version number 2.6 is hardwired in OMNIORB2_LIB.
#
OMNIORB2_LIB =3D $(patsubst %,$(LibSharedSearchPattern),omniORB26) \
                $(OMNITHREAD_LIB) $(SOCKET_LIB)
lib_depend :=3D $(patsubst %,$(LibSharedPattern),omniORB26)
OMNIORB2_LIB_DEPEND1 :=3D $(GENERATE_LIB_DEPEND)
OMNIORB2_LIB_DEPEND =3D $(OMNIORB2_LIB_DEPEND1) $(OMNITHREAD_LIB_DEPEND)

OMNIORB2_LC_LIB =3D $(patsubst %,$(LibSharedSearchPattern),omniLC2)

#
# OMNI thread stuff
#

ThreadSystem =3D Posix

OMNITHREAD_POSIX_CPPFLAGS =3D -DPthreadDraftVersion=3D10 -DNoNanoSleep
OMNITHREAD_CPPFLAGS =3D -D_REENTRANT

# The pthread package before 4.0 was POSIX 1003.4a draft 4. If for some
# reason it is necessary to run the same binaries on 4.0 and older =
systems
# (e.g. 3.2), use the following make variables instead.
#
# OMNITHREAD_POSIX_CPPFLAGS =3D -DPthreadDraftVersion=3D4 -DNoNanoSleep=20
# OMNITHREAD_CPPFLAGS =3D -D_PTHREAD_USE_D4 -D_REENTRANT

OMNITHREAD_LIB =3D $(patsubst %,$(LibSearchPattern),omnithread) \
		 -lpthread -lmach -lc_r

lib_depend :=3D $(patsubst %,$(LibPattern),omnithread)
OMNITHREAD_LIB_DEPEND :=3D $(GENERATE_LIB_DEPEND)

# Default location of the omniORB2 configuration file [falls back to =
this if
# the environment variable OMNIORB_CONFIG is not set] :

OMNIORB_CONFIG_DEFAULT_LOCATION =3D \"/etc/omniORB.cfg\"

# Default directory for the omniNames log files.
OMNINAMES_LOG_DEFAULT_LOCATION =3D \"/var/omninames\"

------=_NextPart_000_01BE5906.EC079BB0--