[Devel] Re: approaching testing phase for 1.2.0

Bogdan-Andrei Iancu bogdan at voice-system.ro
Fri Feb 9 18:53:19 CET 2007


Hi Ovidiu,

as posted on the tracker, the pache you provided break compiling on the 
normal systems as the include files from installed libs are not 
foundable anymore.

I understand the problem and I guess a proper fix will be to introduce a 
new makefile variable $SYSBASE. this will be by default "/usr/"; if you 
do cross-compiling, you will override it to "/my/staging/base/" . The 
Makefiles will be update from :
   
# mysql.h locations (freebsd,openbsd  solaris)
DEFS +=-I$(LOCALBASE)/include -I$(LOCALBASE)/include/mysql \
        -I$(LOCALBASE)/mysql/include/mysql -I$(LOCALBASE)/mysql/include \
        -I/usr/include/mysql

# libmysqlclient locations on RH/Suse, Solaris /OpenBSD, FreeBSD
# (Debian does the right thing and puts it in /usr/lib)
LIBS=-L/usr/lib/mysql -L$(LOCALBASE)/lib -L$(LOCALBASE)/lib/mysql \
        -L$(LOCALBASE)/mysql/lib/mysql/ \
        -L$(LOCALBASE)/mysql/lib \
        -L/usr/lib64/mysql \
        -lm -lmysqlclient -lz

to:

# mysql.h locations (freebsd,openbsd  solaris)
DEFS +=-I$(LOCALBASE)/include -I$(LOCALBASE)/include/mysql \
        -I$(LOCALBASE)/mysql/include/mysql -I$(LOCALBASE)/mysql/include \
        -I$(SYSBASE)/include/mysql

# libmysqlclient locations on RH/Suse, Solaris /OpenBSD, FreeBSD
# (Debian does the right thing and puts it in /usr/lib)
LIBS=-L/usr/lib/mysql -L$(LOCALBASE)/lib -L$(LOCALBASE)/lib/mysql \
        -L$(LOCALBASE)/mysql/lib/mysql/ \
        -L$(LOCALBASE)/mysql/lib \
        -L$(SYSBASE)/lib64/mysql \
        -lm -lmysqlclient -lz

probably LOCALBASE will have also to be computed base on SYSBASE.

what do you think about this?

regards,
bogdan


Ovidiu Sas wrote:
> Hi Bogdan,
>
> It is a check against bogus includes while doing cross-compilation.
> When cross-compiling, includes should be picked from a staging
> directory and not from the build machine.  This will ensure that the
> package will be compiled with the right headers (from the staging
> directory) and not with headers from the build machine.
>
> The "default" openser modules are compiling ok.  Only a few modules
> are exhibiting this issue.
>
> For your reference:
> http://swik.net/OpenEmbedded/OpenEmbedded+News/The+Q%2FA+team+strikes+back!/gml3 
>
>
>
> Regards,
> Ovidiu Sas
>
> On 2/2/07, Bogdan-Andrei Iancu <bogdan at voice-system.ro> wrote:
>> Hi Ovidiu,
>>
>> first of all, do you have any idea why gcc does not like the
>> /usr/include dir in INCLUDEPATH ? any reason?
>>
>> regards,
>> bogdan
>>
>>
>> Ovidiu Sas wrote:
>>
>> > Hi Bogdan,
>> >
>> > Speaking of builds, while cross compiling, the new gcc compiler
>> > doesn't like /usr/include in INCLUDEPATH:
>> >
>> > make[2]: Entering directory
>> > 
>> `/home/admin/slug-optware-slugosbe-dev/optware/builds/openser/modules/pa' 
>>
>> > CROSS COMPILE Badness: /usr/include in INCLUDEPATH: 
>> /usr/include/libxml2
>> > cc1: internal compiler error: Aborted
>> > Please submit a full bug report,
>> > with preprocessed source if appropriate.
>> > See <URL:http://gcc.gnu.org/bugs.html> for instructions.
>> >
>> >
>> > There are a few modules affected by this.  Is is possible to fix the
>> > Makefile for this modules.  Here's a dirty patch that I made to
>> > circumvent this problem, but I wonder if we prepend $(LOCALBASE) in
>> > front of each include, will this work ok for other platforms?
>> >
>> >
>> > --- openser-1.1.1-tls/modules/mysql/Makefile    2006-05-23
>> > 09:52:33.000000000 -0400
>> > +++ openser/modules/mysql/Makefile      2007-01-31 10:17:27.000000000
>> > -0500
>> > @@ -8,15 +8,13 @@
>> >
>> > # mysql.h locations (freebsd,openbsd  solaris)
>> > DEFS +=-I$(LOCALBASE)/include -I$(LOCALBASE)/include/mysql \
>> > -               -I$(LOCALBASE)/mysql/include/mysql
>> > -I$(LOCALBASE)/mysql/include \
>> > -               -I/usr/include/mysql
>> > +               -I$(LOCALBASE)/mysql/include/mysql
>> > -I$(LOCALBASE)/mysql/include
>> >
>> > # libmysqlclient locations on RH/Suse, Solaris /OpenBSD, FreeBSD
>> > # (Debian does the right thing and puts it in /usr/lib)
>> > LIBS=-L/usr/lib/mysql -L$(LOCALBASE)/lib -L$(LOCALBASE)/lib/mysql \
>> >                -L$(LOCALBASE)/mysql/lib/mysql/ \
>> >                -L$(LOCALBASE)/mysql/lib \
>> > -               -L/usr/lib64/mysql \
>> >                -lm -lmysqlclient -lz
>> >
>> > include ../../Makefile.modules
>> > --- openser-1.1.1-tls/modules/postgres/Makefile 2005-07-01
>> > 10:52:34.000000000 -0400
>> > +++ openser/modules/postgres/Makefile   2007-01-31 10:19:59.000000000
>> > -0500
>> > @@ -7,8 +7,8 @@
>> > NAME=postgres.so
>> >
>> > # libpq-fe.h locations
>> > -DEFS +=-I$(LOCALBASE)/include -I$(LOCALBASE)/pgsql/include \
>> > -        -I/usr/include/postgresql -I/usr/include/postgresql/8.0
>> > +DEFS +=-I$(LOCALBASE)/include -I$(LOCALBASE)/pgsql/include
>> > +
>> > LIBS=-L$(LOCALBASE)/lib -L$(LOCALBASE)/pgsql/lib
>> > -L$(LOCALBASE)/lib/pgsql \
>> >         -lpq
>> >
>> > --- openser-1.1.1-tls/modules/pa/Makefile       2005-10-25
>> > 12:23:28.000000000 -0400
>> > +++ openser/modules/pa/Makefile 2007-01-31 10:37:21.000000000 -0500
>> > @@ -10,7 +10,7 @@
>> > NAME=pa.so
>> > LIBS=
>> >
>> > -DEFS+=-I/usr/include/libxml2 -I$(LOCALBASE)/include/libxml2
>> > -I$(LOCALBASE)/include
>> > -LIBS+=-L/usr/include/lib  -L$(LOCALBASE)/lib -lxml2
>> > +DEFS+=-I$(LOCALBASE)/include/libxml2 -I$(LOCALBASE)/include
>> > +LIBS+=-L$(LOCALBASE)/lib -lxml2
>> >
>> > include ../../Makefile.modules
>> > --- openser-1.1.1-tls/modules/cpl-c/Makefile    2006-02-09
>> > 12:28:25.000000000 -0500
>> > +++ openser/modules/cpl-c/Makefile      2007-01-31 10:40:25.000000000
>> > -0500
>> > @@ -6,7 +6,7 @@
>> > auto_gen=
>> > NAME=cpl-c.so
>> >
>> > -DEFS +=-I/usr/include/libxml2 -I$(LOCALBASE)/include/libxml2 \
>> > +DEFS +=-I$(LOCALBASE)/include/libxml2 \
>> >                -I$(LOCALBASE)/include  # iconv.h
>> >
>> > LIBS= -L$(LOCALBASE)/lib -lxml2
>> >
>> >
>> >
>> >
>> > Regards,
>> > Ovidiu Sas
>> >
>> > On 2/1/07, Bogdan-Andrei Iancu <bogdan at voice-system.ro> wrote:
>> >
>> >> Hi Peter,
>> >>
>> >> indeed there were some include not removed. I just fixed it on CVS
>> >> devel. Please update and see if it works now.
>> >>
>> >> Thanks and regards,
>> >> bogdan
>> >
>> >
>>
>>
>




More information about the Devel mailing list