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
Problem with Oracle 12.2 precompiler #9778
Comments
Note: message re-edited to add better mardown markup for output text |
I assume that you're building an application of your own, is that it? Can you show the |
It might be as simple as you needing to |
I'm using two includes in my .pc file: #include <openssl/ssl.h> If i compile using gcc everything goes fine, but using proc i have the problem... On my component i'm adding TLS 1.2 security on the sockets already implemented... The syntax for using OpenSSL don't have problem, this happens on the precompiler phase.... |
I have no idea how that precompiler works, like what assumptions it works under... |
On the messages obtained, looks like the definition of the structure wasn't identified by the precompiler. But the strange point is that the definition happened a few lines before that the function prototype... The OpenSSL version is 1.0.1p |
Oh wow, that's an old OpenSSL! That's older than I have answers for... The best I can suggest is to start with upgrading to 1.0.2. It should be compatible with what you're using today. Eventually, you will have to upgrade to even newer, but 1.0.2 is good enough for now. |
I agree, thats an old version.... but the user has problems with the environment... we are trying to use 1.0.2r.... |
Do you have this same problem with 1.0.2r? |
Some similar....
I continue searching on the Net, but now looking for environment on gcc and proc, and i found that if i collect the path used by the GCC i can solved the mayor part of them.... i'm on this... |
After change that path environment i got only two messages, one is the same on typedef struct and another one is about another include of gcc...... |
I've added: to the path of libraries on proc y now i got:
|
Why did you add |
It looks like unnecessary, but it helps to reduce the number of errors.... Now the error looks like the others, one struct dont recognized, but defined a few lines before on the same header file:
|
You're not showing what you're actually doing, so there's not much we can say... |
The error was posted, one step before you ask why i do that change.... The path in the configuration of the precompiler was the only change. I obtained that path collecting the info of the gcc compiler, and pasting that path on the precompiler. That was the only change, and i got less errors, as i said before. And still in 1.0.1p, tomorrow we will update to 1.0.2p and repeat the testing. The proc precompiler take a configuration file, in that file i added the path i showed before. That was the only change, nothing in my component and nothing in OpenSSL. What more do you need to see? |
You talk as if I somehow knew anything about that precompiler. I know nothing about it, I do not know how you run it, on what you run it, or what to expect from it. I said so among my first comments. And yet, you continue to present me errors, and seem to think that it will somehow provide enough knowledge... That being said, it looks to me like that precompiler doesn't deal well with types that, at least as far as it's able to read, are opaque (i.e it's a typedef of a struct where the struct itself isn't defined). Could that guess lead to something fruitful? (is there a manual for this precompiler that you can give us a url to?) |
OK, i was posting the message in the hope that somebody could help me. Sorry if feel this like personal. The precompiler "translates" a series of special commands that Oracle recognize into ansi C sentences for make posible his compilation into a exe file. This is the URL for the documentation of this precompiler: https://docs.oracle.com/cd/E11882_01/appdev.112/e10825/toc.htm I agree that this tool looks "incomplete" about the precoessing of all the capabilities of Ansi C, and i think tahtat it has limitations on the use of structures of ansi C (been typedef struct one of this structures). This is not a problem of OpenSSL, the structures are defined and are utilized on the flow of the application, but is a fact that the precompiler has problems parsing the header files. |
THinking about the problem, we'll try an option: use the precompiler on the original source componente, and add the openssl changes on the ansi c obtained as result of the precompiler.
On this way we can eliminate the process of the openssl changes in the precompiler. There will hace more work to do, but the problem on the bad parsing doesnt exist anymore....
Thank you for your support.
Atentamente
Manuel Villalobos
…________________________________
De: Richard Levitte <notifications@github.com>
Enviado: jueves, 5 de septiembre de 2019 06:49 p. m.
Para: openssl/openssl <openssl@noreply.github.com>
CC: wolfiepop1974 <wolfiepop@outlook.com>; Author <author@noreply.github.com>
Asunto: Re: [openssl/openssl] Problem with Oracle 12.2 precompiler (#9778)
You talk as if I somehow knew anything about that precompiler. I know nothing about it, I do not know how you run it, on what you run it, or what to expect from it. I said so among my first comments. And yet, you continue to present me errors, and seem to think that it will somehow provide enough knowledge...
That being said, it looks to me like that precompiler doesn't deal well with types that, at least as far as it's able to read, are opaque (i.e it's a typedef of a struct where the struct itself isn't defined). Could that guess lead to something fruitful?
(is there a manual for this precompiler that you can give us a url to?)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub<#9778?email_source=notifications&email_token=AKN3DEVVANWPPZARTZ44YM3QIFIDZA5CNFSM4IT6CUPKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6AJ2QI#issuecomment-528522561>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AKN3DEWQD344DWN2UWKC2GTQIFIDZANCNFSM4IT6CUPA>.
|
If OpenSSL uses C99, you have a problem. Pro*C does not properly support C99 mode. The best you can do -- and this is what we do -- wrap your code with defines and add it to the |
This question seems to have been answered. Closing. |
When i try to compile with proc precompiler i get a lot of messages of this tipe:
Is possible to integrate OpenSSL with Oracle Pro*C? i was searching on tne net about this topic but i couldn't find nothing at all....
I tried to analize this case, and i think that the problem is on the precompiler, because the typedef struct is not taken on count on the same header file, like it doesn't exist....
The text was updated successfully, but these errors were encountered: