yaws not building on CentOS after erlang build OK - centos

Problem:
yaws configure is failing after autoconf with unable to find erl
Question:
Why this error is showing, because erl can be found from a bash shell from anywhere
which erl --> /usr/local/bin/erl
Thanks.

You might consider running the configure script via sh -x configure to see the detailed output showing exactly what the configure script is doing. Be warned that there'll potentially be a lot of output to sift through. Feel free to email the Yaws mailing list if you need help deciphering it.

Related

Cannot install QuickCheck for Haskell: "runInteractiveProcess: permission denied"

When I run the commands
cabal update
cabal install QuickCheck
on windows powershell, or
cabal install --lib --package-env . QuickCheck
I get runInteractiveProcess: permission denied. I have found that I need to run "/scripts/securetmp" and un-secure my /tmp. How do I do that? What does it mean to run /scripts/securetmp?
I was asked for the link to the advice, here are 2 links from 2 different people who said the same:
1.In one of the answers on a similar question on StackOverflow:
Can't install and use Cabal (Haskell) on CentOS Server - zlib-0.5.4.1 failed during the building phase
2.On a website, though it's in Russian, but says the same thing:
https://coderoad.ru/24461456/%D0%9D%D0%B5-%D1%83%D0%B4%D0%B0%D0%B5%D1%82%D1%81%D1%8F-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C-%D0%B8-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-Cabal-Haskell-%D0%BD%D0%B0-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5-CentOS-%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B0
On both those links there are other answers, that talk about running some bootstrap.sh script. That might be another solution, but I don't understand how to do it.
Try to install it using :cabal --http-transport=plain-http install QuickCheck, with this you will be forcing cabal not to use powershell's webclient, it worked for me.

Erlang Client for XMPP server

Is there any good Erlang client for XMPP server. I checked exmpp but it is too old and not compiling.
Any pointers would be good. I have to send and receive a message both. The Ejabberd REST API will not fit here, as I need to get message back as well.
Thanks.
You can use escalus xmpp library from https://github.com/esl/escalus.
https://github.com/processone/exmpp/releases go here download the latest release.
Extract it.
Make sure you have all neccesary things installed like libtools and erlang.
In the extracted directory run :
$ ./configure
$ make
$ sudo make install
By default this will install exmpp to your erlang environment library. You can specify a custom directory by:
$ ./configure --prefix=/install/exmpp/here
You can find example code in the "examples" directory. Go through them for better understanding.

cross-compile postgresql for ARM Sitara AM335x

I'm having trouble cross compiling PostgreSQL for my TI Sitara AM335x EVM SK. My host system is an i386 machine running Ubuntu 12.04.
My application is written in C++ using Qt. When I try and compile, I get the error that libpq.so is incompatible. I believe this is because the cross compiler is trying to use the host libpq.so instead of one for the target system (which as I have found out, doesn't exist).
I've downloaded the source for PostgreSQL with the intention of cross compiling that in order to give me the libpq.so library that will be compatible with my target system, however there is virtually no information on how to do this.
I have tried using the CC argument with the configure file to change my compiler to the following: CC=/home/tim/ti-sdk-am335x-evm-06.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf-gcc but the configure script gives me this error: configure: error: cannot run C compiled programs. If you meant to cross compile, use --host.
The configure file makes a small reference to the --host option, but the only information in the file that I could find is in reference to mingw and windows, which isn't what I want.
I've done some quick searching through the configure file, and it references the --host option, but with no explanation of what is a valid host. I'm assuming that with --host option there will be an associated --target.
What arguments can I give the configure script so that it will cross compile with the correct compiler to generate a library that my target device can use? Are there any resources out there that I haven't found in regards to how the --host/--target works or how to use them?
OK, so after fiddling around for a little while, I think I was actually able to cross compile PostgreSQL and answer my own question.
Before I went any further, I had realized I had forgotten to add the path to my cross compiler to the PATH environment variable. I used the command export PATH=/path/to/cross/compiler:$PATH to insert the compiler path to the PATH environment variable.
Next, I did some experimenting with the --host option. To start off with I tried using ./configure --host=arm-linux-gnueabihf and running the configure script. The configure script seemed to accept this as the host argument. I then went to the next step of running the makefile. Running this makefile resulted in errors being generated. The errors were selected processor does not support Thumb mode. I did a quick search to see what information I could find about this error and came to this webpage: http://www.postgresql.org/message-id/E1Ra1sk-0000Pq-EL#wrigleys.postgresql.org.
This webpage gave me a bit more information since it seemed like the person was trying to do something very similar to me. One of the responders to the post mentioned that --disable-spinlocks is intended for processors that aren't supported by default by PostgreSQL. I emulated the arguments that were used in the website listed above and used the command: ./configure --host=arm-linux CC=arm-linux-gnueabihf-gcc AR=arm-linux-gnueabihf-ar CPP=arm-linux-gnueabihf-cpp --without-readline --without-zlib --disable-spinlocks to generate my makefile. This makefile actually generated all of the files, including the libpq.so library file I was needing.
Hope this helps somebody else in the future!

Eclipse IDE: How to add this configuration during running?

For running of one of my C++ programs, using terminal(Ubuntu) I use
Note: I'm trying to Embed Python in C++. Hence, PYTHONPATH in C++.
Refer to Python/C API for more details.
$ PYTHONPATH=. ./prog_name
Sorry, I didn't know how to ask this question on Google. I want to do the same running with Eclipse. I don't know where to specify PYTHONPATH=. during running from Eclipse. How to produce the equivalent of this? I tried putting in argument list, but obviously it didn't work. Thanks!
PS. Don't downvote just because you don't understand that python scripts can be called through C++ .. Lol
Hi to all those facing the same problem, i found the solution!
setenv() is a function defined in which sets the environment variable. Just have to run it!
setenv("PYTHONPATH",".",1);
for more info on setenv:
$ man setenv
All the best :)

eXosip2 function missed?

I am writing a software for an embedded device, the basic function is VoIP, now I want to implement the SIP using eXosip2. I have downloaded the libeXosip2-3.6.0 source code from http://savannah.nongnu.org/projects/exosip/
I checked a few example code and find that to send an INVITE message, I need to call:
eXosip_call_build_initial_invite (in eXcall_api.c)
In this function, it will call osip_to_init , osip_to_parse , osip_to_free etc functions, however I could not find these functions in the eXosip2 folder....why?
Actually I also downloaded the osip2 library, I can find these functions, but can not see them in the eXosip2. Are these functions included in some object files that I can not read the content? Or actually I need to include both the osip2 and eXosip2?
I am sorry if this is a trivial question, I am novice to programming and would be very thankful if you can help.
You need to also build libosip2. Then link libeXosip2 to the libosip2 libraries
To be complete, you need to download libosip-3.6.0 and install it with those commands line (on a linux/unix platform):
$> tar -xvzf libosip-0.X.X.tar.gz
$> mkdir linux-build
$> cd linux-build
$> ../libosip-0.X.X/configure
$> make
# make install
Then compilation of eXosip2 should work.
The same is true for newer versions.