Re: Linking error on Soalris x86 and sparc using fips capable openssl 1.0.1h
Thanks all for the help. I could resolve both the errors: Sun-Intel : using -Wl, -Bsymbolic and resolving few other linking errors. Sun-sparc : Re-building libstdc++ all the errors gone away. Thanks again Andy for pointing it out. Regards, Mrunal On Mon, Sep 15, 2014 at 12:40 AM, Andy Polyakov ap...@openssl.org wrote: While fips build on soalris, I am getting variour errors: Sun-Intel: FIPSLD_CC=gcc FIPSLD_LINK=g++ /unixhome/upg/Unix/SunOS/i386/OpenSource/ssl-1.0.1h/bin/fipsld -fPIC -shared -g -O2 -o libImpl.so.10.0.0 -lcrypto Text relocation remains referenced against symbol offset in file fips_openssl_cpuid_setup0x1 /unixhome/upg/Unix/SunOS/i386/OpenSource/ssl-1.0.1h/bin/../lib/fipscanister.o ld: fatal: relocations remain against allocatable but non-writable sections collect2: ld returned 1 exit status after searching on net came to know that the option -fPIC should be used to fix this error and is used to build fipscanister.o as well as for the project where this is being used. FIPS module version 2 is compiled with -fPIC unconditionally. So question is what is that about. I mean why did you need to do something? Also read about using -Wl, -Bsymbolic, this removes above error, but fails for many other symbols. Such as? Essentially -Bsymbolic is a must for FIPS code. Sun-sparc: For the above same linking on sparc, I got following error: 4280524028:error:25066067:DSO support routines:DLFCN_LOAD:could not load the shared library:dso_dlfcn.c:187:filename(./objs/SunOS-5.10-sparc-32/libImpl.so.10.0.0): ld.so.1: fips_premain_dso: fatal: relocation error: file ./objs/SunOS-5.10-sparc-32/libImpl.so.10.0.0: symbol _ZNSt8__detail15_List_node_base7_M_hookEPS0_: referenced symbol not found 4280524028:error:25070067:DSO support routines:DSO_load:could not load the shared library:dso_lib.c:244: make: *** [objs/SunOS-5.10-sparc-32/libImpl.so.10.0.0] Error 1 Looks like something for you to figure out, as the symbol in question can't be from FIPS module. It seems to be something from libstdc++, so question is if libImpl.so was linked with it and if so, why it can't be found at that moment. __ OpenSSL Project http://www.openssl.org Development Mailing List openssl-...@openssl.org Automated List Manager majord...@openssl.org
Re: Linking error on Soalris x86 and sparc using fips capable openssl 1.0.1h
While fips build on soalris, I am getting variour errors: Sun-Intel: FIPSLD_CC=gcc FIPSLD_LINK=g++ /unixhome/upg/Unix/SunOS/i386/OpenSource/ssl-1.0.1h/bin/fipsld -fPIC -shared -g -O2 -o libImpl.so.10.0.0 -lcrypto Text relocation remains referenced against symbol offset in file fips_openssl_cpuid_setup0x1 /unixhome/upg/Unix/SunOS/i386/OpenSource/ssl-1.0.1h/bin/../lib/fipscanister.o ld: fatal: relocations remain against allocatable but non-writable sections collect2: ld returned 1 exit status after searching on net came to know that the option -fPIC should be used to fix this error and is used to build fipscanister.o as well as for the project where this is being used. FIPS module version 2 is compiled with -fPIC unconditionally. So question is what is that about. I mean why did you need to do something? Also read about using -Wl, -Bsymbolic, this removes above error, but fails for many other symbols. Such as? Essentially -Bsymbolic is a must for FIPS code. Sun-sparc: For the above same linking on sparc, I got following error: 4280524028:error:25066067:DSO support routines:DLFCN_LOAD:could not load the shared library:dso_dlfcn.c:187:filename(./objs/SunOS-5.10-sparc-32/libImpl.so.10.0.0): ld.so.1: fips_premain_dso: fatal: relocation error: file ./objs/SunOS-5.10-sparc-32/libImpl.so.10.0.0: symbol _ZNSt8__detail15_List_node_base7_M_hookEPS0_: referenced symbol not found 4280524028:error:25070067:DSO support routines:DSO_load:could not load the shared library:dso_lib.c:244: make: *** [objs/SunOS-5.10-sparc-32/libImpl.so.10.0.0] Error 1 Looks like something for you to figure out, as the symbol in question can't be from FIPS module. It seems to be something from libstdc++, so question is if libImpl.so was linked with it and if so, why it can't be found at that moment. __ OpenSSL Project http://www.openssl.org User Support Mailing Listopenssl-users@openssl.org Automated List Manager majord...@openssl.org
RE: Linking error
Hello, It looks to me like you need to link with one or more Windows libraries. QMAKE_LIBS_CORE = kernel32.lib user32.lib shell32.lib uuid.lib ole32.lib advapi32.lib ws2_32.lib -Tom Thomas Floodeen, Jr. Mentor Graphics BSD 720.494.1133 -Original Message- From: owner-openssl-us...@openssl.org [mailto:owner-openssl-us...@openssl.org] On Behalf Of Jevin Sonut Sent: Friday, March 22, 2013 2:07 PM To: openssl-users@openssl.org Subject: Linking error HI, can anyone understand what this error means:: libeay32.lib(cryptlib.obj) : error LNK2019: unresolved external symbol __imp__GetUserObjectInformationW@20 referenced in function _OPENSSL_isservice libeay32.lib(cryptlib.obj) : error LNK2019: unresolved external symbol __imp__GetProcessWindowStation@0 referenced in function _OPENSSL_isservice libeay32.lib(cryptlib.obj) : error LNK2019: unresolved external symbol __imp__GetDesktopWindow@0 referenced in function _OPENSSL_isservice libeay32.lib(cryptlib.obj) : error LNK2019: unresolved external symbol __imp__MessageBoxA@16 referenced in function _OPENSSL_showfatal libeay32.lib(cryptlib.obj) : error LNK2019: unresolved external symbol __imp__DeregisterEventSource@4 referenced in function _OPENSSL_showfatal libeay32.lib(cryptlib.obj) : error LNK2019: unresolved external symbol __imp__ReportEventA@36 referenced in function _OPENSSL_showfatal libeay32.lib(cryptlib.obj) : error LNK2019: unresolved external symbol __imp__RegisterEventSourceA@8 referenced in function _OPENSSL_showfatal debug\Openssl2.exe : fatal error LNK1120: 7 unresolved externals I tried to link QT with open ssl i tried to run the code from http://www.askyb.com/cpp/openssl-sha512-hashing-example-in-cpp/ the first part and i get the above error DO you think its an error with the linking:: MY QT .pro file :: INCLUDEPATH == C:\\openssl-1.0.1eBuild_Debug\\include LIBS += -LC:\\openssl-1.0.1eBuild_Debug\\lib \ -llibeay32 \ -lssleay32 openssl-1.0.1eBuild_Debug -- is the folder where i built the DEBUG version thanks in advance if Someone can help -- From:- Shanil J.S __ OpenSSL Project http://www.openssl.org User Support Mailing Listopenssl-users@openssl.org Automated List Manager majord...@openssl.org __ OpenSSL Project http://www.openssl.org User Support Mailing Listopenssl-users@openssl.org Automated List Manager majord...@openssl.org
RE: linking error
From: Priyaranjan Nayak [mailto:priyaranjan4...@gmail.com] Sent: Thursday, November 22, 2012 2:36 PM While build the tls server I got this link error.Below I mentioned bild log . Can any one help me ? Linking console executable: bin/Debug/dtlsServer ../openssl-1.0.1c/libssl.a(ssl_algs.o): In function `SSL_library_init': ssl_algs.c:(.text+0x1e): undefined reference to `EVP_idea_cbc' ... At a guess, you're not linking against libcrypto.a. If you are linking against libcrypto.a, then some versions of some linkers on some OSes are fussy about the order of libraries in the link command, and you'd need to make sure that libcrypto.a is listed after libssl.a. If neither of those do it, then provide some basic information - what OS are you building on, what compiler and linker are you using, and what exactly is the linker command line you are running? __ OpenSSL Project http://www.openssl.org User Support Mailing Listopenssl-users@openssl.org Automated List Manager majord...@openssl.org
Re: Linking Error.
Thanks for the response Vio, Actually I'm not familiar with the method you've proposed. but I tried to compile the program from command line and It failed! I can't understand why its compiling by using GUI but not from the command prompt. I'm so new to this and this project is really very important to me. Any one PLEASE help me. Thank you.Vio [EMAIL PROTECTED] wrote: I'm not too familiar with VC++ (ever tried DevC++ or MingwStudio? If old old VC++6 fails to do what you want, both free IDE alternatives), but whatever, doesn't VC generate some kind of Makefile between the curtains? Maybe you could create what's missing by hand?A Makefile looks something like this:---## File: Makefile for samples# Author: Robert Roebling# Created: 1999# Updated: # Copyright: (c) 1998 Robert Roebling## This makefile requires a Unix version of wxWindows# to be installed on your system. This is most often# done typing "make install" when using the complete# sources of wxWindows or by installing the two# RPM packages wxGTK.XXX.rpm and wxGTK-devel.XXX.rpm# under Linux.#CXX = $(shell wx-config --cxx)PROGRAM = MyAppOBJECTS = $(PROGRAM).o MySSL.o MyFrame.o MyCustom.oMYFLAGS = -I/d/ssl/run/include -I./sslMYLIBS = -L/d/ssl/run/lib -lssl -lcrypto.SUFFIXES: .o .cpp .c.cpp.o :$(CXX) -g -c `wx-config --cxxflags` $(MYFLAGS) \-Wall -pthread -o $@ $.c.o :gcc -g -c $(MYFLAGS) -Wall -pthread -o $@ $all: $(PROGRAM)$(PROGRAM): $(OBJECTS)$(CXX) -g -o $(PROGRAM) $(OBJECTS) `wx-config --libs` \$(MYLIBS) -Wall -pthreadclean: rm -f *.o $(PROGRAM)---What it does is that it generates compiling and linking commands,for instance the previous Makefile generates the following:g++ -g -c `wx-config --cxxflags` -I/d/ssl/run/include -I./ssl -Wall -pthread -o MyFrame.o MyFrame.cppg++ -g -o MyApp MyApp.o MySSL.o MyFrame.o MyCustom.o `wx-config --libs` -L/d/ssl/run/lib -lssl -lcrypto -Wall -pthreadFirst one is a compile command, second is a linking command.So you need the second one.Hope this helps somewhat,VioLayla wrote: David, Thanks for responding. "didn't work" is actually missing a word :), what i meant to say is "when /that/ didn't work" in reference to the specified path. You're right, I can compile, its linking that is giving me an error. "You have told the linker where the libraries are, but you didn't actually link them in." -So how can I actually link the library? Note: As I said before I'm using VC++ 6, therefore I'm compiling and linking using GUI not from the command line, would that be an issue? -In the INSTALL file, I couldn't find reference to creating an environment variable that points to the root directory of OpenSSL, and I'm sure that I've read about this in one of the sites. Could this be the cau se of my problem? Your help is highly appreciated. Layla. */David Schwartz <[EMAIL PROTECTED]>/* wrote: 1) D:\Documents and Settings\Administrator\My Documents\openssl-0.9.7d\inc32 this is the directory where OpenSSL was extracted to. when didn't work I tried: What does "didn't work" mean? 2) D:\openssl\include this is the directory which I have created and copied to the files as instructed in the installation steps in Install.win32 file. Likewise on the Link pane, in the input category, I added the additional library path as follows: 1) D:\Documents and Settings\Administrator\My Documents\openssl-0.9.7d\out32dll this is the directory where OpenSSL was extracted to, again when that didn't wor k I tried: What does "didn't work" mean? 2) D:\openssl\lib this directory which I have created during the installation steps holds the following t wo files: - libeay32 - ssleay32 Upon linking I get the following error message for EACH of the OpenSSL functions: "unresolved external symbol _SSL_CTX_free" If you got to linking, then you must have compiled. Which means your include settings are probably fine. WHAT am I doing wrong?! Please help. You are not linking to the OpenSSL libraries. You are including the header files, which is why compiling is (I think) working. You have told the linker where the libraries are, but you didn't actually link them in. DS __ OpenSSL Project http://www.openssl.org User Support Mailing List [EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED] Do you Yahoo!? New and Improved Yahoo! Mail - Send 10MB messages! __OpenSSL Project http://www.openssl.orgUser Support Mailing List [EMAIL PROTECTED]Automated List Manager [EMAIL PROTECTED] Do you Yahoo!? Read only the mail you want - Yahoo! Mail SpamGuard.
Re: Linking Error.
I think VC++ has a command-line tool (something like cmake, or something). If VC++ fails, maybe try DevC++. VC++/DevC++ docs are your friend :) Vio Layla wrote: Thanks for the response Vio, Actually I'm not familiar with the method you've proposed. but I tried to compile the program from command line and It failed! I can't understand why its compiling by using GUI but not from the command prompt. I'm so new to this and this project is really very important to me. Any one PLEASE help me. Thank you. */Vio [EMAIL PROTECTED]/* wrote: I'm not too familiar with VC++ (ever tried DevC++ or MingwStudio? If old old VC++6 fails to do what you want, both free IDE alternatives), but whatever, doesn't VC generate some kind of Makefile between the curtains? Maybe you could create what's missing by hand? A Makefile looks something like this: --- # # File: Makefile for samples # Author: Robert Roebling # Created: 1999 # Updated: # Copyright: (c) 1998 Robert Roebling # # This makefile requires a Unix version of wxWindows # to be installed on your system. This is most often # done typing make install when using the complete # sources of wxWindows or by installing the two # RPM packages wxGTK.XXX.rpm and wxGTK-devel.XXX.rpm # under Linux. # CXX = $(shell wx-config --cxx) PROGRAM = MyApp OBJECTS = $(PROGRAM).o MySSL.o MyFrame.o MyCustom.o MYFLAGS = -I/d/ssl/run/include -I./ssl MYLIBS = -L/d/ssl/run/lib -lssl -lcrypto .SUFFIXES: .o .cpp .c .cpp.o : $(CXX) -g -c `wx-config --cxxflags` $(MYFLAGS) \ -Wall -pthread -o $@ $ .c.o : gcc -g -c $(MYFLAGS) -Wall -pthread -o $@ $ all: $(PROGRAM) $(PROGRAM): $(OBJECTS) $(CXX) -g -o $(PROGRAM) $(OBJECTS) `wx-config --libs` \ $(MYLIBS) -Wall -pthread clean: rm -f *.o $(PROGRAM) --- What it does is that it generates compiling and linking commands, for instance the previous Makefile generates the following: g++ -g -c `wx-config --cxxflags` -I/d/ssl/run/include -I./ssl -Wall -pthread -o MyFrame.o MyFrame.cpp g++ -g -o MyApp MyApp.o MySSL.o MyFrame.o MyCustom.o `wx-config --libs` -L/d/ssl/run/lib -lssl -lcrypto -Wall -pthread First one is a compile command, second is a linking command. So you need the second one. Hope this helps somewhat, Vio Layla wrote: David, Thanks for responding. didn't work is actually missing a word :), what i meant to say is when /that/ didn't work in reference to the specified path. You're right, I can compile, its linking that is giving me an error. You have told the linker where the libraries are, but you didn't actually link them in. -So how can I actually link the library? Note: As I said before I'm using VC++ 6, therefore I'm compiling and linking using GUI not from the command line, would that be an issue? -In the INSTALL file, I couldn't find reference to creating an environment variable that points to the root directory of OpenSSL, and I'm sure that I've read about this in one of the sites. Could this be the cau se of my problem? Your help is highly appreciated. Layla. */David Schwartz /* wrote: 1) D:\Documents and Settings\Administrator\My Documents\openssl-0.9.7d\inc32 this is the directory where OpenSSL was extracted to. when didn't work I tried: What does didn't work mean? 2) D:\openssl\include this is the directory which I have created and copied to the files as instructed in the installation steps in Install.win32 file. Likewise on the Link pane, in the input category, I added the additional library path as follows: 1) D:\Documents and Settings\Administrator\My Documents\openssl-0.9.7d\out32dll this is the directory where OpenSSL was extracted to, again when that didn't wor k I tried: What does didn't work mean? 2) D:\openssl\lib this directory which I have created during the installation steps holds the following t wo files: - libeay32 - ssleay32 Upon linking I get the following error message for EACH of the OpenSSL functions: unresolved external symbol _SSL_CTX_free If you got to linking, then you must have compiled. Which means your include settings are probably fine. WHAT am I doing wrong?! Please help. You are not linking to the OpenSSL libraries. You are including the header files, which is why compiling is (I think) working. You have told the linker where the libraries are, but you didn't actually link them in. DS
Re: Linking Error.
You need to make sure that you are linking to the (or, maybe, the proper) libaray. Type "set" in your dos prompt and check the corresponding path which define where linker goes to find your lib etc.I believe the VC++ can show you somewhere of the enviornment set.You can get clues byexaming the difference too. Weijie - Original Message - From: Layla To: [EMAIL PROTECTED] Sent: Wednesday, July 28, 2004 11:10 AM Subject: Re: Linking Error. Thanks for the response Vio, Actually I'm not familiar with the method you've proposed. but I tried to compile the program from command line and It failed! I can't understand why its compiling by using GUI but not from the command prompt. I'm so new to this and this project is really very important to me. Any one PLEASE help me. Thank you.Vio [EMAIL PROTECTED] wrote: I'm not too familiar with VC++ (ever tried DevC++ or MingwStudio? If old old VC++6 fails to do what you want, both free IDE alternatives), but whatever, doesn't VC generate some kind of Makefile between the curtains? Maybe you could create what's missing by hand?A Makefile looks something like this:---## File: Makefile for samples# Author: Robert Roebling# Created: 1999# Updated: # Copyright: (c) 1998 Robert Roebling## This makefile requires a Unix version of wxWindows# to be installed on your system. This is most often# done typing "make install" when using the complete# sources of wxWindows or by installing the two# RPM packages wxGTK.XXX.rpm and wxGTK-devel.XXX.rpm# under Linux.#CXX = $(shell wx-config --cxx)PROGRAM = MyAppOBJECTS = $(PROGRAM).o MySSL.o MyFrame.o MyCustom.oMYFLAGS = -I/d/ssl/run/include -I./sslMYLIBS = -L/d/ssl/run/lib -lssl -lcrypto.SUFFIXES: .o .cpp .c.cpp.o :$(CXX) -g -c `wx-config --cxxflags` $(MYFLAGS) \-Wall -pthread -o $@ $.c.o :gcc -g -c $(MYFLAGS) -Wall -pthread -o $@ $all: $(PROGRAM)$(PROGRAM): $(OBJECTS)$(CXX) -g -o $(PROGRAM) $(OBJECTS) `wx-config --libs` \$(MYLIBS) -Wall -pthreadclean: rm -f *.o $(PROGRAM)---What it does is that it generates compiling and linking commands,for instance the previous Makefile generates the following:g++ -g -c `wx-config --cxxflags` -I/d/ssl/run/include -I./ssl -Wall -pthread -o MyFrame.o MyFrame.cppg++ -g -o MyApp MyApp.o MySSL.o MyFrame.o MyCustom.o `wx-config --libs` -L/d/ssl/run/lib -lssl -lcrypto -Wall -pthreadFirst one is a compile command, second is a linking command.So you need the second one.Hope this helps somewhat,VioLayla wrote: David, Thanks for responding. "didn't work" is actually missing a word :), what i meant to say is "when /that/ didn't work" in reference to the specified path. You're right, I can compile, its linking that is giving me an error. "You have told the linker where the libraries are, but you didn't actually link them in." -So how can I actually link the library? Note: As I said before I'm using VC++ 6, therefore I'm compiling and linking using GUI not from the command line, would that be an issue? -In the INSTALL file, I couldn't find reference to creating an environment variable that points to the root directory of OpenSSL, and I'm sure that I've read about this in one of the sites. Could this be the cau se of my problem? Your help is highly appreciated. Layla. */David Schwartz <[EMAIL PROTECTED]>/* wrote: 1) D:\Documents and Settings\Administrator\My Documents\openssl-0.9.7d\inc32 this is the directory where OpenSSL was extracted to. when didn't work I tried: What does "didn't work" mean? 2) D:\openssl\include this is the directory which I have created and copied to the files as instructed in the installation steps in Install.win32 file. Likewise on the Link pane, in the input category, I added the additional library path as follows: 1) D:\Documents and Settings\Administrator\My Documents\openssl-0.9.7d\out32dll this is the directory where OpenSSL was extracted to, again when that didn't wor k I tried: What does "didn't work" mean? 2) D:\openssl\lib this directory which I have created during the installation steps holds the following t wo files: - libeay32 - ssleay32 Upon linking I get the following error message for EACH of the OpenSSL functions: "unresolved external symbol _SSL_CTX_free" If you got to linking, then you must have compiled. Which means your include settings are probably fine. WHAT am I doing wrong?! Please help. You are not linking to the OpenSSL libraries. You are including the header files, which is why compiling is
Re: Linking Error.
I'm not saying VC++ is failing, I'm just saying there has got to be something wrong that I'm doing which I'm hoping that someone can point out. after following the steps in the INSTALL.win32 file I ran the test as instructed and it worked fine without generating any error message, doesn't that mean everything is OK installation and setup wise? Note that I never ran any "install" or "openssl" commands during the installation. Another q: I didn't set an environmentvariable from the control panel to point to the root directory, is it important? Must I run any openssl commands from the command prompt PRIOR to running the compiler? Any help is highly appreciated. Layla.Vio [EMAIL PROTECTED] wrote: I think VC++ has a command-line tool (something like cmake, or something). If VC++ fails, maybe try DevC++. VC++/DevC++ docs are your friend :)VioLayla wrote: Thanks for the response Vio, Actually I'm not familiar with the method you've proposed. but I tried to compile the program from command line and It failed! I can't understand why its compiling by using GUI but not from the command prompt. I'm so new to this and this project is really very important to me. Any one PLEASE help me. Thank you. */Vio <[EMAIL PROTECTED]>/* wrote: I'm not too familiar with VC++ (ever tried DevC++ or MingwStudio? If old old VC++6 fails to do what you want, both free IDE alternatives), but whatever, doesn't VC generate some kind of Makefile betw een the curtains? Maybe you could create what's missing by hand? A Makefile looks something like this: --- # # File: Makefile for samples # Author: Robert Roebling # Created: 1999 # Updated: # Copyright: (c) 1998 Robert Roebling # # This makefile requires a Unix version of wxWindows # to be installed on your system. This is most often # done typing "make install" when using the complete # sources of wxWindows or by installing the two # RPM packages wxGTK.XXX.rpm and wxGTK-devel.XXX.rpm # under Linux. # CXX = $(shell wx-config --cxx) PROGRAM = MyApp OBJECTS = $(PROGRAM).o MySSL.o MyFrame.o MyCustom.o MYFLAGS = -I/d/ssl/run/include -I./ssl MYLIBS = -L/d/ssl/run/lib -lssl -lcrypto .SUFFIXES: .o .cpp .c .cpp.o : $(CXX) -g -c `wx-config --cxxflags` $(MYFLAGS) \ -Wall -pthread -o $@ $ .c.o : gcc -g -c $(MYFLAGS) -Wall -pthread -o $@ $ all: $(PROGRAM) $(PROGRAM): $(OBJECTS) $(CXX) -g -o $(PROGRAM) $(OBJECTS) `wx-config --libs` \ $(MYLIBS) -Wall -pthread clean: rm -f *.o $(PROGRAM) --- What it does is that it generates compiling and linking commands, for instance the previous Makefile generates the following: g++ -g -c `wx-config --cxxflags` -I/d/ssl/run/include -I./ssl -Wall -pthread -o MyFrame.o MyFrame.cpp g++ -g -o MyApp MyApp.o MySSL.o MyFrame.o MyCustom.o `wx-config --libs` -L/d/ssl/run/lib -lssl -lcrypto -Wall -pthread First one is a compile command, second is a linking command. So you need the seco nd one. Hope this helps somewhat, Vio Layla wrote: David, Thanks for responding. "didn't work" is actually missing a word :), what i meant to say is "when /that/ didn't work" in reference to the specified path. You're right, I can compile, its linking that is giving me an error."You have told the linker where the libraries are, but you didn't actually link them in." -So how can I actually link the library? Note: As I said before I'm using VC++ 6, therefore I'm compiling and linking using GUI not from the command line, would that be an issue? -In the INSTALL file, I couldn't find reference to creating an environment variable that points to the root directory of OpenS SL, and I'm sure that I've read about this in one of the sites. Could this be the cau se of my problem? Your help is highly appreciated. Layla. */David Schwartz /* wrote: 1) D:\Documents and Settings\Administrator\My Documents\openssl-0.9.7d\inc32 this is the directory where OpenSSL was extracted to. when didn't work I tried: What does "didn't work" mean?2) D:\openssl\include this is the directory which I have created and copied to the files as instructed in the installation steps in Install.win32 file.Likewise on the Link pane, in the input category, I added the additional library path as follows: 1) D:\Documents and Settings\Administrator\My Documents\openssl-0.9.7d\out32dll this is the directory where OpenSSL was extracted to, again when that didn't wor k I tried: What does "didn't work" mean?2) D:\openssl\lib this directory which I have created during the installation steps holds the following t wo files: - libeay32 - ssleay32Upon linking I get the following error message for EACH of the OpenSSL functions: "unresolved external symbol _SSL_CTX_free" If you got to linking, then you must have compiled. Which means your include settings are probably fine.WHAT am I doing wrong?! Please help. You are not linking to the OpenSSL libraries. You are including
RE: Linking Error.
Title: Message Layla, To link in the ssl libraries using VC++ IDE do the following: "Project-Settings-Link tab-Object/library modules:" in the end of the list of libs add the two OpenSSL libraries "libeay32.lib ssleay32.lib". I hope this helps. --Anuj -Original Message-From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of LaylaSent: Wednesday, July 28, 2004 1:24 AMTo: [EMAIL PROTECTED]Subject: RE: Linking Error. David, Thanks for responding. "didn't work" is actually missing a word :), what i meant to say is "when that didn't work" in reference to the specified path. You're right, I can compile, its linking that is giving me an error. "You have told the linker where the libraries are, but you didn't actually link them in." -So how can I actually link the library? Note: As I said before I'm using VC++ 6, therefore I'm compiling and linking using GUI not from the command line, would that be an issue? -In the INSTALL file, I couldn't find reference to creating an environment variable that points to the root directory of OpenSSL, and I'm sure that I've read about this in one of the sites. Could this be the cause of my problem? Your help is highly appreciated. Layla. David Schwartz [EMAIL PROTECTED] wrote: 1) D:\Documents and Settings\Administrator\MyDocuments\openssl-0.9.7d\inc32 this is the directory where OpenSSL was extracted to. when didn't work Itried:What does "didn't work" mean? 2) D:\openssl\include this is the directory which I have created and copied to the files asinstructed in the installation steps in Install.win32 file. Likewise on the Link pane, in the input category, I added the additionallibrary path as follows: 1) D:\Documents and Settings\Administrator\MyDocuments\openssl-0.9.7d\out32dll this is the directory where OpenSSL was extracted to, again when thatdidn't work I tried:What does "didn't work" mean? 2) D:\openssl\lib this directory which I have created during the installation stepsholds the following t wo files: - libeay32 - ssleay32 Upon linking I get the following error message for EACH of the OpenSSLfunctions: "unresolved external symbol _SSL_CTX_free"If you got to linking, then you must have compiled. Which means yourinclude settings are probably fine. WHAT am I doing wrong?! Please help.You are not linking to the OpenSSL libraries. You are including the headerfiles, which is why compiling is (I think) working. You have told the linkerwhere the libraries are, but you didn't actually link them in.DS__OpenSSL Project http://www.openssl.orgUser Support Mailing List [EMAIL PROTECTED]Automated List Manager [EMAIL PROTECTED] Do you Yahoo!?New and Improved Yahoo! Mail - Send 10MB messages!
Re: Linking Error.
Weijie, Thank you for replying, does it make any difference if I compile from the command line or GUI? cause as I've mentioned, when I compile from Visual studio I get no error messages which indicates that it can "see" my include files, but when I tried running the compiler from the command line I got the following error: D:\Program Files\Microsoft Visual Studio\MyProjects\clientsidecl clientf.cpp Microsoft R 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86 Copyright C Microsoft Corp 1984-1998. ALL rights reserved. clientf.cpp clientf.cpp17 : fatal error C1083: Cannot open include file: 'openssl/crypto.h' : No such file or directory. Weijie Zhang [EMAIL PROTECTED] wrote: You need to make sure that you are linking to the (or, maybe, the proper) libaray. Type "set" in your dos prompt and check the corresponding path which define where linker goes to find your lib etc.I believe the VC++ can show you somewhere of the enviornment set.You can get clues byexaming the difference too. Weijie - Original Message - From: Layla To: [EMAIL PROTECTED] Sent: Wednesday, July 28, 2004 11:10 AM Subject: Re: Linking Error. Thanks for the response Vio, Actually I'm not familiar with the method you've proposed. but I tried to compile the program from command line and It failed! I can't understand why its compiling by using GUI but not from the command prompt. I'm so new to this and this project is really very important to me. Any one PLEASE help me. Thank you.Vio [EMAIL PROTECTED] wrote: I'm not too familiar with VC++ (ever tried DevC++ or MingwStudio? If old old VC++6 fails to do what you want, both free IDE alternatives), but whatever, doesn't VC generate some kind of Makefile between the curtains? Maybe you could create what's missing by hand?A Makefile looks something like this:---## File: Makefile for samples# Author: Robert Roebling# Created: 1999# Updated: # Copyright: (c) 1998 Robert Roebling## This makefile requires a Unix version of wxWindows# to be installed on your system. This is most often# done typing "make install" when using the complete# sources of wxWindows or by installing the two# RPM packages wxGTK.XXX.rpm and wxGTK-devel.XXX.rpm# under Linux.#CXX = $(shell wx-config --cxx)PROGRAM = MyAppOBJECTS = $(PROGRAM).o MySSL.o MyFrame.o MyCustom.oMYFLAGS = -I/d/ssl/run/include -I./sslMYLIBS = -L/d/ssl/run/lib -lssl -lcrypto.SUFFIXES: .o .cpp .c.cpp.o :$(CXX) -g -c `wx-config --cxxflags` $(MYFLAGS) \-Wall -pthread -o $@ $.c.o :gcc -g -c $(MYFLAGS) -Wall -pthread -o $@ $all: $(PROGRAM)$(PROGRAM): $(OBJECTS)$(CXX) -g -o $(PROGRAM) $(OBJECTS) `wx-config --libs` \$(MYLIBS) -Wall -pthreadclean: rm -f *.o $(PROGRAM)---What it does is that it generates compiling and linking commands,for instance the previous Makefile generates the following:g++ -g -c `wx-config --cxxflags` -I/d/ssl/run/include -I./ssl -Wall -pthread -o MyFrame.o MyFrame.cppg++ -g -o MyApp MyApp.o MySSL.o MyFrame.o MyCustom.o `wx-config --libs` -L/d/ssl/run/lib -lssl -lcrypto -Wall -pthreadFirst one is a compile command, second is a linking command.So you need the second one.Hope this helps somewhat,VioLayla wrote: David, Thanks for responding. "didn't work" is actually missing a word :), what i meant to say is "when /that/ didn't work" in reference to the specified path. You're right, I can compile, its linking that is giving me an error. "You have told the linker where the libraries are, but you didn't actually link them in." -So how can I actually link the library? Note: As I said before I'm using VC++ 6, therefore I'm compiling and linking using GUI not from the command line, would that be an issue? -In the INSTALL file, I couldn't find reference to creating an environment variable that points to the root directory of OpenSSL, and I'm sure that I've read about this in one of the sites. Could this be the cau se of my problem? Your help is highly appreciated. Layla. */David Schwartz <[EMAIL PROTECTED]>/* wrote: 1) D:\Documents and Settings\Administrator\My Documents\openssl-0.9.7d\inc32 this is the directory where OpenSSL was extracted to. when didn't work I tried: What does "didn't work" mean? 2) D:\openssl\include this is the directory which I have created and copied to the files as instructed in the installation steps in Install.win32 file. Likewise on the Link pane, in the input category, I added the additional library path as follows: 1) D:\Documents and Settings\Administrator\My Documents\openssl-0.9.7d\out32dll this is the directory where OpenSSL was extracted to, again when that didn't wor k I tried: What does "didn't work" mean? 2) D:\openssl\lib this directory which I have created during the installation steps holds the following t wo files: - libeay32 - ssleay32 Upon linking I get the following error message for
RE: Linking Error.
Anuj: Thank you SO much! :) that certainly solved the linking problem using the graphical user interface of MS visual studio, but would you know why isn't it compiling or linking from the command line? is there something that I must run first? and does it really make any difference whether I compile/link/run from graphical user interface or the command line? Thank you again for your help."jain, anuj" [EMAIL PROTECTED] wrote: Layla, To link in the ssl libraries using VC++ IDE do the following: "Project-Settings-Link tab-Object/library modules:" in the end of the list of libs add the two OpenSSL libraries "libeay32.lib ssleay32.lib". I hope this helps. --Anuj -Original Message-From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of LaylaSent: Wednesday, July 28, 2004 1:24 AMTo: [EMAIL PROTECTED]Subject: RE: Linking Error. David, Thanks for responding. "didn't work" is actually missing a word :), what i meant to say is "when that didn't work" in reference to the specified path. You're right, I can compile, its linking that is giving me an error. "You have told the linker where the libraries are, but you didn't actually link them in." -So how can I actually link the library? Note: As I said before I'm using VC++ 6, therefore I'm compiling and linking using GUI not from the command line, would that be an issue? -In the INSTALL file, I couldn't find reference to creating an environment variable that points to the root directory of OpenSSL, and I'm sure that I've read about this in one of the sites. Could this be the cause of my problem? Your help is highly appreciated. Layla. David Schwartz [EMAIL PROTECTED] wrote: 1) D:\Documents and Settings\Administrator\MyDocuments\openssl-0.9.7d\inc32 this is the directory where OpenSSL was extracted to. when didn't work Itried:What does "didn't work" mean? 2) D:\openssl\include this is the directory which I have created and copied to the files asinstructed in the installation steps in Install.win32 file. Likewise on the Link pane, in the input category, I added the additionallibrary path as follows: 1) D:\Documents and Settings\Administrator\MyDocuments\openssl-0.9.7d\out32dll this is the directory where OpenSSL was extracted to, again when thatdidn't work I tried:What does "didn't work" mean? 2) D:\openssl\lib this directory which I have created during the installation stepsholds the following t wo files: - libeay32 - ssleay32 Upon linking I get the following error message for EACH of the OpenSSLfunctions: "unresolved external symbol _SSL_CTX_free"If you got to linking, then you must have compiled. Which means yourinclude settings are probably fine. WHAT am I doing wrong?! Please help.You are not linking to the OpenSSL libraries. You are including the headerfiles, which is why compiling is (I think) working. You have told the linkerwhere the libraries are, but you didn't actually link them in.DS__OpenSSL Project http://www.openssl.orgUser Support Mailing List [EMAIL PROTECTED]Automated List Manager [EMAIL PROTECTED] Do you Yahoo!?New and Improved Yahoo! Mail - Send 10MB messages! Do you Yahoo!? Read only the mail you want - Yahoo! Mail SpamGuard.
RE: Linking Error.
Layla, I havent used VC++ in a whileand have never used it from the cmd linebut I would try something from the makefile suggestion below. Again, Im not familiar with VC++, but will this work: cl I/path/to/openssl/headerfiles clientf.cpp ?? -kevin From: owner-[EMAIL PROTECTED] [mailto:owner-[EMAIL PROTECTED]] On Behalf Of Layla Sent: Wednesday, July 28, 2004 8:52 AM To: [EMAIL PROTECTED] Subject: Re: Linking Error. Weijie, Thank you for replying, does it make any difference if I compile from the command line or GUI? cause as I've mentioned, when I compile from Visual studio I get no error messages which indicates that it can see my include files, but when I tried running the compiler from the command line I got the following error: D:\Program Files\Microsoft Visual Studio\MyProjects\clientsidecl clientf.cpp Microsoft R 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86 Copyright C Microsoft Corp 1984-1998. ALL rights reserved. clientf.cpp clientf.cpp17 : fatal error C1083: Cannot open include file: 'openssl/crypto.h' : No such file or directory. Weijie Zhang [EMAIL PROTECTED] wrote: You need to make sure that you are linking to the (or, maybe, the proper) libaray. Type set in your dos prompt and check the corresponding path which define where linker goes to find your lib etc.I believe the VC++ can show you somewhere of the enviornment set.You can get clues byexaming the difference too. Weijie - Original Message - From: Layla To: [EMAIL PROTECTED] Sent: Wednesday, July 28, 2004 11:10 AM Subject: Re: Linking Error. Thanks for the response Vio, Actually I'm not familiar with the method you've proposed. but I tried to compile the program from command line and It failed! I can't understand why its compiling by using GUI but not from the command prompt. I'm so new to this and this project is really very important to me. Any one PLEASE help me. Thank you. Vio [EMAIL PROTECTED] wrote: I'm not too familiar with VC++ (ever tried DevC++ or MingwStudio? If old old VC++6 fails to do what you want, both free IDE alternatives), but whatever, doesn't VC generate some kind of Makefile between the curtains? Maybe you could create what's missing by hand? A Makefile looks something like this: --- # # File: Makefile for samples # Author: Robert Roebling # Created: 1999 # Updated: # Copyright: (c) 1998 Robert Roebling # # This makefile requires a Unix version of wxWindows # to be installed on your system. This is most often # done typing make install when using the complete # sources of wxWindows or by installing the two # RPM packages wxGTK.XXX.rpm and wxGTK-devel.XXX.rpm # under Linux. # CXX = $(shell wx-config --cxx) PROGRAM = MyApp OBJECTS = $(PROGRAM).o MySSL.o MyFrame.o MyCustom.o MYFLAGS = -I/d/ssl/run/include -I./ssl MYLIBS = -L/d/ssl/run/lib -lssl -lcrypto .SUFFIXES: .o .cpp .c .cpp.o : $(CXX) -g -c `wx-config --cxxflags` $(MYFLAGS) \ -Wall -pthread -o $@ $ .c.o : gcc -g -c $(MYFLAGS) -Wall -pthread -o $@ $ all: $(PROGRAM) $(PROGRAM): $(OBJECTS) $(CXX) -g -o $(PROGRAM) $(OBJECTS) `wx-config --libs` \ $(MYLIBS) -Wall -pthread clean: rm -f *.o $(PROGRAM) --- What it does is that it generates compiling and linking commands, for instance the previous Makefile generates the following: g++ -g -c `wx-config --cxxflags` -I/d/ssl/run/include -I./ssl -Wall -pthread -o MyFrame.o MyFrame.cpp g++ -g -o MyApp MyApp.o MySSL.o MyFrame.o MyCustom.o `wx-config --libs` -L/d/ssl/run/lib -lssl -lcrypto -Wall -pthread First one is a compile command, second is a linking command. So you need the second one. Hope this helps somewhat, Vio Layla wrote: David, Thanks for responding. didn't work is actually missing a word :), what i meant to say is when /that/ didn't work in reference to the specified path. You're right, I can compile, its linking that is giving me an error. You have told the linker where the libraries are, but you didn't actually link them in. -So how can I actually link the library? Note: As I said before I'm using VC++ 6, therefore I'm compiling and linking using GUI not from the command line, would that be an issue? -In the INSTALL file, I couldn't find reference to creating an environment variable that points to the root directory of OpenSSL, and I'm sure that I've read about this in one of the sites. Could this be the cau se of my problem? Your help is highly appreciated. Layla. */David Schwartz <[EMAIL PROTECTED]>/* wrote: 1) D:\Documents and Settings\Administrator\My Documents\openssl-0.9.7d\inc32 this is the directory where OpenSSL was extracted to. when didn't work I tried: What does didn't work mean? 2) D:\openssl\include this is the directory which I have created and
RE: Linking Error.
Title: Message You are welcome, For compiling your code using cl.exe you need to provide more 'compiler and linker" options on thecommand line like the include directories libraries and the defines etc.A "cl -help" will provide you all possible options. For further reading please refer to the "compile options" and "linker options" at the following site. http://msdn.microsoft.com/library/default.asp?url=""> --Anuj -Original Message-From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of LaylaSent: Wednesday, July 28, 2004 11:59 AMTo: [EMAIL PROTECTED]Subject: RE: Linking Error. Anuj: Thank you SO much! :) that certainly solved the linking problem using the graphical user interface of MS visual studio, but would you know why isn't it compiling or linking from the command line? is there something that I must run first? and does it really make any difference whether I compile/link/run from graphical user interface or the command line? Thank you again for your help."jain, anuj" [EMAIL PROTECTED] wrote: Layla, To link in the ssl libraries using VC++ IDE do the following: "Project-Settings-Link tab-Object/library modules:" in the end of the list of libs add the two OpenSSL libraries "libeay32.lib ssleay32.lib". I hope this helps. --Anuj -Original Message-From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of LaylaSent: Wednesday, July 28, 2004 1:24 AMTo: [EMAIL PROTECTED]Subject: RE: Linking Error. David, Thanks for responding. "didn't work" is actually missing a word :), what i meant to say is "when that didn't work" in reference to the specified path. You're right, I can compile, its linking that is giving me an error. "You have told the linker where the libraries are, but you didn't actually link them in." -So how can I actually link the library? Note: As I said before I'm using VC++ 6, therefore I'm compiling and linking using GUI not from the command line, would that be an issue? -In the INSTALL file, I couldn't find reference to creating an environment variable that points to the root directory of OpenSSL, and I'm sure that I've read about this in one of the sites. Could this be the cause of my problem? Your help is highly appreciated. Layla. David Schwartz [EMAIL PROTECTED] wrote: 1) D:\Documents and Settings\Administrator\MyDocuments\openssl-0.9.7d\inc32 this is the directory where OpenSSL was extracted to. when didn't work Itried:What does "didn't work" mean? 2) D:\openssl\include this is the directory which I have created and copied to the files asinstructed in the installation steps in Install.win32 file. Likewise on the Link pane, in the input category, I added the additionallibrary path as follows: 1) D:\Documents and Settings\Administrator\MyDocuments\openssl-0.9.7d\out32dll this is the directory where OpenSSL was extracted to, again when thatdidn't work I tried:What does "didn't work" mean? 2) D:\openssl\lib this directory which I have created during the installation stepsholds the following t wo files: - libeay32 - ssleay32 Upon linking I get the following error message for EACH of the OpenSSLfunctions: "unresolved external symbol _SSL_CTX_free"If you got to linking, then you must have compiled. Which means yourinclude settings are probably fine. WHAT am I doing wrong?! Please help.You are not linking to the OpenSSL libraries. You are including the headerfiles, which is why compiling is (I think) working. You have told the linkerwhere the libraries are, but you didn't actually link them in.DS__OpenSSL Project http://www.openssl.orgUser Support Mailing List [EMAIL PROTECTED]Automated List Manager [EMAIL PROTECTED] Do you Yahoo!?New and Improved Yahoo! Mail - Send 10MB messages! Do you Yahoo!?Read only the mail you want - Yahoo! Mail SpamGuard.
Re: Linking Error.
Thank you SO much! :) that certainly solved the linking problem using the graphical user interface of MS visual studio, but would you know why isn't it compiling or linking from the command line? is there something that I must run first? and does it really make any difference whether I compile/link/run from graphical user interface or the command line? The easiest way to compile from the command line is to export a makefile from the GUI and then use nmake. Note that both the makefile and nmake.exe are MS proprietary. You can't use standard makefiles with nmake, and you can't use the MS makefiles with a standard make.exe like gnu make. You can create your own standard makefile with all the correct compiler and linker options, but it's easier to let the GUI do it. Typically, I use the GUI to set up a project, add the source files, and export the makefile. From there, I can compile and link from emacs. -- Ken Goldman [EMAIL PROTECTED] 914-784-7646 __ OpenSSL Project http://www.openssl.org User Support Mailing List[EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]
Re: Linking Error.
Layla wrote: Weijie, Thank you for replying, does it make any difference if I compile from the command line or GUI? cause as I've mentioned, when I compile from Visual studio I get no error messages which indicates that it can see my include files, but when I tried running the compiler from the command line I got the following error: D:\Program Files\Microsoft Visual Studio\MyProjects\clientsidecl clientf.cpp Microsoft R 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86 Copyright C Microsoft Corp 1984-1998. ALL rights reserved. clientf.cpp clientf.cpp17 : fatal error C1083: Cannot open include file: 'openssl/crypto.h' : No such file or directory. Means compiler (linker?) doesn't *see* the openssl/include directory. You must add somewhere in the VC++ settings (the include something?) the equivalent of -I path\to\openssl\include\dir\in\your\system Just to be sure, i'd check that crypto.h is indeed present in that dir. Vio */Weijie Zhang [EMAIL PROTECTED]/* wrote: You need to make sure that you are linking to the (or, maybe, the proper) libaray. Type set in your dos prompt and check the corresponding path which define where linker goes to find your lib etc. I believe the VC++ can show you somewhere of the enviornment set. You can get clues by examing the difference too. Weijie - Original Message - *From:* Layla mailto:[EMAIL PROTECTED] *To:* [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] *Sent:* Wednesday, July 28, 2004 11:10 AM *Subject:* Re: Linking Error. Thanks for the response Vio, Actually I'm not familiar with the method you've proposed. but I tried to compile the program from command line and It failed! I can't understand why its compiling by using GUI but not from the command prompt. I'm so new to this and this project is really very important to me. Any one PLEASE help me. Thank you. */Vio [EMAIL PROTECTED]/* wrote: I'm not too familiar with VC++ (ever tried DevC++ or MingwStudio? If old old VC++6 fails to do what you want, both free IDE alternatives), but whatever, doesn't VC generate some kind of Makefile between the curtains? Maybe you could create what's missing by hand? A Makefile looks something like this: --- # # File: Makefile for samples # Author: Robert Roebling # Created: 1999 # Updated: # Copyright: (c) 1998 Robert Roebling # # This makefile requires a Unix version of wxWindows # to be installed on your system. This is most often # done typing make install when using the complete # sources of wxWindows or by installing the two # RPM packages wxGTK.XXX.rpm and wxGTK-devel.XXX.rpm # under Linux. # CXX = $(shell wx-config --cxx) PROGRAM = MyApp OBJECTS = $(PROGRAM).o MySSL.o MyFrame.o MyCustom.o MYFLAGS = -I/d/ssl/run/include -I./ssl MYLIBS = -L/d/ssl/run/lib -lssl -lcrypto .SUFFIXES: .o .cpp .c .cpp.o : $(CXX) -g -c `wx-config --cxxflags` $(MYFLAGS) \ -Wall -pthread -o $@ $ .c.o : gcc -g -c $(MYFLAGS) -Wall -pthread -o $@ $ all: $(PROGRAM) $(PROGRAM): $(OBJECTS) $(CXX) -g -o $(PROGRAM) $(OBJECTS) `wx-config --libs` \ $(MYLIBS) -Wall -pthread clean: rm -f *.o $(PROGRAM) --- What it does is that it generates compiling and linking commands, for instance the previous Makefile generates the following: g++ -g -c `wx-config --cxxflags` -I/d/ssl/run/include -I./ssl -Wall -pthread -o MyFrame.o MyFrame.cpp g++ -g -o MyApp MyApp.o MySSL.o MyFrame.o MyCustom.o `wx-config --libs` -L/d/ssl/run/lib -lssl -lcrypto -Wall -pthread First one is a compile command, second is a linking command. So you need the second one. Hope this helps somewhat, Vio Layla wrote: David, Thanks for responding. didn't work is actually missing a word :), what i meant to say is when /that/ didn't work in reference to the specified path. You're right, I can compile, its linking that is giving me an error. You have told the linker where the libraries are, but you didn't actually link them in. -So how can I actually link the library
RE: Linking Error.
Anuj, Thank you again."jain, anuj" [EMAIL PROTECTED] wrote: You are welcome, For compiling your code using cl.exe you need to provide more 'compiler and linker" options on thecommand line like the include directories libraries and the defines etc.A "cl -help" will provide you all possible options. For further reading please refer to the "compile options" and "linker options" at the following site. http://msdn.microsoft.com/library/default.asp?url=""> --Anuj -Original Message-From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of LaylaSent: Wednesday, July 28, 2004 11:59 AMTo: [EMAIL PROTECTED]Subject: RE: Linking Error. Anuj: Thank you SO much! :) that certainly solved the linking problem using the graphical user interface of MS visual studio, but would you know why isn't it compiling or linking from the command line? is there something that I must run first? and does it really make any difference whether I compile/link/run from graphical user interface or the command line? Thank you again for your help."jain, anuj" [EMAIL PROTECTED] wrote: Layla, To link in the ssl libraries using VC++ IDE do the following: "Project-Settings-Link tab-Object/library modules:" in the end of the list of libs add the two OpenSSL libraries "libeay32.lib ssleay32.lib". I hope this helps. --Anuj -Original Message-From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of LaylaSent: Wednesday, July 28, 2004 1:24 AMTo: [EMAIL PROTECTED]Subject: RE: Linking Error. David, Thanks for responding. "didn't work" is actually missing a word :), what i meant to say is "when that didn't work" in reference to the specified path. You're right, I can compile, its linking that is giving me an error. "You have told the linker where the libraries are, but you didn't actually link them in." -So how can I actually link the library? Note: As I said before I'm using VC++ 6, therefore I'm compiling and linking using GUI not from the command line, would that be an issue? -In the INSTALL file, I couldn't find reference to creating an environment variable that points to the root directory of OpenSSL, and I'm sure that I've read about this in one of the sites. Could this be the cause of my problem? Your help is highly appreciated. Layla. David Schwartz [EMAIL PROTECTED] wrote: 1) D:\Documents and Settings\Administrator\MyDocuments\openssl-0.9.7d\inc32 this is the directory where OpenSSL was extracted to. when didn't work Itried:What does "didn't work" mean? 2) D:\openssl\include this is the directory which I have created and copied to the files asinstructed in the installation steps in Install.win32 file. Likewise on the Link pane, in the input category, I added the additionallibrary path as follows: 1) D:\Documents and Settings\Administrator\MyDocuments\openssl-0.9.7d\out32dll this is the directory where OpenSSL was extracted to, again when thatdidn't work I tried:What does "didn't work" mean? 2) D:\openssl\lib this dir ectory which I have created during the installation stepsholds the following t wo files: - libeay32 - ssleay32 Upon linking I get the following error message for EACH of the OpenSSLfunctions: "unresolved external symbol _SSL_CTX_free"If you got to linking, then you must have compiled. Which means yourinclude settings are probably fine. WHAT am I doing wrong?! Please help.You are not linking to the OpenSSL libraries. You are including the headerfiles, which is why compiling is (I think) working. You have told the linkerwhere the libraries are, but you didn't actually link them in.DS__OpenSSL Project http://www.openssl.orgUser Support Mailing List [EMAIL PROTECTED]Automated List Manager [EMAIL PROTECTED] Do you Yahoo!?New and Improved Yahoo! Mail - Send 10MB messages! Do you Yahoo!?Read only the mail you want - Yahoo! Mail SpamGuard. Do you Yahoo!? New and Improved Yahoo! Mail - 100MB free storage!
Re: Linking Error.
Ken, Thank you.Ken Goldman [EMAIL PROTECTED] wrote: Thank you SO much! :) that certainly solved the linking problem using the graphical user interface of MS visual studio, but would you know why isn't it compiling or linking from the command line? is there something that I must run first? and does it really make any difference whether I compile/link/run from graphical user interface or the command line?The easiest way to compile from the command line is to exporta makefile from the GUI and then use nmake.Note that both the makefile and nmake.exe are MS proprietary. Youcan't use standard makefiles with nmake, and you can't use the MSmakefiles with a standard make.exe like gnu make.You can create your own standard makefile with all the correctcompiler and linker options, but it's easier to let the GUI do it.Typically, I use the GUI to set up a project, add the source files,and export the makefile. From there, I can compile and link fromemacs.-- Ken Goldman [EMAIL PROTECTED] 914-784-7646__OpenSSL Project http://www.openssl.orgUser Support Mailing List [EMAIL PROTECTED]Automated List Manager [EMAIL PROTECTED] Do you Yahoo!? New and Improved Yahoo! Mail - 100MB free storage!
Re: Linking Error.
Ken Goldman [EMAIL PROTECTED] said: Note that both the makefile and nmake.exe are MS proprietary. You can't use standard makefiles with nmake, and you can't use the MS makefiles with a standard make.exe like gnu make. But you can use a GNU makefile with MS tools like cl.exe. There is a program (or script?) that translates a gcc cmd-line to a cl cmd-line, so a GNU makefile should work with little or no changes. The name and location of this package escapes we now, but the OP could try Googling for it. BTW. why do you call it standard makefiles? GNU make is probably the most proprietary and incompatible make program ever made. MS' nmake at least has many extensions in common with Borland, Digital Mars and Watcom's makes. --gv __ OpenSSL Project http://www.openssl.org User Support Mailing List[EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]
Re: Linking Error.
From: Gisle Vanem [EMAIL PROTECTED] Date: Wed, 28 Jul 2004 20:45:38 +0200 Ken Goldman [EMAIL PROTECTED] said: Note that both the makefile and nmake.exe are MS proprietary. You can't use standard makefiles with nmake, and you can't use the MS makefiles with a standard make.exe like gnu make. But you can use a GNU makefile with MS tools like cl.exe. There is a program (or script?) that translates a gcc cmd-line to a cl cmd-line, so a GNU makefile should work with little or no changes. The name and location of this package escapes we now, but the OP could try Googling for it. Agree, but is it worth the trouble? 1 - VC++ can output a makefile compatible with nmake. It's fast. 2 - If the maintainers like the GUI better than the command line, you're not forcing a decision on them. BTW. why do you call it standard makefiles? GNU make is probably the most proprietary and incompatible make program ever made. MS' nmake at least has many extensions in common with Borland, Digital Mars and Watcom's makes. Agree. It's standard only in the sense of widely used across many platforms and OS'es, not as in ANSI, ISO. -- Ken Goldman [EMAIL PROTECTED] 914-784-7646 __ OpenSSL Project http://www.openssl.org User Support Mailing List[EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]