Trolltech Home | Qt-embedded-interest Home | Recent Threads | All Threads | Author | Date
All threads index page 1

Qt-embedded-interest Archive, February 2007
Problem crosscompiling qtopia-core4 with buildroot


Message 1 in thread

Hi,

I have some problem while cross-compiling qtopia-core4 with buildroot. 
Buildroot creates a cross-compilation toolchain with the uClibc
libraries.
The following configure line is executed:

# Patching configure to get rid of some feature I dont want.
# (I don't want SQL either but there is no option for that at all.
# the SQL library will be built even without the plugins/drivers.
/home/happycactus/Progetti/Marcon/cross/toolchain_build_i586/bin/sed -i
-e
's/^CFG_IPV6=auto/CFG_IPV6=no/' /home/happycactus/Progetti/Marcon/cross/toolchain_build_i586/qtopia-core-opensource-src-4.2.2/configure /home/happycactus/Progetti/Marcon/cross/toolchain_build_i586/bin/sed
-i -e
's/^CFG_IPV6IFNAME=auto/CFG_IPV6IFNAME=no/' /home/happycactus/Progetti/Marcon/cross/toolchain_build_i586/qtopia-core-opensource-src-4.2.2/configure /home/happycactus/Progetti/Marcon/cross/toolchain_build_i586/bin/sed
-i -e
's/^CFG_XINERAMA=auto/CFG_XINERAMA=no/' /home/happycactus/Progetti/Marcon/cross/toolchain_build_i586/qtopia-core-opensource-src-4.2.2/configure
#       /home/happycactus/Progetti/Marcon/cross/toolchain_build_i586/bin/sed
-i -e 's/-O2/-Os
-pipe /' /home/happycactus/Progetti/Marcon/cross/toolchain_build_i586/qtopia-core-opensource-src-4.2.2/mkspecs/qws/linux-x86-g++/qmake.conf
[ -f package/qtopia4/qconfig-myfile.h ] && cp
package/qtopia4/qconfig-myfile.h
\ /home/happycactus/Progetti/Marcon/cross/toolchain_build_i586/qtopia-core-opensource-src-4.2.2//src/corelib/global/
make:
[/home/happycactus/Progetti/Marcon/cross/toolchain_build_i586/qtopia-core-opensource-src-4.2.2/.configured]
Error 1 (ignored)
(cd /home/happycactus/Progetti/Marcon/cross/toolchain_build_i586/qtopia-core-opensource-src-4.2.2;
rm -rf config.cache; \
PATH="/opt/cross/zbee/wafer/bin:/home/happycactus/Progetti/Marcon/cross/toolchain_build_i586/bin:/opt/cross/zbee/wafer/bin:/home/happycactus/bin:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/games:/opt/gnome/bin:/opt/kde3/bin:/usr/lib/jvm/jre/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin"
\ CFLAGS="-Os -pipe " \ CXXFLAGS="" \ ./configure \ -v \ -embedded x86
\ \ -release \ -depths 8 \ -no-cups \ -no-nis \ -no-freetype \
-no-libmng \ -no-sql-db2 \
                -no-sql-ibase \
                -no-sql-mysql \
                -no-sql-oci \
                -no-sql-odbc \
                -no-sql-psql \
                -no-sql-sqlite \
                -no-sql-sqlite2 \
                -no-sql-tds \
                -prefix /opt/cross/zbee/wafer/usr/Trolltech \
                -prefix-install \
                -L /opt/cross/zbee/wafer/usr/lib \
                -I /opt/cross/zbee/wafer/usr/include \
                -no-qt3support \
                 \
                -largefile \
                -little-endian \
        );


and the configuration script stops here:

gmake[1]: Leaving directory
`/home/happycactus/Progetti/Marcon/cross/toolchain_build_i586/qtopia-core-opensource-src-4.2.2/qmake'
zlib auto-detection... () make[1]: Entering directory
`/home/happycactus/Progetti/Marcon/cross/toolchain_build_i586/qtopia-core-opensource-src-4.2.2/config.tests/unix/zlib'
g++  -o zlib zlib.o     -L/opt/cross/zbee/wafer/usr/lib
-lz /usr/lib/gcc/i586-suse-linux/4.1.2/../../../../i586-suse-linux/bin/ld:
warning: libc.so.6, needed
by /usr/lib/gcc/i586-suse-linux/4.1.2/libgcc_s.so, may conflict with
libc.so.0 /usr/lib/gcc/i586-suse-linux/4.1.2/../../../../i586-suse-linux/bin/ld:
errno: TLS definition in /lib/libc.so.6 section .tbss mismatches
non-TLS definition in /opt/cross/zbee/wafer/usr/lib/libc.so
section .bss /lib/libc.so.6: could not read symbols: Bad value
collect2: ld returned 1 exit status make[1]: *** [zlib] Error 1


(Many other lines like the last one follows).
The problem is that LD looks for the wrong libc, the host ones instead
of the target one (that are located in /opt/cross/...)
What am I wrong? I think that something in the configuration line is
bad.

Thanks in advance!

ing. Federico Fuga


To unsubscribe - send "unsubscribe" in the subject to qt-embedded-interest-request@xxxxxxxxxxxxx


Message 2 in thread

ing. Federico Fuga wrote:
> Hi,
>
>   
Hi,
> (Many other lines like the last one follows).
> The problem is that LD looks for the wrong libc, the host ones instead
> of the target one (that are located in /opt/cross/...)
> What am I wrong? I think that something in the configuration line is
> bad.
>   
IIRC, the environment variable LD_LIBRARY_PATH has to be set correctly. 
I did not compile neither qtopia-core4 nor buldroot though. I am with 
qt-embedded3.

Hope that helps,

Andre

To unsubscribe - send "unsubscribe" in the subject to qt-embedded-interest-request@xxxxxxxxxxxxx


Message 3 in thread

On Fri, 02 Feb 2007 12:05:14 +0100
Andre Haupt <haupt.andre@xxxxxx> wrote:

> > (Many other lines like the last one follows).
> > The problem is that LD looks for the wrong libc, the host ones
> > instead of the target one (that are located in /opt/cross/...)
> > What am I wrong? I think that something in the configuration line is
> > bad.
> >   
> IIRC, the environment variable LD_LIBRARY_PATH has to be set
> correctly. I did not compile neither qtopia-core4 nor buldroot
> though. I am with qt-embedded3.

Hi Andre, 

Thank you for your response.
The problem is that the qmake and make chain confuses the host compiler
and linker (g++) with the target cross-compiler (i586-linux-uclibc-g++).
I have tried to compile qtopia "outside" buildroot with no luck.
But after

- Creating a new mkspecs/qws/linux-x86-uclibc-g++/qmake.conf file,
- Removed the -I and -L options from configure
- Changed -target x86 with -target x86-uclibc 
- Removed some ENV vars (GCC and CXX) that was confusing the make

it started compiling without error an any stage (for now), tools and
corelib is compiled correctly, for now.
Thank you very much again.

ing. Federico Fuga

To unsubscribe - send "unsubscribe" in the subject to qt-embedded-interest-request@xxxxxxxxxxxxx