申请人找不到“GLIBC_2.16”

时间:2017-10-30 09:28:06

标签: linux embedded-linux glibc

我正在尝试为基于Linux的自定义设备开发应用程序。我的构建环境(Ubuntu 16.04)使用GLIBC-2.23,所有其他应用程序都使用此版本,但新的自定义设备使用旧版本的GLIBC,所以我得到了

import {Component} from '@angular/core';
import {FormControl, FormGroup} from '@angular/forms';

@Component({
  selector: 'example-app',
  template: `
    <form [formGroup]="form">
      <select formControlName="state">
        <option *ngFor="let state of states" [ngValue]="state">
          {{ state.abbrev }}
        </option>
      </select>
    </form>

       <p>Form value: {{ form.value | json }}</p> 
       <!-- {state: {name: 'New York', abbrev: 'NY'} } -->
    `,
})
export class ReactiveSelectComp {
  states = [
    {name: 'Arizona', abbrev: 'AZ'},
    {name: 'California', abbrev: 'CA'},
    {name: 'Colorado', abbrev: 'CO'},
    {name: 'New York', abbrev: 'NY'},
    {name: 'Pennsylvania', abbrev: 'PA'},
  ];

  form = new FormGroup({
    state: new FormControl(this.states[3]),
  });
}

我无法更改构建环境,也无法更新自定义设备GLIBC。

所以,卡住了。 也许我可以将新的glibc版本链接到我的应用程序明确但我不知道我该怎么做?

我试过以下但是同样的

/lib/libc.so.6: version `GLIBC_2.16' not found (required by /opt/myapp/lib/libcurl.so.4)

任何想法。

1 个答案:

答案 0 :(得分:0)

  

我无法更改构建环境

您确定可以以多种方式执行此操作,例如:

  1. 安装配置为使用旧版GLIBC的虚拟机,在VM内部编译应用程序
  2. 使用较旧的GLIBC和工具链配置chroot环境
  3. 构建一个linux-to-old GLIBC交叉编译器。
  4.   

    也许我可以将新的glibc版本与我的应用程序链接

    这是可能的,但更复杂。详情here