[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