Android framework build errors fix under Ubuntu 9.04

-----------------------------------------------------------------------------------------------
Environment:

Ubuntu 9.04- the Jaunty Jackalope - released in April 2009.

About:

This file will focus on fixing the build errors while we make the Android project under the Ubuntu 9.04 .

Author:

congli.sw@gmail.com
               
-----------------------------------------------------------------------------------------------
1.     issue discription:
------------------------------------------------------------------------------------------------
error type : command not found or Error 127.
------------------------------------------------------------------------------------------------
Lex: aidl <= frameworks/base/tools/aidl/aidl_language_l.l
/bin/bash: flex: command not found
make: *** [out/host/linux-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_l.cpp]
Error 127
=========================================================
1.1 Solution:
=========================================================
Install the tool flex.
The following step:
    The 1st : find the apt
        System->Administration->Synaptic Package Manager->Quick search
    The 2st : input the "flex" , then select them for Apply.
         
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
1.2 Reference Reading.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
1.2.1 key words: Flex
Flex is a tool for generating scanners: programs which recognized lexical
patterns in text. It reads the given input files for a description of a
scanner to generate. The description is in the form of pairs of regular
expressions and C code, called rules. Flex generates as output a C source
file, lex.yy.c, which defines a routine yylex().  This file is compiled
and linked with the -lfl library to produce an executable. When the
executable is run, it analyzes its input for occurrences of the regular
expressions. Whenever it finds one, it executes the corresponding C code.

The behaviour of Flex has undergone a major change since version
2.5.4a. Flex scanners are now reentrant, and it is now possible to
have multiple scanners in the same program with differing sets of
defaults, and the scanners play nicer with modern C and C++
compilers. The Flip side is that Flex no longer conforms to the POSIX
lex behaviour, and the scanners require conforming implementations
when flex is used in ANSI C mode. The package flex-old provides the
older behaviour.

Canonical provides critical updates for flex until October 2010.
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

------------------------------------------------------------------------------------------------
2. issue discription:
------------------------------------------------------------------------------------------------
error type : undeclared or Error 1.
------------------------------------------------------------------------------------------------
host C: emulator <= external/qemu/console.c
host C: emulator <= external/qemu/loader.c
host C: emulator <= external/qemu/sockets.c
external/qemu/sockets.c: In function ‘sock_address_init_resolve’:
external/qemu/sockets.c:637: error: ‘EAI_NODATA’ undeclared (first use in this function)
external/qemu/sockets.c:637: error: (Each undeclared identifier is reported only once
external/qemu/sockets.c:637: error: for each function it appears in.)
make: *** [out/host/linux-x86/obj/EXECUTABLES/emulator_intermediates/sockets.o] Error 1
=========================================================
2.1 Solution:
=========================================================
The 1st way to fix:
Apparently you have to modify the makefile to fix it.
/external/qemu/Makefile.android
# this is needed to build the emulator on 64-bit Linux systems
 ifeq ($(HOST_OS)-$(HOST_ARCH),linux-x86)
-  MY_CFLAGS += -Wa,--32
+  MY_CFLAGS += -Wa,--32 -D_GNU_SOURCE
 endif
 ifeq ($(HOST_OS),freebsd)

The 2st way to fix:
commenting out the EAI_NODATA line
found in sockets.c file.
             err = EHOSTDOWN;
             break;

-        case EAI_NODATA:
+        /* case EAI_NODATA: */
         case EAI_NONAME:
             err = ENOENT;
             break;
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2.2 Reference Reading.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2.2.1 The reference link:
http://groups.google.com/group/android-porting/browse_thread/thread/8432b5f2accb718a/8bbec3737be7fc28?lnk=gst&q=external%2Fqemu%2Fsockets.c+%E2%80%98
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
2.2.2 key words: qemu

 QEMU is a generic and open source processor emulator which can emulate i386, x86_64, ARM, MIPS, PowerPC and SPARC systems. In case of ARM, it can emulate an Integrator or a Versatile platform. The Versatile one is the most interesting as it includes a hard disk SCSI controller, an Ethernet card and a graphical display.

Using a kernel compiled with the right options, it is possible to install a Debian distribution on such an emulated platform. That makes a cheap development platform. The emulated system running on an Athlon 64 X2 3800+ is around 20% faster than the popular NSLU2 and possibly with much more RAM (my emulated system has 256MiB of RAM).

This howto has been written for a Debian host system, but could be easily adapted for other distributions.

Alternatively prebuilt images are also available.
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

------------------------------------------------------------------------------------------------
3. issue discription:
------------------------------------------------------------------------------------------------
error type : sh: gperf: not found or Error 25.
------------------------------------------------------------------------------------------------
Creating hashtable for external/webkit/JavaScriptCore/parser/Keywords.table
target Generated: libwebcore <= external/webkit/JavaScriptCore/pcre/pcre_internal.h
Generating CSSPropertyNames.h <= CSSPropertyNames.in
sh: gperf: not found
calling gperf failed: 32512 at ./makeprop.pl line 96.
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libwebcore_intermediates/WebCore/css/CSSPropertyNames.h] Error 25
make: *** Deleting file `out/target/product/generic/obj/SHARED_LIBRARIES/libwebcore_intermediates/WebCore/css/CSSPropertyNames.h'

=========================================================
3.1. Solution:
=========================================================
Install the tool gperf.
The following step:
    The 1st : find the apt
        System->Administration->Synaptic Package Manager->Quick search
    The 2st : input the "gperf" , then select them for Apply.

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
3.2 Reference Reading.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
3.2.1The reference link:

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
3.3.3 key words: gperf
Perfect hash function generator

gperf is a program that generates perfect hash functions for sets of
key words.

A perfect hash function is simply: A hash function and a data structure
that allows recognition of a key word in a set of words using exactly 1
probe into the data structure.

Canonical provides critical updates for gperf until October 2010.

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: "tensorflow.python.framework.errors_impl.invalidargumenterror" 是 TensorFlow 报告的一种错误类型。它通常表示传递给 TensorFlow 函数或操作的某些参数不正确或无效。可能的原因包括参数的形状不匹配、数据类型不一致、空数据等。要解决这个错误,您需要检查输入参数是否符合 TensorFlow 函数或操作的要求,并进行必要的更正。您还可以查看 TensorFlow 的文档或社区支持以获取更多信息和帮助。tensorflow.python.framework.errors_impl.invalidargumenterror是TensorFlow的一个错误类型,它表示给定的输入参数无效或不符合预期。这个错误通常出现在TensorFlow的计算图构建或运行阶段,可能是因为输入的维度不匹配、张量的形状不正确或者数据类型不一致等问题。如果你遇到了这个错误,可以检查你的输入数据是否符合TensorFlow所要求的格式和要求,或者查看TensorFlow的文档和API参考以找出解决方案。"tensorflow.python.framework.errors_impl.invalidargumenterror" 是 TensorFlow 框架中的一个错误类型,通常表示给定的参数不符合所需的规范或约束。这可能是由于数据类型不匹配、张量维度不匹配、参数范围不正确等原因引起的。如果您遇到了这个错误,您可以检查一下您的输入数据是否正确,或者尝试调整您的参数范围,以确保它们符合所需的规范。另外,您可以查看 TensorFlow 的文档和社区论坛以获得更多的帮助和支持。"tensorflow.python.framework.errors_impl.invalidargumenterror" 是 TensorFlow 框架抛出的一个错误类型,通常表示在调用 TensorFlow 操作时,输入参数存在一些无效的值或格式不正确,导致无法继续执行该操作。 要解决这个问题,需要检查代码中对 TensorFlow 操作的调用,确保输入参数的值和格式正确无误,例如确保张量的形状和数据类型与操作的要求一致。还可以使用 TensorFlow 提供的调试工具,例如 tf.debugging.assert_* 函数,来检查输入数据是否符合预期,以帮助快速定位错误。"tensorflow.python.framework.errors_impl.invalidargumenterror" 是一个 TensorFlow 框架的错误类型,通常表示代码中传递给 TensorFlow 函数的参数不符合函数要求。可能的原因包括参数类型不正确、形状不匹配、范围不合法等等。需要仔细检查代码并调整参数,以解决这个错误。`tensorflow.python.framework.errors_impl.invalidargumenterror` 是 TensorFlow 中的一种错误类型,表示函数参数无效。可能是因为参数类型不正确、维度不匹配、形状不合法等问题导致的。通常需要检查代码中的参数传递是否正确,以及输入数据的形状和维度是否与模型要求相符。在出现此错误时,可以查看错误信息中的具体提示,以确定导致错误的原因。"tensorflow.python.framework.errors_impl.invalidargumenterror" 是 TensorFlow 框架中的一个错误类型,表示在执行 TensorFlow 操作时传递了无效的参数。这通常会导致操作无法完成并引发异常。如果您遇到这个错误,请检查您的代码和参数,确保它们都是正确的。可能需要对输入数据进行一些预处理,以确保它们符合操作的要求。"tensorflow.python.framework.errors_impl.invalidargumenterror" 是 TensorFlow 的一个错误类型,表示传递给 TensorFlow 的参数无效。可能是因为参数的类型、形状或值不符合 TensorFlow 函数的要求。要解决这个错误,可以检查传递给函数的参数是否正确,并确保它们符合函数的要求。另外,可以查看错误消息提供的详细信息,以更好地理解错误的原因。"tensorflow.python.framework.errors_impl.invalidargumenterror" 是 TensorFlow 报告的一个错误,表示在调用 TensorFlow 函数时,传递给函数的参数有误或不合法。通常这种错误的信息会包含更详细的描述,例如具体是哪个参数有问题、其期望值是什么等等,需要根据具体的错误信息来进行排查和解决。 很抱歉,我无法回答这个问题,因为我不太熟悉TensorFlow Python框架。"tensorflow.python.framework.errors_impl.invalidargumenterror" 是 TensorFlow 框架中的一个错误类型,通常表示传递给 TensorFlow API 的参数无效或不正确。 例如,如果您使用 tf.concat() 函数来连接两个张量,但是这两个张量的维度不兼容,那么就会出现 "tensorflow.python.framework.errors_impl.invalidargumenterror" 错误。 为了解决这个问题,您需要检查您传递给 TensorFlow API 的参数是否正确。可能需要检查张量的维度、形状、数据类型等信息,以确保它们与您的操作相兼容。"tensorflow.python.framework.errors_impl.invalidargumenterror" 是 TensorFlow 报告的一种错误类型,意思是 TensorFlow 函数的一个或多个输入参数无效。 这种错误通常表示您传递给 TensorFlow 函数的数据类型、形状或值与函数所需的不匹配。这可能是由于代码错误、数据预处理问题或其他原因导致的。 要解决这个问题,您需要检查您的代码和数据,确保输入参数的类型、形状和值符合函数的要求。您还可以查看 TensorFlow 的文档和示例代码,以了解如何正确地使用函数和处理数据。如果问题仍然存在,您可以在 TensorFlow 的社区中寻求帮助。"tensorflow.python.framework.errors_impl.invalidargumenterror"是TensorFlow的一个错误类型,表示某些参数不合法。可能是因为参数的形状、数据类型或范围不正确,导致无法继续执行。如果你遇到了这个错误,可以检查一下你的代码中是否有不合法的参数,并尝试修复它们。tensorflow.python.framework.errors_impl.invalidargumenterror是TensorFlow的一个错误类型,通常意味着您提供给TensorFlow的输入数据不符合要求或格式错误。这可能是由于数据类型不匹配、输入数据维度不正确或其他类似问题导致的。为了解决这个问题,您需要检查输入数据是否符合TensorFlow的要求,例如确保数据类型正确,维度匹配等。如果您不确定问题的具体原因,可以查看TensorFlow的文档或向社区寻求帮助。"tensorflow.python.framework.errors_impl.invalidargumenterror" 是 TensorFlow 框架中的一个错误类型,通常表示函数的输入参数无效。可能的原因包括参数的维度不匹配,传递的参数类型不正确,或者参数的值超出了可接受的范围。要解决这个错误,需要检查代码中与该错误相关的函数和参数,并确保它们的维度、类型和值是正确的。 我不明白你的意思。你能再解释一下吗?`tensorflow.python.framework.errors_impl.invalidargumenterror` 是一个 TensorFlow 中的错误类型,表示输入参数不合法,可能是因为参数的形状、数据类型、取值范围等不符合要求。通常需要检查代码中涉及的数据输入和处理部分,以确定具体的错误原因。可以查看错误信息中提供的详细信息来帮助诊断问题。"tensorflow.python.framework.errors_impl.invalidargumenterror" 是 TensorFlow 的一个错误类型,表示传入的参数不合法。通常会给出具体的错误信息,例如参数的维度不匹配、形状不正确等等。解决此错误需要仔细检查代码中传入的参数是否符合要求,并进行相应的调整和修改。`tensorflow.python.framework.errors_impl.invalidargumenterror` 是 TensorFlow 框架中的一个错误类,表示函数或操作的一个或多个参数无效或不合法。 可能的原因包括: - 参数类型不匹配或不兼容 - 参数值不在允许的范围内 - 参数缺失或多余 - 参数格式错误 要解决这个错误,需要检查代码中相关函数或操作的参数,并确保它们的类型、值、数量和格式符合要求。如果需要,可以参考 TensorFlow 的文档和示例进行调试和修改。 无效的参数错误:Tensorflow.Python.Framework.Errors_Impl.InvalidArgumentError`tensorflow.python.framework.errors_impl.invalidargumenterror` 是 TensorFlow 框架中的一个错误类型,表示输入的参数不合法。这个错误通常是由于输入的张量形状、数据类型、取值范围等方面与所要求的不符合导致的。解决这个错误需要仔细检查输入张量的相关参数,确保它们符合所要求的规范。"tensorflow.python.framework.errors_impl.invalidargumenterror" 是 TensorFlow 报告的一个错误类型。这个错误通常表示输入参数无效,不符合操作的要求,或者参数之间的不一致性导致了操作的失败。这种错误通常需要仔细检查代码和数据输入,以确定哪些参数导致了错误,并做出相应的修复。如果您需要更具体的帮助,请提供更多上下文信息,以便我们能够更好地帮助您解决问题。"tensorflow.python.framework.errors_impl.invalidargumenterror" 是 TensorFlow 框架中的一个错误类型。它通常表示在运行 TensorFlow 代码时,传递给某个函数或操作的一个或多个参数无效。这可能是由于参数类型错误、参数值不在允许的范围内、形状不匹配等原因引起的。要解决此错误,您应该检查代码并确保您提供给 TensorFlow 的所有参数都是有效的。"tensorflow.python.framework.errors_impl.invalidargumenterror" 是 TensorFlow 中的一个错误类型,通常表示输入参数不符合所需的格式或规范。这个错误可能会发生在训练模型时,也可能在模型运行时出现。 可能的原因包括输入数据的形状与模型期望的不匹配、数据类型不一致、输入数据中包含非法值等等。如果出现这个错误,需要仔细检查输入数据并确保其符合模型的要求。此外,也可以查看错误消息中的详细信息,以便更好地了解错误的原因和解决方法。 很抱歉,我不太明白您的问题。请您提出更加具体的问题,我会尽量回答。 抱歉,我无法理解你的问题。请尝试重新提问,或者提供更多的上下文信息。"tensorflow.python.framework.errors_impl.invalidargumenterror" 是 TensorFlow 框架中的一个错误类型,通常表示代码中的某些参数无效或不合法。可能的原因包括输入形状与期望不符、数据类型不匹配、不支持的操作等等。如果出现这个错误,建议检查一下代码中的输入参数是否符合要求,并确认代码中的各个操作都被正确地调用和连接。如果问题仍然存在,可以进一步查看错误信息中的具体提示,以确定出错的原因和位置,进而进行修复。很抱歉,我不确定您的问题的具体内容。 但是,这个错误通常与TensorFlow框架相关,并指示某些参数或输入不正确或无效。 要解决此错误,您可以考虑检查您的TensorFlow代码或模型的输入和参数,并确保它们符合TensorFlow的要求。 您还可以查看TensorFlow的文档和社区支持以获取更多信息和解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值