Re: Cross-compile for arm architecture

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Now, I'm working with Fedora 21. However another error exists now:

Toolchain: gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux

export PATH=$PATH:/home/ecank/1511/toolchain/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin
export CC=arm-linux-gnueabihf-gcc
export CROSS_COMPILE=arm-linux-gnueabihf-
export CFLAGS=-D__thread= 
export EMBEDDED=y
export DESTDIR=~/obj
make install install-pywrap

arm-linux-gnueabihf-gcc: error: unrecognized command line option ‘-mno-tls-direct-seg-refs’
Makefile:130: recipe for target 'is_customizable_type.o' failed
make[2]: *** [is_customizable_type.o] Error 1
make[2]: Leaving directory '/home/ecank/1511/selinux/libselinux/src'
Makefile:28: recipe for target 'install' failed

all output: http://pastebin.com/U03hhtJJ

moreover:
$ arm-linux-gnueabihf-gcc --version
arm-linux-gnueabihf-gcc (crosstool-NG linaro-1.13.1-4.9-2014.09 - Linaro GCC 4.9-2014.09) 4.9.2 20140904 (prerelease)
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Then after deletion of
TLSFLAGS += -mno-tls-direct-seg-refs
(i deleted that flag, since it was related with x86-64 and i386) 
(https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/i386-and-x86-64-Options.html)

New error is related with pcre library.

arm-linux-gnueabihf-gcc -D__thread= -I../include -I/home/ecank/obj/usr/include -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DDISABLE_AVC -DDISABLE_BOOL -DDISABLE_RPM -DDISABLE_SETRANS  -c -o label_file.o label_file.c
label_file.c:21:18: fatal error: pcre.h: No such file or directory
 #include <pcre.h>
                  ^
compilation terminated.
Makefile:130: recipe for target 'label_file.o' failed

all output: http://pastebin.com/9rxKFvLL

Really need help about compiling SELinux for an arm.

Thanks in advance.


2015-02-25 20:25 GMT+02:00 Stephen Smalley <sds@xxxxxxxxxxxxx>:
On 02/25/2015 10:42 AM, Emre Can Kucukoglu wrote:
> Hello,
>
> I want to use SELinux for my experimental vanilla kernel distribution in
> Pandaboard ES. To achieve that I have configured my kernel for SELinux
> support. Then, I have recently cloned selinux userspace repository to
> cross-compile it for arm architecture. I use arm-linux-gnueabi toolchain
> in Ubuntu 14.04 workstation.
>
> $ export ARCH=arm
> $ export CROSS_COMPILE=arm-linux-gnueabi-
>
> As mentioned in readme instruction,
>
> $ make DESTDIR=~/obj install install-pywrap
>
> command is used, however due to -Werror flags in various Makefile's,
> error is thrown:
>
> dispol.c: In function ‘main’:
> dispol.c:452:8: error: ignoring return value of ‘fgets’, declared with
> attribute warn_unused_result [-Werror=unused-result]
>    fgets(ans, sizeof(ans), stdin);
>         ^
> dispol.c:479:9: error: ignoring return value of ‘fgets’, declared with
> attribute warn_unused_result [-Werror=unused-result]
>     fgets(ans, sizeof(ans), stdin);
>          ^
> dispol.c:490:9: error: ignoring return value of ‘fgets’, declared with
> attribute warn_unused_result [-Werror=unused-result]
>     fgets(ans, sizeof(ans), stdin);
>          ^
> dispol.c:517:9: error: ignoring return value of ‘fgets’, declared with
> attribute warn_unused_result [-Werror=unused-result]
>     fgets(OutfileName, sizeof(OutfileName), stdin);
>          ^
> cc1: all warnings being treated as errors
> make[2]: *** [dispol.o] Error 1
>
> I did this modification to get over this error which is caused by
> -Werror flag:
>
> char *fgetsret; /* error is given, because return value is not captured */
> fgetsret = fgets(...);
> if (!fgetsret) { /* if fgetsret is not used, another error comes from
> warning */
> // some exit message
> exit(1);
> }
>
> Did I miss something about SELinux cross-compilation for an arm
> architecture, since constantly I'm taking errors.

Hmm...that's interesting.  Builds just fine on Fedora 20.  I do however
get the same error building on Ubuntu 14.04 (which is not something we
typically test on; most SELinux developers work on Fedora).

Willing to accept patches to fix it, but it is merely a test/debugging
program that you can even exclude from your build if you like.




--
Emre Can Kucukoglu
_______________________________________________
Selinux mailing list
Selinux@xxxxxxxxxxxxx
To unsubscribe, send email to Selinux-leave@xxxxxxxxxxxxx.
To get help, send an email containing "help" to Selinux-request@xxxxxxxxxxxxx.

[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux