Yes, it's a known name collision problem. We should clean Harbour from all
these common type names (LONG, ULONG,
BOOL, UINT, INT, SCHAR, UCHAR, BYTE, SHORT, USHORT,
LONGLONG, ULONGLONG) which external packages might
use with slightly different meaning.

I'm not sure what's the best practice to follow here, but the most
obvious is to prefix everything with HB_, and move appropriate
names from above to Clipper compatibility .api headers.

Brgds,
Viktor

On Sat, Jan 31, 2009 at 3:24 PM, Guy Roussin
<guy.rous...@teledetection.fr>wrote:

> Hello,
>
> Today i get this error compiling harbour on debian sid (x86) :
>
> $ svn co
> https://harbour-project.svn.sourceforge.net/svnroot/harbour-project/trunk/harbourharbour
> $ cd harbour
> $ fakeroot sh mpkg_deb.sh
>
> [...]
>
> make[3]: entrant dans le répertoire «
> /usr/local/src/harbour/contrib/hbfimage »
> make[4]: entrant dans le répertoire «
> /usr/local/src/harbour/contrib/hbfimage/linux/gcc »
> gcc -I. -I../../../../include -Wall -W -O3 -I/usr/include -c
> ../../fi_winfu.c -ofi_winfu.o
> In file included from ../../fi_winfu.c:74:
> /usr/include/FreeImage.h:157: error: conflicting types for 'LONG'
> ../../../../include/hbdefs.h:212: error: previous declaration of 'LONG' was
> here
> make[4]: *** [fi_winfu.o] Erreur 1
> make[4]: quittant le répertoire «
> /usr/local/src/harbour/contrib/hbfimage/linux/gcc »
> make[3]: *** [descend] Erreur 2
> make[3]: quittant le répertoire « /usr/local/src/harbour/contrib/hbfimage »
> make[2]: *** [hbfimage] Erreur 2
> make[2]: quittant le répertoire « /usr/local/src/harbour/contrib »
> make[1]: *** [contrib] Erreur 2
> make[1]: quittant le répertoire « /usr/local/src/harbour »
> touch build-stamp
> debian/rules binary
>
> $ dpkg -S /usr/include/FreeImage.h
> libfreeimage-dev: /usr/include/FreeImage.h
>
> $ apt-cache policy libfreeimage-dev
> libfreeimage-dev:
>  Installé : 3.10.0-1
>  Candidat : 3.10.0-1
> Table de version :
> *** 3.10.0-1 0
>       300 http://ftp.fr.debian.org lenny/main Packages
>       500 http://ftp.fr.debian.org sid/main Packages
>       100 /var/lib/dpkg/status
>
> $ head -157 /usr/include/FreeImage.h | tail -1
> typedef int32_t LONG;
>
> $ head -212 include/hbdefs.h | tail -1
>  typedef long LONG;
>
> Thank you,
>
> --
> Guy
>
> _______________________________________________
> Harbour mailing list
> Harbour@harbour-project.org
> http://lists.harbour-project.org/mailman/listinfo/harbour
>
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to