Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

warning: data definition has no type or storage class

187 views
Skip to first unread message

omronz

unread,
Aug 3, 2009, 4:48:00 AM8/3/09
to

Hai everyone

I am new in SSL. I start to play around OpenSSL by creating a simple server
that uses openssl. So, I just intialize the openssl main library but my
program returned the warning message "data definition has no type or
storage class" What does this mean and how can i eliminate this warning
message? Hope that anyone here can help me since I am really new in OpenSSL.
My OpenSSL version is 0.9.8g 19 Oct 2007.

#include <openssl/bio.h>
//#include <openssl/ssl.h>
//#include <openssl/err.h>

OpenSSL_add_all_algorithms(); //the warning message returned here
SSL_load_error_strings(); //the warning message returned here

int main()
{
return 0;
}

Another error i received is
- "previous declaration of 'OPENSSL_add_all_algorithms_noconf' was here"
- "conflicting types for 'SSL_load_error_strings' "

These error message above only appeared if i cancel the comment tag at the
#include <openssl/ssl.h> and #include <openssl/err.h>

Hope that anyone can help me. I am now referring 3 basic manuals about
openssl and these 3 gives different initialization library. Some uses
OpenSSL_add_all_algorithms(); and there are some uses SSL_library_init(). I
know that by using different library, they offer different encryption and
hash function example like DES or any other encryption algo. Can both of
them be used using my openssl version? Thanks a lot.
--
View this message in context: http://www.nabble.com/warning%3A-data-definition-has-no-type-or-storage-class-tp24785280p24785280.html
Sent from the OpenSSL - Dev mailing list archive at Nabble.com.
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List opens...@openssl.org
Automated List Manager majo...@openssl.org

Vivek Subbarao

unread,
Aug 4, 2009, 2:07:45 AM8/4/09
to
OpenSSL_add_all_algorithms(); //the warning message returned here
SSL_load_error_strings(); //the warning message returned here

You are redeclaring the above functions in your program which are
already declared and implemented in openssl lib. U need to move these
functions into main() or some other function

-----Original Message-----
From: owner-op...@openssl.org
[mailto:owner-op...@openssl.org] On Behalf Of omronz
Sent: 03 August 2009 10:11
To: opens...@openssl.org
Subject: warning: data definition has no type or storage class


Hai everyone

I am new in SSL. I start to play around OpenSSL by creating a simple
server
that uses openssl. So, I just intialize the openssl main library but my
program returned the warning message "data definition has no type or
storage class" What does this mean and how can i eliminate this warning
message? Hope that anyone here can help me since I am really new in
OpenSSL.
My OpenSSL version is 0.9.8g 19 Oct 2007.

#include <openssl/bio.h>
//#include <openssl/ssl.h>
//#include <openssl/err.h>

OpenSSL_add_all_algorithms(); //the warning message returned here
SSL_load_error_strings(); //the warning message returned here

int main()
{
return 0;
}

Another error i received is=20


- "previous declaration of 'OPENSSL_add_all_algorithms_noconf' was here"
- "conflicting types for 'SSL_load_error_strings' "

These error message above only appeared if i cancel the comment tag at
the
#include <openssl/ssl.h> and #include <openssl/err.h>

Hope that anyone can help me. I am now referring 3 basic manuals about

openssl and these 3 gives different initialization library. Some uses=20


OpenSSL_add_all_algorithms(); and there are some uses
SSL_library_init(). I
know that by using different library, they offer different encryption
and
hash function example like DES or any other encryption algo. Can both of
them be used using my openssl version? Thanks a lot.

--=20

Dave Thompson

unread,
Aug 4, 2009, 2:14:50 AM8/4/09
to
> From: owner-op...@openssl.org On Behalf Of omronz
> Sent: Monday, 03 August, 2009 00:41

> I am new in SSL. I start to play around OpenSSL by creating a
> simple server that uses openssl. So, I just intialize the
> openssl main library but my program returned the warning
> message "data definition has no type or storage class" What
> does this mean and how can i eliminate this warning message?
> Hope that anyone here can help me since I am really new in OpenSSL.
> My OpenSSL version is 0.9.8g 19 Oct 2007.
>

Apparently you are new to C programming also.

> #include <openssl/bio.h>
> //#include <openssl/ssl.h>
> //#include <openssl/err.h>
>
> OpenSSL_add_all_algorithms(); //the warning message returned here
> SSL_load_error_strings(); //the warning message returned here
>

You cannot have executable statements outside of a function
body (more precisely, block) in C, so these are treated as
VERY OLD pre-"K&R1" (circa 1975) declarations with
no return type (implicit int) hence the warnings.
These should be calls (statements) INSIDE main(),
or in a larger program inside some function that is
executed at or sufficiently near program start.

> int main()
> {
> return 0;
> }
>
> Another error i received is

> - "previous declaration of
> 'OPENSSL_add_all_algorithms_noconf' was here"
> - "conflicting types for 'SSL_load_error_strings' "
>
> These error message above only appeared if i cancel the
> comment tag at the #include <openssl/ssl.h> and #include
> <openssl/err.h>
>

Those files provide the correct declarations (prototypes)
which conflict with the incorrect ones you mistakenly wrote.

> Hope that anyone can help me. I am now referring 3 basic
> manuals about openssl and these 3 gives different
> initialization library. Some uses

> OpenSSL_add_all_algorithms(); and there are some uses
> SSL_library_init(). I know that by using different library,
> they offer different encryption and hash function example
> like DES or any other encryption algo. Can both of them be
> used using my openssl version? Thanks a lot.

SSL_library_init adds to an internal table, which
makes usable by name/id/EVP etc., the algorithms
(potentially) needed by SSL/TLS. This is sufficient
if your application uses OpenSSL to do SSL/TLS.

OpenSSL_add_all_algorithms does this for all
algorithms (that were included at build time).
This can be needed if you want to do other crypto
functions instead of or in addition to SSL/TLS.

omronz

unread,
Aug 4, 2009, 6:44:13 AM8/4/09
to

hmm, so you mean that these are function call statements? or is it a function
prototype? Yes, i was aware about the data type of the function prototype,
but since I never tried OpenSSL before, so i just try and see the error is.
Silly me :-)

I tried to put the statement in the main block, but then an error message
displayed "undefined reference to 'OpenSSL_add_all_algorithm" and "undefined
reference to 'SSL_load_error_strings'

Is there any linkage i forgot to put? Anyway, thanks for the reply.

--
View this message in context: http://www.nabble.com/warning%3A-data-definition-has-no-type-or-storage-class-tp24785280p24804511.html


Sent from the OpenSSL - Dev mailing list archive at Nabble.com.

omronz

unread,
Aug 4, 2009, 6:44:42 AM8/4/09
to

hmm, so you mean that these are function call statements? or is it a function
prototype? Yes, i was aware about the data type of the function prototype,
but since I never tried OpenSSL before, so i just try and see the error is.
Silly me :-)

I tried to put the statement in the main block, but then an error message
displayed "undefined reference to 'OpenSSL_add_all_algorithm" and "undefined
reference to 'SSL_load_error_strings'

Is there any linkage i forgot to put? Anyway, thanks for the reply.

Vivek Subbarao wrote:
>
> OpenSSL_add_all_algorithms(); //the warning message returned here
> SSL_load_error_strings(); //the warning message returned here
>

> You are redeclaring the above functions in your program which are
> already declared and implemented in openssl lib. U need to move these
> functions into main() or some other function
>
> -----Original Message-----
> From: owner-op...@openssl.org
> [mailto:owner-op...@openssl.org] On Behalf Of omronz
> Sent: 03 August 2009 10:11
> To: opens...@openssl.org

> Subject: warning: data definition has no type or storage class
>
>
> Hai everyone


>
> I am new in SSL. I start to play around OpenSSL by creating a simple
> server
> that uses openssl. So, I just intialize the openssl main library but my
> program returned the warning message "data definition has no type or
> storage class" What does this mean and how can i eliminate this warning
> message? Hope that anyone here can help me since I am really new in
> OpenSSL.
> My OpenSSL version is 0.9.8g 19 Oct 2007.
>

> #include <openssl/bio.h>
> //#include <openssl/ssl.h>
> //#include <openssl/err.h>
>
> OpenSSL_add_all_algorithms(); //the warning message returned here
> SSL_load_error_strings(); //the warning message returned here
>

> int main()
> {
> return 0;
> }
>
> Another error i received is
> - "previous declaration of 'OPENSSL_add_all_algorithms_noconf' was here"
> - "conflicting types for 'SSL_load_error_strings' "
>
> These error message above only appeared if i cancel the comment tag at
> the
> #include <openssl/ssl.h> and #include <openssl/err.h>
>

> Hope that anyone can help me. I am now referring 3 basic manuals about
> openssl and these 3 gives different initialization library. Some uses
> OpenSSL_add_all_algorithms(); and there are some uses
> SSL_library_init(). I
> know that by using different library, they offer different encryption
> and
> hash function example like DES or any other encryption algo. Can both of
> them be used using my openssl version? Thanks a lot.

> class-tp24785280p24785280.html


> Sent from the OpenSSL - Dev mailing list archive at Nabble.com.
> ______________________________________________________________________
> OpenSSL Project http://www.openssl.org
> Development Mailing List opens...@openssl.org
> Automated List Manager majo...@openssl.org

> ______________________________________________________________________
> OpenSSL Project http://www.openssl.org
> Development Mailing List opens...@openssl.org
> Automated List Manager majo...@openssl.org
>
>

--
View this message in context: http://www.nabble.com/warning%3A-data-definition-has-no-type-or-storage-class-tp24785280p24804525.html

Vivek Subbarao

unread,
Aug 4, 2009, 6:57:41 AM8/4/09
to
Uncomment the #include statements. That should solve your problems.

-----Original Message-----
From: owner-op...@openssl.org
[mailto:owner-op...@openssl.org] On Behalf Of omronz
Sent: 04 August 2009 14:17
To: opens...@openssl.org
Subject: RE: warning: data definition has no type or storage class


hmm, so you mean that these are function call statements? or is it a
function
prototype? Yes, i was aware about the data type of the function
prototype,
but since I never tried OpenSSL before, so i just try and see the error
is.
Silly me :-)

I tried to put the statement in the main block, but then an error
message
displayed "undefined reference to 'OpenSSL_add_all_algorithm" and
"undefined
reference to 'SSL_load_error_strings'

Is there any linkage i forgot to put? Anyway, thanks for the reply.

Vivek Subbarao wrote:
>=20


> OpenSSL_add_all_algorithms(); //the warning message returned here
> SSL_load_error_strings(); //the warning message returned here

>=20


> You are redeclaring the above functions in your program which are
> already declared and implemented in openssl lib. U need to move these
> functions into main() or some other function

>=20


> -----Original Message-----
> From: owner-op...@openssl.org
> [mailto:owner-op...@openssl.org] On Behalf Of omronz
> Sent: 03 August 2009 10:11
> To: opens...@openssl.org
> Subject: warning: data definition has no type or storage class
>=20
>=20
> Hai everyone
>=20
> I am new in SSL. I start to play around OpenSSL by creating a simple
> server
> that uses openssl. So, I just intialize the openssl main library but
my
> program returned the warning message "data definition has no type or
> storage class" What does this mean and how can i eliminate this
warning
> message? Hope that anyone here can help me since I am really new in
> OpenSSL.
> My OpenSSL version is 0.9.8g 19 Oct 2007.

>=20


> #include <openssl/bio.h>
> //#include <openssl/ssl.h>
> //#include <openssl/err.h>

>=20


> OpenSSL_add_all_algorithms(); //the warning message returned here
> SSL_load_error_strings(); //the warning message returned here

>=20
> int main()
> {
> return 0;
> }
>=20


> Another error i received is=20

> - "previous declaration of 'OPENSSL_add_all_algorithms_noconf' was
here"
> - "conflicting types for 'SSL_load_error_strings' "

>=20


> These error message above only appeared if i cancel the comment tag at
> the
> #include <openssl/ssl.h> and #include <openssl/err.h>

>=20


> Hope that anyone can help me. I am now referring 3 basic manuals about

> openssl and these 3 gives different initialization library. Some uses=20


> OpenSSL_add_all_algorithms(); and there are some uses
> SSL_library_init(). I
> know that by using different library, they offer different encryption
> and
> hash function example like DES or any other encryption algo. Can both
of
> them be used using my openssl version? Thanks a lot.

> --=20


> View this message in context:
>
http://www.nabble.com/warning%3A-data-definition-has-no-type-or-storage-
> class-tp24785280p24785280.html
> Sent from the OpenSSL - Dev mailing list archive at Nabble.com.
> ______________________________________________________________________
> OpenSSL Project http://www.openssl.org
> Development Mailing List opens...@openssl.org
> Automated List Manager majo...@openssl.org
> ______________________________________________________________________
> OpenSSL Project http://www.openssl.org
> Development Mailing List opens...@openssl.org
> Automated List Manager majo...@openssl.org

>=20
>=20

--=20

class-tp24785280p24804525.html

Goetz Babin-Ebell

unread,
Aug 4, 2009, 12:44:26 PM8/4/09
to
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

omronz wrote:
| hmm, so you mean that these are function call statements? or is it a
function
| prototype? Yes, i was aware about the data type of the function prototype,
| but since I never tried OpenSSL before, so i just try and see the
error is.
| Silly me :-)
|
| I tried to put the statement in the main block, but then an error message
| displayed "undefined reference to 'OpenSSL_add_all_algorithm" and
"undefined
| reference to 'SSL_load_error_strings'
|
| Is there any linkage i forgot to put? Anyway, thanks for the reply.

OpenSSL_add_all_algorithms() needs libcrypto,
SSL_load_error_strings() needs libssl, which needs libcrypto.

So at least with gcc the link line should contain -lssl -lcrypto

And please, this thread belongs into openssl-users...

Goetz

- --
DMCA: The greed of the few outweighs the freedom of the many
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFKeFVZ2iGqZUF3qPYRAmjoAJ9FCs+fiKMEAsQ3UgK5KHxOiNaJCQCdGF4B
owqzzG/2ePO9aegThFYaC+U=
=18Ok
-----END PGP SIGNATURE-----

0 new messages