tinycc-devel
[Top][All Lists]
Advanced

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

[Tinycc-devel] Error: File crti.o/crt1.o Not Found and No Function Renam


From: Cayce Pollard
Subject: [Tinycc-devel] Error: File crti.o/crt1.o Not Found and No Function Renaming (Possible Solution)
Date: Sat, 14 Sep 2013 06:55:06 -0500

I think I may have found the cause of this and other errors I've reported. Posting my theory here so others with unusual environments can benefit. Apologies for any terminology errors.

I'm trying to build tcc to run in a KBOX2 environment. KBOX2 emulates, among other things, a standard Unix filesystem layout and root environment within an Android OS, all of which is accessible via a terminal app. 

Up until now, I've been troubleshooting and debugging with assumption that I am working directly with the libraries and headers available in the Android system. Turns out this is incorrect. Since the KBOX2 environment uses libfakechroot.so to 'emulate' a standard Linux system with root privileges, I need to build tcc and set env variables with libfakechroot in mind.

Example: Instead of
LD_LIBRARY_PATH=/foo/bar
I'd need to use
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/foo/bar to correctly set the path in the fakechroot environment, because already $LD_LIBRARY_PATH=/usr/lib/fakechoot.

So. Back to the drawing board with (hopefully) mote success

On Sep 13, 2013 6:43 PM, "Cayce Pollard" <address@hidden> wrote:

I'm once again testing a build of tcc on my device by compiling SCM.  Determined to get this working

/home/kbox/devel/scm $ tcc -vv scm.c
tcc version 0.9.26 (ARM Linux)
tcc: error: file 'crt1.o' not found
tcc: error: file 'crti.o' not found
-> scm.c
-> /usr/include/signal.h
->  /usr/include/sys/cdefs.h
->   /usr/include/sys/cdefs_elf.h
In file included from scm.c:24:
In file included from /usr/include/signal.h:31:
/usr/include/sys/cdefs.h:252: error: #error "No function renaming possible"
/home/kbox/devel/scm $

1) There are crt* files on my device, but they are not crt1.o or crti.o.  When building tcc for my device, I specified the crt location and included  crtbegin_dynamic and crtend_android to --extra-ldflags during configure.  Why is tcc complaining about crti.o and crt1.o?

2) Is there a way to indicate to cdefs.h that compiler implements C99 without editing cdefs.h?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]