TAO VERSION: 1.4.8
ACE VERSION: 5.4.8
HOST MACHINE and OPERATING SYSTEM:
Any.
TARGET MACHINE and OPERATING SYSTEM, if different from HOST:
Not different.
COMPILER NAME AND VERSION (AND PATCHLEVEL):
N/A
THE $ACE_ROOT/ace/config.h FILE [if you use a link to a platform-
specific file, simply state which one]:
Not used.
THE $ACE_ROOT/include/makeinclude/platform_macros.GNU FILE [if you
use a link to a platform-specific file, simply state which one
(unless this isn't used in this case, e.g., with Microsoft Visual
C++)]:
Not used.
CONTENTS OF $ACE_ROOT/bin/MakeProjectCreator/config/default.features
(used by MPC when you generate your own makefiles):
// $Id$
// This is an automatically generated file.
ssl=0
qos=1
cidl=0
rwho=0
sctp=0
AREA/CLASS/EXAMPLE AFFECTED:
Compiling programs against an autotools-installed TAO might fail.
DOES THE PROBLEM AFFECT:
COMPILATION?
If so, what do your $ACE_ROOT/ace/config.h and
$ACE_ROOT/include/makeinclude/platform_macros.GNU contain?
Not used.
LINKING?
On Unix systems, did you run make realclean first?
N/A
EXECUTION?
N/A
OTHER (please specify)?
Building programs which use TAO is affected.
SYNOPSIS:
When using the autotools build system on any OS/compiler, "make install" does not install some files in $PREFIX/include/orbsvcs. As a result,
compiling programs against the installed TAO may fail with "No such file or directory".
DESCRIPTION:
Whether the compilation of a particular source file using TAO will fail or not depends on whether it uses a header which includes a non-installed
another header or not.
REPEAT BY:
cd ACE_wrappers
mkdir objdir
cd objdir
../configure --prefix=$PREFIX
make
make install
Now create a program which uses orbsvcs/CosLoadBalancingC.h, for example. Compiling it will fail with
"$PREFIX/include/orbsvcs/CosLoadBalancingC.h:43:56: orbsvcs/LoadBalancing/LoadBalancing_export.h: No such file or directory".
SAMPLE FIX/WORKAROUND:
The files which are not installed should be added to the "nobase_include_HEADERS" variable in ACE_wrappers/TAO/orbsvcs/orbsvcs/Makefile.am. But because:
1. Some of these files should be installed conditionally;
2. Makefile.am is generated but I don't exactly know how and from what;
I will leave the fix to you and will only point you the files. They are:
orbsvcs/AVStreamsS.inl
orbsvcs/AVStreamsS_T.h
orbsvcs/Concurrency/concurrency_export.h
orbsvcs/CosConcurrencyControlS.inl
orbsvcs/CosEvent/CEC_Defaults.h
orbsvcs/CosEvent/event_serv_export.h
orbsvcs/CosLifeCycleS.inl
orbsvcs/CosLoadBalancingS.inl
orbsvcs/CosNaming.idl
orbsvcs/CosNotifyFilter.idl
orbsvcs/DsLogAdmin.idl
orbsvcs/ESF/ESF_Peer_Admin.h
orbsvcs/ESF/ESF_Proxy_Admin.h
orbsvcs/ESF/ESF_Worker.h
orbsvcs/Event/ECG_Defaults.h
orbsvcs/Event/EC_Defaults.h
orbsvcs/Event/rtcorba_event_export.h
orbsvcs/Event/rtkokyu_event_export.h
orbsvcs/Event/sched_event_export.h
orbsvcs/Event_Service_Constants.h
orbsvcs/FTRTS.inl
orbsvcs/FTRT_GroupManagerS.inl
orbsvcs/FT_CORBAS.inl
orbsvcs/FT_CORBAS_T.h
orbsvcs/FT_CORBA_ORBS.inl
orbsvcs/FT_FaultDetectorFactoryS.inl
orbsvcs/FT_FaultDetectorFactoryS_T.h
orbsvcs/FT_NotifierS.inl
orbsvcs/FT_NotifierS_T.h
orbsvcs/FT_ReplicaS.inl
orbsvcs/FT_ReplicaS_T.h
orbsvcs/FT_ReplicationManagerS.inl
orbsvcs/FT_ReplicationManagerS_T.h
orbsvcs/FaultTolerance/FT_ClientORB_export.h
orbsvcs/FaultTolerance/FT_ServerORB_export.h
orbsvcs/FtRtEvent/ClientORB/ftrt_clientorb_export.h
orbsvcs/FtRtEvent/EventChannel/FTEC_Fault_Listener.h
orbsvcs/FtRtEvent/Utils/ScopeGuard.h
orbsvcs/FtRtEvent/Utils/ftrtevent_export.h
orbsvcs/FtRtecEventChannelAdminS.inl
orbsvcs/FtRtecEventCommS.inl
orbsvcs/HTIOP/HTIOP_Acceptor_Impl.cpp
orbsvcs/HTIOP/HTIOP_Connector_Impl.cpp
orbsvcs/HTIOP/HTIOP_Export.h
orbsvcs/HTIOPS.inl
orbsvcs/IFRService/IFR_BaseS_T.h
orbsvcs/IFRService/IFR_BaseS_T.inl
orbsvcs/IFRService/IFR_BasicS_T.h
orbsvcs/IFRService/IFR_BasicS_T.inl
orbsvcs/IFRService/IFR_ComponentsS_T.h
orbsvcs/IFRService/IFR_ComponentsS_T.inl
orbsvcs/IFRService/IFR_ExtendedS_T.h
orbsvcs/IFRService/IFR_ExtendedS_T.inl
orbsvcs/IFRService/IFR_Service_Utils_T.h
orbsvcs/IFRService/IFR_macro.h
orbsvcs/IFRService/ifr_service_export.h
orbsvcs/LB_ORTS.inl
orbsvcs/LB_ORTS_T.cpp
orbsvcs/LifeCycle/lifecycle_export.h
orbsvcs/LifeCycleServiceS.inl
orbsvcs/LoadBalancing/LB_LoadAlertMap.h
orbsvcs/LoadBalancing/LB_LoadListMap.h
orbsvcs/LoadBalancing/LB_LoadMap.h
orbsvcs/LoadBalancing/LB_Location_Index_Map.h
orbsvcs/LoadBalancing/LB_MonitorMap.h
orbsvcs/LoadBalancing/LoadBalancing_export.h
orbsvcs/Log/rteventlog_export.h
orbsvcs/Notify/Consumer_Map.h
orbsvcs/Notify/Event_Persistence_Strategy.h
orbsvcs/Notify/Factory.h
orbsvcs/Notify/FilterFactory.h
orbsvcs/Notify/Method_Request_Updates_T.h
orbsvcs/Notify/Method_Request_Updates_T.inl
orbsvcs/Notify/Property.h
orbsvcs/Notify/Property_T.h
orbsvcs/Notify/ProxyConsumer_T.h
orbsvcs/Notify/ProxySupplier_T.h
orbsvcs/Notify/Proxy_T.h
orbsvcs/Notify/Refcountable_Guard_T.h
orbsvcs/Notify/Timer.h
orbsvcs/Notify/Topology_Factory.h
orbsvcs/Notify/notify_persist_export.h
orbsvcs/Notify/notify_serv_export.h
orbsvcs/Notify/rt_notify_export.h
orbsvcs/Null_MediaCtrlS.inl
orbsvcs/Null_MediaCtrlS_T.h
orbsvcs/PortableGroup/PG_Factory_Map.h
orbsvcs/PortableGroup/PG_Factory_Set.h
orbsvcs/PortableGroup/PG_Location_Map.h
orbsvcs/PortableGroup/PG_ObjectGroup_Map.h
orbsvcs/PortableGroup/PG_Property_Set_Find.h
orbsvcs/PortableGroupS.inl
orbsvcs/PortableGroupS_T.h
orbsvcs/PortableGroup_Simple_DSS.h
orbsvcs/RTEventLogAdminS.inl
orbsvcs/RtecBaseS.inl
orbsvcs/RtecBaseS_T.h
orbsvcs/RtecDefaultEventDataS_T.h
orbsvcs/RtecEventChannelAdminS_T.h
orbsvcs/RtecEventCommS_T.h
orbsvcs/RtecSchedulerS.inl
orbsvcs/RtecUDPAdminS_T.h
orbsvcs/SSLIOP/SSLIOP_OpenSSL_st_T.cpp
orbsvcs/Sched/Reconfig_Sched_Utils_T.h
orbsvcs/Sched/Reconfig_Scheduler_T.h
orbsvcs/Sched/sched_export.h
orbsvcs/SecurityLevel1S.inl
orbsvcs/SecurityLevel1S_T.h
orbsvcs/SecurityLevel2S.inl
orbsvcs/SecurityLevel2S_T.h
orbsvcs/SecurityS.inl
orbsvcs/SecurityS_T.h
orbsvcs/Time/time_export.h
orbsvcs/TimeBaseS.inl
orbsvcs/TimeBaseS_T.h
orbsvcs/TimeServiceS.inl
orbsvcs/Trader/Constraint_Tokens.h
orbsvcs/Trader/Interpreter_Utils_T.h
orbsvcs/Trader/Offer_Database.cpp
orbsvcs/Trader/Offer_Iterators_T.h
orbsvcs/Trader/Trader_Interfaces.cpp
orbsvcs/Trader/Trader_T.h
orbsvcs/Trader/trading_serv_export.h
orbsvcs/miopS.inl
orbsvcs/miopS_T.h
orbsvcs/sfpS.inl
orbsvcs/sfpS_T.h
I have obtained this list with the attached script. The script should be run in $PREFIX/include and is probably GNU-specific.
The script gives some false positives, namely:
orbsvcs/Event/Kokyu/Kokyu.h
orbsvcs/Notify/ACEXML/common/DefaultHandler.h
orbsvcs/Notify/ACEXML/common/FileCharStream.h
orbsvcs/Notify/ACEXML/parser/parser/Parser.h
orbsvcs/orb.idl
These are files which were included without the "ace/" or "tao/" prefix. Their inclusion probably needs fixing, too.
Also, have in mind that some of these files are generated (i.e. they should be taken from ACE_wrappers/objdir/TAO/orbsvcs), others are part of the
source distribution (i.e. they should be taken from ACE_wrappers/TAO/orbsvcs). But automake should take care of this.