Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

latest 1.14.0 release fails to build on armv7hl #4840

Closed
david-geiger opened this issue Jan 7, 2025 · 7 comments · Fixed by #4849
Closed

latest 1.14.0 release fails to build on armv7hl #4840

david-geiger opened this issue Jan 7, 2025 · 7 comments · Fixed by #4849
Assignees
Labels

Comments

@david-geiger
Copy link

david-geiger commented Jan 7, 2025

Hi,

On Mageia Cauldron latest 1.14.0 release fails to build on armv7hl with the following build issue:

FAILED: lib/libPocoDataODBC.so.110
: && /usr/bin/g++ -fPIC -O2 -g -pipe -Wformat -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard -DNDEBUG -Wl,--as-needed -Wl,--no-undefined -Wl,-z,relro -Wl,-z,now -Wl,-O1 -Wl,--build-id=sha1 -Wl,--enable-new-dtags -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,--dependency-file=Data/ODBC/CMakeFiles/DataODBC.dir/link.d -shared -Wl,-soname,libPocoDataODBC.so.110 -o lib/libPocoDataODBC.so.110 Data/ODBC/CMakeFiles/DataODBC.dir/src/Binder.cpp.o Data/ODBC/CMakeFiles/DataODBC.dir/src/ConnectionHandle.cpp.o Data/ODBC/CMakeFiles/DataODBC.dir/src/Connector.cpp.o Data/ODBC/CMakeFiles/DataODBC.dir/src/EnvironmentHandle.cpp.o Data/ODBC/CMakeFiles/DataODBC.dir/src/Extractor.cpp.o Data/ODBC/CMakeFiles/DataODBC.dir/src/ODBCException.cpp.o Data/ODBC/CMakeFiles/DataODBC.dir/src/ODBCMetaColumn.cpp.o Data/ODBC/CMakeFiles/DataODBC.dir/src/ODBCStatementImpl.cpp.o Data/ODBC/CMakeFiles/DataODBC.dir/src/Parameter.cpp.o Data/ODBC/CMakeFiles/DataODBC.dir/src/Preparator.cpp.o Data/ODBC/CMakeFiles/DataODBC.dir/src/SessionImpl.cpp.o Data/ODBC/CMakeFiles/DataODBC.dir/src/TypeInfo.cpp.o Data/ODBC/CMakeFiles/DataODBC.dir/src/Unicode.cpp.o Data/ODBC/CMakeFiles/DataODBC.dir/src/Utility.cpp.o -Wl,-rpath,/home/iurt/rpmbuild/BUILD/poco-1.14.0-build/poco-poco-1.14.0-release/build/lib: lib/libPocoData.so.110 /usr/lib/libodbc.so lib/libPocoFoundation.so.110 /lib/libpcre2-8.so /usr/lib/libz.so /usr/lib/libutf8proc.so -lpthread -ldl -lrt && :
/usr/bin/ld: Data/ODBC/CMakeFiles/DataODBC.dir/src/ConnectionHandle.cpp.o:(.data.rel.ro+0x0): multiple definition of `typeinfo for Poco::Data::ODBC::HandleException<void*, (short)1>'; Data/ODBC/CMakeFiles/DataODBC.dir/src/Binder.cpp.o:(.data.rel.ro+0x0): first defined here

Attchaed full build log:
build.armv7hl.0.20250106193405.log

@matejk
Copy link
Contributor

matejk commented Jan 8, 2025

CMake configure command:

/usr/bin/cmake -Wno-dev -S . -B build -DCMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-DNDEBUG -DCMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-DNDEBUG -DCMAKE_CXX_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_C_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_INSTALL_DO_STRIP:BOOL=OFF -DCMAKE_INSTALL_LIBDIR:PATH=lib -DCMAKE_INSTALL_LIBEXECDIR:PATH=libexec -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_INSTALL_RUNSTATEDIR:PATH=/run -DCMAKE_INSTALL_SYSCONFDIR:PATH=/etc -DINCLUDE_INSTALL_DIR:PATH=/usr/include -DLIB_INSTALL_DIR:PATH=/usr/lib -DSYSCONF_INSTALL_DIR:PATH=/etc -DSHARE_INSTALL_PREFIX:PATH=/usr/share -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON '-DCMAKE_MODULE_LINKER_FLAGS=-Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-O1 -Wl,--build-id=sha1 -Wl,--enable-new-dtags -specs=/usr/lib/rpm/redhat/redhat-hardened-ld' -DBUILD_SHARED_LIBS:BOOL=ON -DBUILD_STATIC_LIBS:BOOL=OFF -GNinja -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DPOCO_UNBUNDLED=ON -DENABLE_TESTS=ON -DENABLE_PDF=ON -DENABLE_CPPPARSER=ON -DENABLE_ENCODINGS_COMPILER=ON

-- Poco package version: 1.14.0
-- Building dynamic libraries
-- [cmake] Installation target path: /usr
-- [cmake] Build for OS type:      Linux
-- [cmake] Build for OS version:   6.6.14-desktop-2.mga9
-- [cmake] Build for CPU type:     armv8l
-- [cmake] Build type:             RelWithDebInfo
-- [cmake] Build with C++ flags:   -DNDEBUG -O2 -g -pipe -Wformat -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard
-- [cmake] Build with C flags:     -DNDEBUG -O2 -g -pipe -Wformat -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -march=armv7-a -mfpu=vfpv3-d16 -mtune=generic-armv7-a -mabi=aapcs-linux -mfloat-abi=hard
-- [cmake] C++ symbol visibility:  
-- Building: Encodings
-- Building: XML
-- Building: JSON
-- Building: Util
-- Building: Net
-- Building: MongoDB
-- Building: Redis
-- Building: Prometheus
-- Building: PDF
-- Building: JWT
-- Building: NetSSL_OpenSSL
-- Building: Crypto
-- Building: Data
-- Building: Data/SQLite
-- Building: Data/MySQL
-- Building: Data/PostgreSQL
-- Building: ActiveRecord
-- Building: ActiveRecordCompiler
-- Building: Zip
-- Building: CppParser
-- Building: PageCompiler
-- Building: File2Page
-- Building: EncodingsCompiler

@matejk
Copy link
Contributor

matejk commented Jan 8, 2025

Many patches are applied to Poco sources:

+ /usr/lib/rpm/rpmuncompress /home/iurt/rpmbuild/SOURCES/0001-feat-Format-add-support-for-g-and-G-format-specifier.patch
+ /usr/bin/git apply --index --reject -
<stdin>:42: trailing whitespace.
				case 'g': 
<stdin>:43: trailing whitespace.
				case 'G': 
Checking patch Foundation/include/Poco/Format.h...
Checking patch Foundation/src/Format.cpp...
Applied patch Foundation/include/Poco/Format.h cleanly.
Applied patch Foundation/src/Format.cpp cleanly.
warning: 2 lines add whitespace errors.
+ GIT_COMMITTER_DATE=@1736192099
+ GIT_AUTHOR_DATE=@1736192099
+ /usr/bin/git commit -q -m 0001-feat-Format-add-support-for-g-and-G-format-specifier.patch --author 'rpm-build <rpm-build>'
+ /usr/lib/rpm/rpmuncompress /home/iurt/rpmbuild/SOURCES/0002-test-Format-test-shortest-representation-format-spec.patch
+ /usr/bin/git apply --index --reject -
Checking patch Foundation/testsuite/src/FormatTest.cpp...
Checking patch Foundation/testsuite/src/FormatTest.h...
Applied patch Foundation/testsuite/src/FormatTest.cpp cleanly.
Applied patch Foundation/testsuite/src/FormatTest.h cleanly.
+ GIT_COMMITTER_DATE=@1736192099
+ GIT_AUTHOR_DATE=@1736192099
+ /usr/bin/git commit -q -m 0002-test-Format-test-shortest-representation-format-spec.patch --author 'rpm-build <rpm-build>'
+ /usr/lib/rpm/rpmuncompress /home/iurt/rpmbuild/SOURCES/0003-fix-cmake-correct-typo-AVHAI-AVAHI-4805.patch
+ /usr/bin/git apply --index --reject -
Checking patch DNSSD/CMakeLists.txt...
Applied patch DNSSD/CMakeLists.txt cleanly.
+ GIT_COMMITTER_DATE=@1736192099
+ GIT_AUTHOR_DATE=@1736192099
+ /usr/bin/git commit -q -m 0003-fix-cmake-correct-typo-AVHAI-AVAHI-4805.patch --author 'rpm-build <rpm-build>'
+ /usr/lib/rpm/rpmuncompress /home/iurt/rpmbuild/SOURCES/0004-fix-cmake-remove-libatomic-dependency-4811.patch
+ /usr/bin/git apply --index --reject -
Checking patch Foundation/CMakeLists.txt...
Applied patch Foundation/CMakeLists.txt cleanly.
+ GIT_COMMITTER_DATE=@1736192099
+ GIT_AUTHOR_DATE=@1736192099
+ /usr/bin/git commit -q -m 0004-fix-cmake-remove-libatomic-dependency-4811.patch --author 'rpm-build <rpm-build>'
+ /usr/bin/git apply --index --reject -
+ /usr/lib/rpm/rpmuncompress /home/iurt/rpmbuild/SOURCES/0005-CMake-fix-for-missing-utf8proc-with-unbundled-build-.patch
Checking patch .gitignore...
Checking patch CMakeLists.txt...
Checking patch Foundation/cmake/PocoFoundationConfig.cmake...
Applied patch .gitignore cleanly.
Applied patch CMakeLists.txt cleanly.
Applied patch Foundation/cmake/PocoFoundationConfig.cmake cleanly.
+ GIT_COMMITTER_DATE=@1736192099
+ GIT_AUTHOR_DATE=@1736192099
+ /usr/bin/git commit -q -m 0005-CMake-fix-for-missing-utf8proc-with-unbundled-build-.patch --author 'rpm-build <rpm-build>'
+ /usr/lib/rpm/rpmuncompress /home/iurt/rpmbuild/SOURCES/0006-fix-MongoDB-use-constants-instead-of-typed-enum-in-O.patch
+ /usr/bin/git apply --index --reject -
Checking patch MongoDB/include/Poco/MongoDB/OpMsgMessage.h...
Checking patch MongoDB/src/OpMsgMessage.cpp...
Applied patch MongoDB/include/Poco/MongoDB/OpMsgMessage.h cleanly.
Applied patch MongoDB/src/OpMsgMessage.cpp cleanly.
+ GIT_COMMITTER_DATE=@1736192099
+ GIT_AUTHOR_DATE=@1736192099
+ /usr/bin/git commit -q -m 0006-fix-MongoDB-use-constants-instead-of-typed-enum-in-O.patch --author 'rpm-build <rpm-build>'
+ /usr/lib/rpm/rpmuncompress /home/iurt/rpmbuild/SOURCES/0007-enh-Net-Poco-Net-HTTPResponse-add-replaceCookie-and-.patch
+ /usr/bin/git apply --index --reject -
<stdin>:61: trailing whitespace.
		/// Returns an iterator pointing to the end of 
<stdin>:103: trailing whitespace.
	
<stdin>:115: trailing whitespace.
	
<stdin>:127: trailing whitespace.
	
<stdin>:291: trailing whitespace.
	response.addCookie(cookie1); 
Checking patch Net/include/Poco/Net/HTTPResponse.h...
Checking patch Net/include/Poco/Net/NameValueCollection.h...
Checking patch Net/src/HTTPResponse.cpp...
Checking patch Net/src/NameValueCollection.cpp...
Checking patch Net/testsuite/src/HTTPResponseTest.cpp...
Checking patch Net/testsuite/src/HTTPResponseTest.h...
Applied patch Net/include/Poco/Net/HTTPResponse.h cleanly.
Applied patch Net/include/Poco/Net/NameValueCollection.h cleanly.
Applied patch Net/src/HTTPResponse.cpp cleanly.
Applied patch Net/src/NameValueCollection.cpp cleanly.
Applied patch Net/testsuite/src/HTTPResponseTest.cpp cleanly.
Applied patch Net/testsuite/src/HTTPResponseTest.h cleanly.
warning: 5 lines add whitespace errors.
+ GIT_COMMITTER_DATE=@1736192099
+ GIT_AUTHOR_DATE=@1736192099
+ /usr/bin/git commit -q -m 0007-enh-Net-Poco-Net-HTTPResponse-add-replaceCookie-and-.patch --author 'rpm-build <rpm-build>'
+ /usr/lib/rpm/rpmuncompress /home/iurt/rpmbuild/SOURCES/0008-feat-Poco-Zip-Check-archive-consistency-before-extra.patch
+ /usr/bin/git apply --index --reject -
<stdin>:194: trailing whitespace.
		
Checking patch Zip/include/Poco/Zip/Decompress.h...
Checking patch Zip/include/Poco/Zip/ZipArchive.h...
Checking patch Zip/src/Decompress.cpp...
Checking patch Zip/src/ZipArchive.cpp...
Checking patch Zip/testsuite/data/consistency-crc32.zip...
Checking patch Zip/testsuite/data/consistency-uncompressed.zip...
Checking patch Zip/testsuite/src/ZipTest.cpp...
Checking patch Zip/testsuite/src/ZipTest.h...
Applied patch Zip/include/Poco/Zip/Decompress.h cleanly.
Applied patch Zip/include/Poco/Zip/ZipArchive.h cleanly.
Applied patch Zip/src/Decompress.cpp cleanly.
Applied patch Zip/src/ZipArchive.cpp cleanly.
Applied patch Zip/testsuite/data/consistency-crc32.zip cleanly.
Applied patch Zip/testsuite/data/consistency-uncompressed.zip cleanly.
Applied patch Zip/testsuite/src/ZipTest.cpp cleanly.
Applied patch Zip/testsuite/src/ZipTest.h cleanly.
warning: 1 line adds whitespace errors.
+ GIT_COMMITTER_DATE=@1736192099
+ GIT_AUTHOR_DATE=@1736192099
+ /usr/bin/git commit -q -m 0008-feat-Poco-Zip-Check-archive-consistency-before-extra.patch --author 'rpm-build <rpm-build>'
+ /usr/lib/rpm/rpmuncompress /home/iurt/rpmbuild/SOURCES/0009-fix-CMake-Select-MSVC-runtime-library-with-variable-.patch
+ /usr/bin/git apply --index --reject -
Checking patch .github/workflows/ci.yml...
Checking patch CMakeLists.txt...
Checking patch Foundation/testsuite/CMakeLists.txt...
Checking patch cmake/DefinePlatformSpecific.cmake...
Applied patch .github/workflows/ci.yml cleanly.
Applied patch CMakeLists.txt cleanly.
Applied patch Foundation/testsuite/CMakeLists.txt cleanly.
Applied patch cmake/DefinePlatformSpecific.cmake cleanly.

@matejk
Copy link
Contributor

matejk commented Jan 8, 2025

@david-geiger Do the original sources (un-patched) compile?

@david-geiger
Copy link
Author

No original sources w/o any patches fails to build too:

build.armv7hl.0.20250106165007.log

@matejk
Copy link
Contributor

matejk commented Jan 14, 2025

Explicit instantiation of templates is not implemented properly.

Strange that the problem did not occur on other platforms also.

@matejk
Copy link
Contributor

matejk commented Jan 14, 2025

@david-geiger, can you try compiling the code from the PR #4849. It should solve the problem.

@david-geiger
Copy link
Author

Confirmed now it build fine on all arches! Thanks

@matejk matejk moved this to Done in 1.14 Jan 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants