[devel] Openjdk buid failed - undefined reference to `operator new(unsigned long)'

Ivan Zakharyaschev imz на altlinux.org
Чт Сен 28 15:54:29 MSK 2017


Hello!

On Thu, 28 Sep 2017, Evgeniy Korneechev wrote:

> Собираю openjdk (для Zimbra), но что-то я встрял - собственно ошибка в сабже

А чем не устраивает 
https://packages.altlinux.org/en/Sisyphus/srpms/java-1.8.0-openjdk/patches 
?

Оно успешно собирается сейчас: 
http://git.altlinux.org/beehive/logs/Sisyphus-x86_64/latest/success/java-1.8.0-openjdk-0:1.8.0.71-alt7_1.b15jpp8

> Making adlc
> ../generated/adfiles/adlparse.o: In function `ADLParser::instr_parse()':
> ~/rpm/BUILD/openjdk-1.8.0u144b01/hotspot/src/share/vm/adlc/adlparse.cpp:153: undefined reference to `operator new(unsigned long)'
> ~/rpm/BUILD/openjdk-1.8.0u144b01/hotspot/src/share/vm/adlc/adlparse.cpp:286: undefined reference to `operator new(unsigned long)'
> ../generated/adfiles/adlparse.o: In function `ADLParser::adjust_set_rule(InstructForm*)':
> ~/rpm/BUILD/openjdk-1.8.0u144b01/hotspot/src/share/vm/adlc/adlparse.cpp:341: undefined reference to `operator new(unsigned long)'
> ~/rpm/BUILD/openjdk-1.8.0u144b01/hotspot/src/share/vm/adlc/adlparse.cpp:358: undefined reference to `operator new(unsigned long)'
> ~/rpm/BUILD/openjdk-1.8.0u144b01/hotspot/src/share/vm/adlc/adlparse.cpp:384: undefined reference to `operator new(unsigned long)'
> ../generated/adfiles/adlparse.o:~/rpm/BUILD/openjdk-1.8.0u144b01/hotspot/src/share/vm/adlc/adlparse.cpp:416: more undefined references to `operator new(unsigned long)' follow
> ../generated/adfiles/adlparse.o: In function `__static_initialization_and_destruction_0(int, int)':
> /usr/include/c++/5/iostream:74: undefined reference to `std::ios_base::Init::Init()'
> /usr/include/c++/5/iostream:74: undefined reference to `std::ios_base::Init::~Init()'
> ../generated/adfiles/adlparse.o: In function `PreHeaderForm::~PreHeaderForm()':
> ~/rpm/BUILD/openjdk-1.8.0u144b01/hotspot/src/share/vm/adlc/forms.hpp:496: undefined reference to `operator delete(void*)'
>
> Соответственно пытался добавить в CFLAGS -lstdc++: (или надо в CXXFLAGS? если да, туда от безысходности тоже пробовал)
> говорит: configure: WARNING: Ignoring CFLAGS(-lstdc++) found in environment. Use --with-extra-cflags
>
> Далее последовал совету:
> ./configure --prefix=/opt/zimbra/common '--with-extra-cflags=-O2 -g -lstdc++' --enable-unlimited-crypto --with-update-version=144 --with-build-number=b01 --with-milestone=zimbra
>
> все равно чего-то не хватает...
>
> $ rpm -qa *++*
> gcc-c++-common-1.4.20-alt1.noarch
> gcc5-c++-5.3.1-alt4.x86_64
> libstdc++5-devel-5.3.1-alt4.x86_64
> libstdc++5-devel-static-5.3.1-alt4.x86_64
> libstdc++6-6.3.1-alt2.x86_64
> libstdc++6-devel-6.3.1-alt2.x86_64
>
> Подскажите в чем может быть проблема то?
> PS gcc6-c++ - тоже пробовал, тож самое


-- 
Best regards,
Ivan


Подробная информация о списке рассылки Devel