[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