-
Notifications
You must be signed in to change notification settings - Fork 375
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
/usr/include/ace/SSL/SSL_Context.h not present in 8.0.1 ace-devel packages (it is present in 7.1.4 when built on the same machine) #2286
Comments
No idea why this happens, maybe something that has changed in the underlying OS to handle the rpm build. See https://github.com/DOCGroup/ACE_TAO/blob/master/ACE/rpmbuild/ace-tao.spec for the spec file which I think is used by rpmbuild |
I've checked the github code in a local clone for changes between the two releases and I don't see anything apparently important. Could you point me in the right place to investigate "the decision" to include or not those files in the ace-devel? I am willing to test and make a pull request. |
I have no idea, see the file I mentioned, that is the script used as far as I know |
I saw that file, no changes there except the version. The weird thing it that it is the same operating system showing the problem between the two versions, so I assume this to be related to the library. |
Here is the diff of files in the ace-devel packages between 8.0.1 and 7.1.4 `
` If it offers some hints I would be happy to continue looking into it. |
Since it's raining today I had some time to discover the problem why some of the headers are not included. It is caused by the fact that C++17 is required, even though everything builds fine - which is rather confusing. The problem is in this place of the ace-tao.spec ` ` I would say that a "-std=c++17" needs to be added but I am not the expert here. It might be that the compilation flags should be taken from other place. Please let me know if you have other ideas to test here. |
Yes, that sounds logical, please create a PR |
Version
8.0.1
Host machine and operating system
OpenSUSE 15.6 64bit (same target)
Compiler name and version (including patch level)
gcc --version
gcc (SUSE Linux) 7.5.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[email protected]:~ # g++ --version
g++ (SUSE Linux) 7.5.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
The $ACE_ROOT/ace/config.h file
Using the default one from tar.gz.
I am building using the .tar.gz file via: "rpmbuild -ta ACE+TAO-src-8.0.1.tar.gz" (tar.gz is taken from github releases and renamed with src in its name)
The $ACE_ROOT/include/makeinclude/platform_macros.GNU file
Using the default one from tar.gz. See above how I build.
Contents of $ACE_ROOT/bin/MakeProjectCreator/config/default.features
Using the default one from tar.gz. See above.
AREA/CLASS/EXAMPLE AFFECTED:
ace-devel doesn't contain SSL_Context.h header file.
rpm -qlp /usr/src/packages/RPMS/x86_64/ace-devel-8.0.1-1.x86_64.rpm | grep SSL
/usr/include/ace/SSL
/usr/include/ace/SSL/SSL_Asynch_BIO.h
/usr/include/ace/SSL/SSL_Export.h
/usr/include/ace/SSL/sslconf.h
/usr/lib64/libACE_INet_SSL.so
/usr/lib64/libACE_SSL.so
compiling on the same machine latest 7 verson (7.1.4) results in a proper ace-devel package like it can be seen below:
rpm -qlp /home/iulians/rpmbuild/RPMS/x86_64/ace-devel-7.1.4-1.x86_64.rpm | grep SSL
/usr/include/ace/SSL
/usr/include/ace/SSL/SSL_Asynch_BIO.h
/usr/include/ace/SSL/SSL_Asynch_Stream.h
/usr/include/ace/SSL/SSL_Asynch_Stream.inl
/usr/include/ace/SSL/SSL_Context.h
/usr/include/ace/SSL/SSL_Context.inl
/usr/include/ace/SSL/SSL_Export.h
/usr/include/ace/SSL/SSL_Initializer.h
/usr/include/ace/SSL/SSL_SOCK.h
/usr/include/ace/SSL/SSL_SOCK.inl
/usr/include/ace/SSL/SSL_SOCK_Acceptor.h
/usr/include/ace/SSL/SSL_SOCK_Acceptor.inl
/usr/include/ace/SSL/SSL_SOCK_Connector.h
/usr/include/ace/SSL/SSL_SOCK_Connector.inl
/usr/include/ace/SSL/SSL_SOCK_Stream.h
/usr/include/ace/SSL/SSL_SOCK_Stream.inl
/usr/include/ace/SSL/sslconf.h
/usr/lib64/libACE_INet_SSL.so
/usr/lib64/libACE_SSL.so
Another note here: on openSUSE Tumbleweed (rolling release with latest software) 8.0.1 works as expected by including the SSL headers in ace-devel (That system has gcc 14.2).
The problem effects:
Our projects that cannot properly compile with the resulted ace-devel rpm package.
Synopsis
The ace-devel doesn't contain many of the /usr/include/ace/SSL/SSL_* header files. See above.
Description
Our code cannot compile as it cannot find some SSL* headers that should be in the ace-devel package.
Repeat by
Started the compilation of some modules that were using ACE/TAO libraries. The missing header resulted in compilation error.
Sample fix/ workaround
Use older version - 7.1.4 in our case - haven't tried with 8.0.0.
Please let us know if we can perform some tests on the machines in order to help you. As a summary:
Thank you!
The text was updated successfully, but these errors were encountered: