[poppler] Building for Qt QNX

mpsuzuki at hiroshima-u.ac.jp mpsuzuki at hiroshima-u.ac.jp
Sat Apr 7 07:38:30 PDT 2012


I don't have QNX development kit, so I don't know if qnx-gcc
is really gcc to be used. There is no armv7le-blahblahblah-qnx-gcc or
something like that? Following is for the case if there is no
such.

# If there is no such, I think the maintainer of QNX cross
# development kit assumes the development process which is
# really incompatible with GNU autoconf, so following process
# is really really really irregular.

For first, config.sub (the shell script parsing the string
specifying the platform) may not understand single word "qnx".
It may cause a trouble that configure cannot find appropriate
cross compiler (qnx-gcc?) automatically. So gcc with fully
qualified platform prefix (like "i486-linux-gnu-gcc") should
be prepared. Make a directory to store the cross development
tools with fully qualified names, and put the directory to
your "PATH" environment.

For 2nd, you should determine what is the appropriate
prefix (for fully qualified platform). Gcc shows the default
search paths by "-print-search-dirs". For example, the native
gcc will returns aslike

	$ gcc -print-search-dirs
	install: /usr/lib/gcc/i486-linux-gnu/4.6/
	[snip]

The string like /i486-linux-gnu/ can be used for the values
to give to --host or --build. Please check "qnx-gcc -print-search-dirs".
It may tell the assumed platform string.

For 3rd, after finding the platform string, you should make
symbolic links for required toolkit; armv7le-blahblahblah-qnx-gcc
points to gcc, armv7le-blahblahblah-qnx-g++ to qnx-g++ (if there
is), armv7le-blahblahblah-qnx-ar to qnx-ar (if there is), etc etc.
Please do not ask me for the complete list of the commands to make
symbolic links, because I don't have QNX cross development toolkit.

For 4th, finally the options to configure
	--build=x86_64-pc-linux-gnu --host=armv7le-blahblahblah-qnx
will recognize the cross compilation configuration.

This is not the end. You will have to setup the options to find
the libraries (fontconfig, PNG, JPEG, TIFF, etc etc), but it will
be after when you can make configrue recognize the compiler.

Regards,
mpsuzuki

On Sat, 07 Apr 2012 09:20:22 -0400
Jon <jheron at snappyappz.com> wrote:

>On Sat, 2012-04-07 at 16:34 +0400, Yury G. Kudryashov wrote:
>
>> Jon wrote:
>> Could you please attach the full build log?
>> 
>> P.S.: It seems that the right option is --host, not --target. And I'm not 
>> sure that the right value is 'qnx'. E.g., it doesn't mention your CPU.
>
>Thanks Yuri.
>Using --host fails with this:
>[jon at jonnysLaptop poppler]$ ./configure --with-x --host=qnx
>--prefix=/home/jon/popqt --enable-poppler-qt4
>POPPLER_QT4_LIBS=-L/home/jon/QtQNX/ARM/lib
>POPPLER_QT4_CFLAGS=-I/home/jon/QtQNX/ARM/include
>POPPLER_QT4_TEST_LIBS=-L/home/jon/QtQNX/ARM/lib
>POPPLER_QT4_TEST_CFLAGS=-I/home/jon/QtQNX/ARM/include
>MOCQT4=/home/jon/QtQNX/ARM/bin/moc
>PKG_CONFIG_PATH=/home/jon/QtQNX/ARM/lib/pkgconfig
>configure: WARNING: if you wanted to set the --build type, don't use
>--host.
>    If a cross compiler is detected then cross compile mode will be used
>checking for a BSD-compatible install... /usr/bin/install -c
>checking whether build environment is sane... yes
>checking for qnx-strip... no
>checking for strip... strip
>checking for a thread-safe mkdir -p... /bin/mkdir -p
>checking for gawk... gawk
>checking whether make sets $(MAKE)... yes
>checking for style of include used by make... GNU
>checking for qnx-gcc... no
>checking for gcc... gcc
>checking whether the C compiler works... yes
>checking for C compiler default output file name... a.out
>checking for suffix of executables... 
>checking whether we are cross compiling... no
>checking for suffix of object files... o
>checking whether we are using the GNU C compiler... yes
>checking whether gcc accepts -g... yes
>checking for gcc option to accept ISO C89... none needed
>checking dependency style of gcc... gcc3
>checking how to run the C preprocessor... gcc -E
>checking for grep that handles long lines and -e... /bin/grep
>checking for egrep... /bin/grep -E
>checking for ANSI C header files... yes
>checking for sys/types.h... yes
>checking for sys/stat.h... yes
>checking for stdlib.h... yes
>checking for string.h... yes
>checking for memory.h... yes
>checking for strings.h... yes
>checking for inttypes.h... yes
>checking for stdint.h... yes
>checking for unistd.h... yes
>checking whether byte ordering is bigendian... no
>checking build system type... x86_64-unknown-linux-gnu
>checking host system type... Invalid configuration `qnx': machine `qnx'
>not recognized
>configure: error: /bin/sh ./config.sub qnx failed
>
>I see reference to qnx and nto in the configure script, however I am not
>sure as to what I am looking at... I see from the log above that its
>looking for qnx-gcc and cant find it, how do I point configure to
>qnx-gcc?  
>When I build and deploy Qt apps for the playbook I use qmake from the
>QtQNX built libs and the make is from the playbook NDK, this is working
>to build for the armv7le proc on the playbook.
>I have attached the config.log and the error log from make when using
>--target=qnx.
>Thank you for your help!
>Cheers,
>Jon
>
>
>


More information about the poppler mailing list