Page 1 of 1

Could we have a 64 bit FiveLinux build please?

Posted: Mon May 26, 2008 11:45 pm
by xProgrammer
Hi Antonio

A 64 bit build of xHarbour, libfivex and libfivec would be really great.

Thanks

Doug
(xProgrammer)

Posted: Tue May 27, 2008 9:55 am
by Antonio Linares
Doug,

First of all, we need to build xHarbour 64 bits for Linux. Usually we use make_gnu.sh to build Harbour/xharbour in Linux (and Mac).

To download the xHarbour files from the xHarbour CVS we do:
cvs -d:pserver:anonymous@xharbour.cvs.sourceforge.net:/cvsroot/xharbour login

cvs -z3 -d:pserver:anonymous@xharbour.cvs.sourceforge.net:/cvsroot/xharbour co xharbour > checkoutx.txt

Then we run ./make_gnu.sh. Reviewing make_gnu.sh we find this:

Code: Select all

if [ "$HB_ARCHITECTURE" = "linux" ]
then
    if [ "${C_USR}" == "${C_USR//-fPIC/}" ]
    then
        HB_CPU=`uname -m`
        case "$HB_CPU" in
            *[@_]64)
                export C_USR="$C_USR -fPIC"
                HB_ARCH64="yes"
                ;;
            *)
                ;;
        esac
    fi
fi
so it seems that setting HB_ARCH64="yes" would be enough to build it in 64 bits. Anyhow we have searched everywhere for HB_ARCH64 and we don't find more occurrences for it. Will it work ? :-)

Posted: Wed May 28, 2008 11:35 am
by xProgrammer
Hi Antonio

I managed to download the xHarbour Linux source (although I had to do it from Firefox as the cvs approach didn't work for me). Then I used apt-get to install bison because that caused make_gnu.sh to fail. But make_gnu.sh is still failing. I tried redirecting output to a textfile to send to you but it didn't redirect the error messages (which I guess are sent to stderr rather than stdout). Are you running Ubuntu 64 bit on any of your PCs? Maybe I can redirect stderr to a file? There were lots of errors with odbc.c, but I think it may have failed to find some header files. Maybe I should try building on a 32 bit Ubuntu box first. I would have thought that on a 64 bit box with all 64 bit libraries one wouldn't need a compiler switch but who knows? Maybe we should post on comp.lang.xharbour?

Thanks
Doug
(xProgrammer)

Posted: Wed May 28, 2008 6:45 pm
by Antonio Linares
Doug,

> Are you running Ubuntu 64 bit on any of your PCs?

No, sorry. We have done many tests with Windows Vista 64 bits and based on our tests, you will not notice a speed difference except for multimedia applications. i.e. the internet explorer renders a little faster.

> Maybe I can redirect stderr to a file ?

I don't know it for sure. We may need to google for it or ask in comp.lang.xharbour

> There were lots of errors with odbc.c

You may remove that file from the make file or replace it with an empty file.

>
I would have thought that on a 64 bit box with all 64 bit libraries one wouldn't need a compiler switch but who knows?
>

Yes, you are right. Probably there is no need for a compiler switch if a 64 bit box is used.

Posted: Wed May 28, 2008 9:07 pm
by xProgrammer
Hi Antonio

I found out about stderr redirection (even with stdout also if desired). See

http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html

Will do when I get to my 64 bit Ubuntu box (its at a workplace, not here at home)

Regards
Doug
(xProgrammer)

Posted: Wed May 28, 2008 11:15 pm
by Antonio Linares
Doug,

Very interesting and useful information, thanks! :-)

Posted: Fri May 30, 2008 12:04 am
by xProgrammer
Hi Antonio

Redirected stderr output of make_gnu.sh to a file. All problems seem to stem from inability to find three files:

Code: Select all

../../odbc.c:103:17: error: sql.h: No such file or directory
../../odbc.c:104:20: error: sqlext.h: No such file or directory
../../odbc.c:105:22: error: sqltypes.h: No such file or directory
Do you have these files?

I also note that there is a make_deb.sh script. Should we use that for Ubuntu? I tried running it and the final message it gives is:

Code: Select all

If you want to build xHarbour compiler
you have to install the folowing RPM files:
 debmake slang1-dev
Regards
Doug
(xProgrammer)

Posted: Fri May 30, 2008 12:12 am
by xProgrammer
Hi Antonio

I couldn't install debmake. apt-get install gives the following:

Code: Select all

Reading package lists...
Building dependency tree...
Reading state information...
Package debmake is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
I did manage to install slang1-dev but despite that make_deb.sh still includes that on its list of packages that need to be installed.

Regards
Doug
(xProgrammer)