DOCGroup / ACE_TAO

ACE and TAO
https://www.dre.vanderbilt.edu/~schmidt/TAO.html
698 stars 374 forks source link

missing include file after install on OSX/LINUX #1588

Open ClausKlein opened 3 years ago

ClausKlein commented 3 years ago

Version

git master

Host machine and operating system

Darwin Claus-iMac.fritz.box 20.5.0 Darwin Kernel Version 20.5.0: Sat May 8 05:10:33 PDT 2021; root:xnu-7195.121.3~9/RELEASE_X86_64 x86_64

Target machine and operating system (if different from host)

-

Compiler name and version (including patch level)

bash-3.2$ g++ --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/4.2.1
Apple clang version 12.0.5 (clang-1205.0.22.11)
Target: x86_64-apple-darwin20.5.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
bash-3.2$ 

The $ACE_ROOT/ace/config.h file

If you use a link to a platform-specific file, simply state which one

The $ACE_ROOT/include/makeinclude/platform_macros.GNU file

include $(ACE_ROOT)/include/makeinclude/platform_macosx.GNU

Contents of $ACE_ROOT/bin/MakeProjectCreator/config/default.features

ipv6=1

versioned_namespace=1

AREA/CLASS/EXAMPLE AFFECTED:

-

The problem effects:

Can't use the TAO_Catior lib in any way!

#ifdef WIN32
#    include "utils/catior/Catior_i.h"
#else
#    include "tao/catior/Catior_i.h"
#endif

Synopsis

bash-3.2$ head -20 /usr/local/include/tao/catior/Catior_i.h 

#ifndef CATIOR_I_H
#define CATIOR_I_H

//=============================================================================
/**
 *  @file    Catior_i.h
 *
 *  Reads stringified IORs and outputs the encoded information.
 *
 *  @author   Jeff Hopper <jrhopper@cts.com>   SCIOP and Tagged component modifications by:   Jason Cohen
 *  @author Lockheed Martin ATL <jcohen@atl.lmco.com>   Split into a separate library by:   Chad Elliott <elliott_c@ociweb.com>
 */
//=============================================================================

#include "catior_export.h"
#include "ace/String_Base.h"
#include "ace/SStringfwd.h"
#include "tao/Basic_Types.h"
bash-3.2$ tree /usr/local/include/tao/catior
/usr/local/include/tao/catior
└── Catior_i.h

0 directories, 1 file
bash-3.2$ find /usr/local/include/tao -name catior_export.h
bash-3.2$ 

Description

make install and check the include directory

Repeat by

include <tao/Catior_i.h>

Sample fix/ workaround

diff --git a/TAO/utils/catior/catior.mpc b/TAO/utils/catior/catior.mpc
index 109cceff1a8..8af81046d7f 100644
--- a/TAO/utils/catior/catior.mpc
+++ b/TAO/utils/catior/catior.mpc
@@ -9,6 +9,11 @@ project(*lib): tao_output, rtcorba, install, messaging, ziop {
     Catior_i.cpp
   }

+  Header_Files {
+    Catior_i.h
+    catior_export.h
+  }
+
   specific {
     install_dir = tao/catior
   }
jwillemsen commented 3 years ago

Please open a PR

ClausKlein commented 3 years ago

Please open a PR

Not possible, as long there is no unique way to use this header on windows and unix!

Expected behaviour in any way:

#include "tao/catior/Catior_i.h"
jwillemsen commented 3 years ago

The MPC prj_install.pl should be usable on Windows, but it uses the ins files generated based on the contents of the MPC files, so you can make a PR to add the missing headers.

ClausKlein commented 3 years ago

The MPC prj_install.pl should be usable on Windows, but it uses the ins files generated based on the contents of the MPC files, so you can make a PR to add the missing headers.

How do I install the ACE_TAO project based on the visual studio solution with the perl script? (if I would had perl installed)

jwillemsen commented 3 years ago

See https://github.com/DOCGroup/MPC/blob/master/docs/USAGE

ClausKlein commented 3 years ago

Sorry, that does not help?

I have the ACE_TAO distribution installed, use installed VS2017 solution, and wand to be able to install the ACE_TAO project I have build.

I don't like windows at all!

I would prefer to have a CMAKE generated project with test and install targets.

jwillemsen commented 3 years ago

When you need guaranteed support/assistance see https://github.com/DOCGroup/ACE_TAO/wiki/ACE-and-TAO-Commercial-support, my free time for assistance on github is very limited, I only know that it should work but would have to setup a VM with Visual Studio 2017 to test this myself, something which takes more time as I have available for free support.

ClausKlein commented 3 years ago

I can help me myself!

This bug report is open to document the limited usage under windows