I'm trying to use gSoap to connect to a web service secured with https. However, when I run wsdl2h with an https url, it throws the following error:
Cannot connect to https site: no SSL support, please rebuild wsdl2h with SSL or download the files and rerun wsdl2h
I'm building on Fedora Core 14. I have installed openssl-devel and zlib-devel using yum. What have I missed?
By default wsdl2h is built without support for SSL. The README.txt file in the wsdl code folder of the gsoap distribution contains the following:
USING SSL FOR HTTPS TRANSFER OF WSDL FILES
You must build the WSDL parser with 'make secure' to build an
SSL-enabled version of wsdl2h that can access HTTPS secure sites.
If you don't have OpenSSL installed, you cannot build an SSL-secure
version of wsdl2h. In that case we recommend downloading the WSDL and
schema files for processing with the non-SSL-enabled wsdl2h tool.
So you need to either download the .wsdl file manually and run you existing wsdl2h on it or rebuild wsdl2h with make secure so that it knows to include the SSL libraries and support for https.
Well, at least with 2.8 "make secure" just does not work.
The trick is to define BOTH CFLAGS and CPPFLAGS to be -DWITH_OPENSSL, and LDFLAGS to be -lssl like:
CFLAGS='$(CFLAGS) -DWITH_OPENSSL' CXXFLAGS='$(CXXFLAGS) -DWITH_OPENSSL' \
CPPFLAGS='$(CPPFLAGS) -DWITH_OPENSSL' LDFLAGS='$(LDFLAGS) -lssl' ./configure \
--prefix=/usr \
--exec-prefix='$${prefix}' \
--mandir='$${datadir}/man' \
--infodir='$${datadir}/info' \
--enable-ipv6 \
--enable-samples
I solved the problem by building wsdl2h.exe using Visual Studio 2005 and run the script with the new wsdl2h.exe I compiled.
The project location in gsoap (2.8.17) is "gsoap-2.8.17\gsoap\VisualStudio2005\wsdl2h"
I had to add 'WITH_OPENSSL' in preprocessor of project properties.
Also, I had to add some include and lib directories and some .c files in the project to resolve compile errors.
The point is to build wsdl2h.exe using 'WITH_OPENSSL' option. That will resolve the issue.
Related
When I try to build vala (https://github.com/gnome/vala), I get an error from autogen that vala must already be installed in order to build vala. So how can I build it on a system that doesn't have it already? I get that it is self hosting, but there has to be some way to boot strap it.
My os is Android-x86 6.x
You can download a source tarball from download.gnome.org and build from there. The tarballs contain generated C code to build the compiler without a Vala compiler installed.
The procedure would be something like:
curl --location https://download.gnome.org/sources/vala/0.38/vala-0.38.4.tar.xz \
--output vala-0.38.4.tar.xz
tar --extract --file vala-0.38.4.tar.xz
cd vala-0.38.4/
./configure
make
The configure script should detect there is no valac installed and select the bootstrap option. You could also try make bootstrap if you run in to problems.
You can then run the test suite and install to the usual Unix file locations with:
make check
make install
Although the install part may not be relevant to Android.
I'm trying to build R.3.3.2 on a SuSE Linux server. It is a routine configure/make/install kind of setup.
It relies on some libs/headers that are either missing on my server or are older than required versions. As I run ./configure I get messages like:
configure: error: "liblzma library and headers are required"
I can download and build the missing packages in my home dir (with --prefix=$HOME/packages) as there is enough guidance on R website, but will appreciate guidance in how to build the final target (i.e., R).
If I build with packages installed in my home dir (by updating LD_LIBRARY_PATH) then everyone has to include my packages/ to their paths.
OTOH I am reluctant to add all these new packages to /usr/lib64/ because I am unsure version change impact on other programs. My search path shows:
$ gcc -Xlinker --verbose 2>/dev/null | grep SEAR | sed -e 's/SEARCH_DIR//g'
("/usr/x86_64-suse-linux/lib64"); ("/usr/lib64"); ("/usr/local/lib64"); ("/lib64"); ("/usr/x86_64-suse-linux/lib"); ("/usr/local/lib"); ("/lib"); ("/usr/lib");
which shows that a standard lib version is going to be picked before /usr/local/lib64
So my question is how does one generally resolve this kind of issue?
It also made me think perhaps I should static link only these new packages. Maybe it's a wrong kind of thought :| but I am also unclear what command line options for ./configure to do this. I will appreciate your help. Thanks a lot.
It is checking for dependencies so we need to install
the xz-5.2.2.tar.gz file first which you will get from this site:
http://tukaani.org/xz
Then go to Download Directory and execute these commands
tar xzvf xz-5.2.2.tar.gz
cd xz-5.2.2
./configure --prefix=$HOME/packages
make -j3
make install
Hope it will work for further any help please post your queries with proper error snapshot
i need help.i got this error The Zip PHP extension is now required by Moodle, info-ZIP binaries or PclZip library are not used anymore. while installing moodle on my server.
i enabled extension zip in configuration php but no result.!!!
Help Please!
Ubuntu 16.04 php7 Moodle 3.0 installation
apt-get install php-zip
:/usr/bin# ./php-config --with-apxs2=/usr/sbin/apxs --enable-mbstring --with mysql=/usr --with-pear --enable-sockets --with-gd --with-jpeg-dir=/usr --with-ttf --with-freetype-dir=/usr --with-zlib-dir=/usr --with-iconv --with-curl --with-openssl --with-mysqli --enable-soap --with-xmlrpc --enable-zip
service apache2 restart
Notes:
(:/usr/bin# ./php-config --enable-zip might have been enough, but I ran the whole command, just in case.)
Do not add the extension in the php.ini file. The installation automatically creates a 20-zip.ini file in /etc/php/7.0/apahce2/conf.d folder with the extension enabled
Found some instructions here - https://docs.moodle.org/28/en/admin/environment/php_extension/zip
This is a copy of the above :
The native PHP zip extension is required to let Moodle 2 read or write ZIP compressed archives.
Native installations of php will need php zip library enabling by adding the line
extension=zip.so
to php.ini
However if your php was not compiled with the extension then...
Installation on Linux Systems
If your distribution doesn't include this extension by default, then you need to compile PHP yourself and include --enable-zip.
This general PHP configuration will work well with Moodle 2.0:
./configure --with-apxs2=/usr/sbin/apxs --enable-mbstring --with mysql=/usr --with-pear --enable-sockets --with-gd --with-jpeg-dir=/usr --with-ttf --with-freetype-dir=/usr --with-zlib-dir=/usr --with-iconv --with-curl --with-openssl --with-mysqli --enable-soap --with-xmlrpc --enable-zip
Installation on Windows Systems
Uncomment this line in your php.ini:
extension=php_zip.dll
Note: The Zip extension is built-in since PHP 5.3.x on Windows. The above php.ini line and the corresponding dll file is not required if using the distribution from windows.php.net. Not verified on other distributions on other OSs.
Simply Use:
sudo apt-get install php-zip
Then you must restart Apache Service, Use:
sudo service apache2 restart
Autoconf script (./configure) often is created so it can build software with different set of components. For example, while building lynx web browser i can use ./configure --with-openssl to trigger corresponding #ifdef in app source code and make it with open SSL support.
If i have a third-party ./configure.sh file, is it any way to get a list of supported --with statements from it?
Yes, if the configure script was built by autoconf, you can just type ./configure --help to see what --with and --enable options are available.
I am trying to install mod_java on ubuntu.
I have installed the latest java(1.6).
I have configured freeswitch with mod_java module enabled in module.conf.xml
then when i run the make file, it says:
freeswitch_java.h:5:17: error: jni.h: No such file or directory
I have searched through the java installtion folders, but did not find any include folder or jni.h.
Can anyone help, what is being the problem here.
Thanks for reading this question.
I had the same problem. The solution was to run configure with the option --with-java:
./configure --with-java=/usr/lib/jvm/java-1.6.0-openjdk/include/
I don't know if it makes any difference but I added mod_java after building freeswitch without it. It was disabled in my initial build in module.conf.xml but afterwards I ran the above command plus:
make mod_java-install
It worked for me on ubuntu with openjdk. Are you using the Sun JDK? Maybe in the version you have dont have the include folder which has the source files. Try installing the other JDK. Or try and see of ther are some other related packages in apt that will get you the include folder.
Type this linux command to locate your jni.h file on your filesystem.
locate jni.h
you should be able to get it somewhere
in /usr/lib/java directory or some other directory
depending upon your java home.
copy paste the jni.h in src/include folder of your freeswitch src.
It will throw you some more errors for different .h files
just copy all of them to your src/include folder.
in latest freeswitch, installing through Makefile, its not possible to configure as the Makefile downloads and installs. Its possible by modifying the Makefile.in file to add the include path
mod_java_la_CPPFLAGS
-I/usr/lib/jvm/default-java/include \