On 8/07/2022 9:05 pm, Richard Purdie wrote:
On Tue, 2022-07-05 at 21:01 -0700, mfum...@electromag.com.au wrote:
Hello there,
It isn't due to EOVERFLOW but make_file_type function in libstdc++-
v3\src\filesystem\ops-common.h always returns file_type::unknown.
It's because _GLIBCXX_HAVE_S_ISREG isn't defined.
I found HAVE_S_ISREG at libstdc++-v3/config.h isn't set properly.
It's caused by a configure failure below to tell if S_ISREG exists on
the target.
gcc/arm-emit-linux-gnueabi/11.3.0/ld: error: tmp-
glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/11.3.0-
r0/dummylib/libstdc++.so: file is empty
collect2: error: ld returned 1 exit status
configure:15686: $? = 1
It complains dummylib/libstdc++.so is empty, configure failed then
wrongly considered S_ISREG doesn't exist.
This seems related to the following commit.
https://github.com/openembedded/openembedded-core/commit/34b0edb0d3120c32063ff7e3dd52be20d60401d5
Reverting this commit rectifies this issue but not sure what's the
proper fix?
Any help appreciated.
There is some piece we're still not understanding. I had a look at my
local build (master so gcc 12.1) and I see HAVE_S_ISREG is set
correctly, I don't see any "file is empty" message.
Are you able to reproduce this on master? Which linker are you using?
G'day Richard,
I've update to master and tried this. Still get a "file is empty" error during
configure. See log snippet below.
Tried to capture the ld version here:
wait4(23043,
/home/preid/dev/v2022.05/tmp-glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/12.1.0-r0/recipe-sysroot-native/usr/bin/arm-emit-linux-gnueabi/../../libexec/arm-emit-linux-gnueabi/gcc/arm-emit-linux-gnueabi/12.1.0/ld:
error:
/home/preid/dev/v2022.05/tmp-glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/12.1.0-r0/dummylib/libstdc++.so:
file is empty
collect2: error: ld returned 1 exit status
/home/preid/dev/v2022.05/tmp-glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/12.1.0-r0/recipe-sysroot-native/usr/bin/arm-emit-linux-gnueabi/../../libexec/arm-emit-linux-gnueabi/gcc/arm-emit-linux-gnueabi/12.1.0/ld
--version
GNU gold (GNU Binutils 2.38.20220516) 1.16
Copyright (C) 2022 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.
Hope that helps.
configure:15660: arm-emit-linux-gnueabi-g++ -mthumb -mfpu=neon -mfloat-abi=hard
-mcpu=cortex-a9
--sysroot=/home/preid/dev/v2022.05/tmp-glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/12.1.0-r0/recipe-sysroot
-nostdinc++
-L/home/preid/dev/v2022.05/tmp-glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/12.1.0-r0/dummylib
-o conftest -O2 -pipe -g -feliminate-unused-debug-types
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/12.1.0-r0/recipe-sysroot=
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/12.1.0-r0/recipe-sysroot-native=
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work-shared/gcc-12.1.0-r0/gcc-12.1.0=/usr/src/debug/gcc-runtime/12.1.0-r0
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work-shared/gcc-12.1.0-r0/gcc-12.1.0/include=/usr/src/debug/gcc-runtime/12.1.0-r0/libstdc++-v3/../include
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work-shared/gcc-12.1.0-r0/gcc-12.1.0/libiberty=/usr/src/debug/gcc-runtime/12.1.0-r0/libstdc++-v3/../libiberty
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work-shared/gcc-12.1.0-r0/gcc-12.1.0/libgcc=/usr/src/debug/gcc-runtime/12.1.0-r0/libstdc++-v3/../libgcc
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/12.1.0-r0/gcc-12.1.0/build.arm-emit-linux-gnueabi.arm-emit-linux-gnueabi=/usr/src/debug/gcc-runtime/12.1.0-r0
-ffile-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/12.1.0-r0/gcc-12.1.0/build.arm-emit-linux-gnueabi.arm-emit-linux-gnueabi/arm-emit-linux-gnueabi/libstdc++-v3/include=/usr/include/c++/12.1.0
-fno-exceptions -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/12.1.0-r0/recipe-sysroot=
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/12.1.0-r0/recipe-sysroot-native=
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work-shared/gcc-12.1.0-r0/gcc-12.1.0=/usr/src/debug/gcc-runtime/12.1.0-r0
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work-shared/gcc-12.1.0-r0/gcc-12.1.0/include=/usr/src/debug/gcc-runtime/12.1.0-r0/libstdc++-v3/../include
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work-shared/gcc-12.1.0-r0/gcc-12.1.0/libiberty=/usr/src/debug/gcc-runtime/12.1.0-r0/libstdc++-v3/../libiberty
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work-shared/gcc-12.1.0-r0/gcc-12.1.0/libgcc=/usr/src/debug/gcc-runtime/12.1.0-r0/libstdc++-v3/../libgcc
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/12.1.0-r0/gcc-12.1.0/build.arm-emit-linux-gnueabi.arm-emit-linux-gnueabi=/usr/src/debug/gcc-runtime/12.1.0-r0
-ffile-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/12.1.0-r0/gcc-12.1.0/build.arm-emit-linux-gnueabi.arm-emit-linux-gnueabi/arm-emit-linux-gnueabi/libstdc++-v3/include=/usr/include/c++/12.1.0
conftest.cpp >&5
/home/preid/dev/v2022.05/tmp-glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/12.1.0-r0/recipe-sysroot-native/usr/bin/arm-emit-linux-gnueabi/../../libexec/arm-emit-linux-gnueabi/gcc/arm-emit-linux-gnueabi/12.1.0/ld:
error:
/home/preid/dev/v2022.05/tmp-glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/12.1.0-r0/dummylib/libstdc++.so:
file is empty
collect2: error: ld returned 1 exit status
configure:15660: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "package-unused"
| #define PACKAGE_TARNAME "libstdc++"
| #define PACKAGE_VERSION "version-unused"
| #define PACKAGE_STRING "package-unused version-unused"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define _FILE_OFFSET_BITS 64
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| #define _GLIBCXX_HOSTED 1
| #define _GLIBCXX_VERBOSE 1
| #define HAVE_ATOMIC_LOCK_POLICY 1
| #define HAVE_STRXFRM_L 1
| #define HAVE_STRERROR_L 1
| #define HAVE_STRERROR_R 1
| #define _GLIBCXX_USE_LONG_LONG 1
| #define HAVE_WCHAR_H 1
| #define HAVE_MBSTATE_T 1
| #define HAVE_WCTYPE_H 1
| #define _GLIBCXX_USE_WCHAR_T 1
| #define _GLIBCXX98_USE_C99_MATH 1
| #define HAVE_TGMATH_H 1
| #define HAVE_COMPLEX_H 1
| #define _GLIBCXX98_USE_C99_COMPLEX 1
| #define _GLIBCXX98_USE_C99_STDIO 1
| #define _GLIBCXX98_USE_C99_STDLIB 1
| #define HAVE_VFWSCANF 1
| #define HAVE_VSWSCANF 1
| #define HAVE_VWSCANF 1
| #define HAVE_WCSTOF 1
| #define HAVE_ISWBLANK 1
| #define _GLIBCXX98_USE_C99_WCHAR 1
| #define _GLIBCXX_USE_C99 1
| #define _GLIBCXX11_USE_C99_MATH 1
| #define HAVE_TGMATH_H 1
| #define HAVE_COMPLEX_H 1
| #define _GLIBCXX11_USE_C99_COMPLEX 1
| #define _GLIBCXX11_USE_C99_STDIO 1
| #define _GLIBCXX11_USE_C99_STDLIB 1
| #define HAVE_VFWSCANF 1
| #define HAVE_VSWSCANF 1
| #define HAVE_VWSCANF 1
| #define HAVE_WCSTOF 1
| #define HAVE_ISWBLANK 1
| #define _GLIBCXX11_USE_C99_WCHAR 1
| #define _GLIBCXX_FULLY_DYNAMIC_STRING 0
| #define HAVE_GETS 1
| #define HAVE_UCHAR_H 1
| #define _GLIBCXX_USE_C11_UCHAR_CXX11 1
| #define HAVE_SYS_IOCTL_H 1
| /* end confdefs.h. */
| #include <sys/stat.h>
| int
| main ()
| {
| struct stat buffer;
| fstat(0, &buffer);
| S_IFREG & buffer.st_mode;
| ;
| return 0;
| }
configure:15683: result: no
configure:15698: checking sys/uio.h usability
configure:15698: arm-emit-linux-gnueabi-gcc -mthumb -mfpu=neon -mfloat-abi=hard
-mcpu=cortex-a9
--sysroot=/home/preid/dev/v2022.05/tmp-glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/12.1.0-r0/recipe-sysroot
-c -O2 -pipe -g -feliminate-unused-debug-types
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/12.1.0-r0/recipe-sysroot=
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/12.1.0-r0/recipe-sysroot-native=
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work-shared/gcc-12.1.0-r0/gcc-12.1.0=/usr/src/debug/gcc-runtime/12.1.0-r0
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work-shared/gcc-12.1.0-r0/gcc-12.1.0/include=/usr/src/debug/gcc-runtime/12.1.0-r0/libstdc++-v3/../include
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work-shared/gcc-12.1.0-r0/gcc-12.1.0/libiberty=/usr/src/debug/gcc-runtime/12.1.0-r0/libstdc++-v3/../libiberty
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work-shared/gcc-12.1.0-r0/gcc-12.1.0/libgcc=/usr/src/debug/gcc-runtime/12.1.0-r0/libstdc++-v3/../libgcc
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/12.1.0-r0/gcc-12.1.0/build.arm-emit-linux-gnueabi.arm-emit-linux-gnueabi=/usr/src/debug/gcc-runtime/12.1.0-r0
-ffile-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/12.1.0-r0/gcc-12.1.0/build.arm-emit-linux-gnueabi.arm-emit-linux-gnueabi/arm-emit-linux-gnueabi/libstdc++-v3/include=/usr/include/c++/12.1.0
conftest.c >&5
configure:15698: $? = 0
configure:15698: result: yes
configure:15698: checking sys/uio.h presence
configure:15698: arm-emit-linux-gnueabi-gcc -E
--sysroot=/home/preid/dev/v2022.05/tmp-glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/12.1.0-r0/recipe-sysroot
-mthumb -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a9 conftest.c
configure:15698: $? = 0
configure:15698: result: yes
configure:15698: checking for sys/uio.h
configure:15698: result: yes
configure:15720: checking for writev
configure:15761: arm-emit-linux-gnueabi-g++ -mthumb -mfpu=neon -mfloat-abi=hard
-mcpu=cortex-a9
--sysroot=/home/preid/dev/v2022.05/tmp-glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/12.1.0-r0/recipe-sysroot
-nostdinc++
-L/home/preid/dev/v2022.05/tmp-glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/12.1.0-r0/dummylib
-o conftest -O2 -pipe -g -feliminate-unused-debug-types
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/12.1.0-r0/recipe-sysroot=
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/12.1.0-r0/recipe-sysroot-native=
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work-shared/gcc-12.1.0-r0/gcc-12.1.0=/usr/src/debug/gcc-runtime/12.1.0-r0
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work-shared/gcc-12.1.0-r0/gcc-12.1.0/include=/usr/src/debug/gcc-runtime/12.1.0-r0/libstdc++-v3/../include
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work-shared/gcc-12.1.0-r0/gcc-12.1.0/libiberty=/usr/src/debug/gcc-runtime/12.1.0-r0/libstdc++-v3/../libiberty
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work-shared/gcc-12.1.0-r0/gcc-12.1.0/libgcc=/usr/src/debug/gcc-runtime/12.1.0-r0/libstdc++-v3/../libgcc
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/12.1.0-r0/gcc-12.1.0/build.arm-emit-linux-gnueabi.arm-emit-linux-gnueabi=/usr/src/debug/gcc-runtime/12.1.0-r0
-ffile-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/12.1.0-r0/gcc-12.1.0/build.arm-emit-linux-gnueabi.arm-emit-linux-gnueabi/arm-emit-linux-gnueabi/libstdc++-v3/include=/usr/include/c++/12.1.0
-fno-exceptions -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/12.1.0-r0/recipe-sysroot=
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/12.1.0-r0/recipe-sysroot-native=
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work-shared/gcc-12.1.0-r0/gcc-12.1.0=/usr/src/debug/gcc-runtime/12.1.0-r0
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work-shared/gcc-12.1.0-r0/gcc-12.1.0/include=/usr/src/debug/gcc-runtime/12.1.0-r0/libstdc++-v3/../include
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work-shared/gcc-12.1.0-r0/gcc-12.1.0/libiberty=/usr/src/debug/gcc-runtime/12.1.0-r0/libstdc++-v3/../libiberty
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work-shared/gcc-12.1.0-r0/gcc-12.1.0/libgcc=/usr/src/debug/gcc-runtime/12.1.0-r0/libstdc++-v3/../libgcc
-fdebug-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/12.1.0-r0/gcc-12.1.0/build.arm-emit-linux-gnueabi.arm-emit-linux-gnueabi=/usr/src/debug/gcc-runtime/12.1.0-r0
-ffile-prefix-map=/home/preid/dev/v2022.05/tmp-glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/12.1.0-r0/gcc-12.1.0/build.arm-emit-linux-gnueabi.arm-emit-linux-gnueabi/arm-emit-linux-gnueabi/libstdc++-v3/include=/usr/include/c++/12.1.0
conftest.cpp >&5
/home/preid/dev/v2022.05/tmp-glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/12.1.0-r0/recipe-sysroot-native/usr/bin/arm-emit-linux-gnueabi/../../libexec/arm-emit-linux-gnueabi/gcc/arm-emit-linux-gnueabi/12.1.0/ld:
error:
/home/preid/dev/v2022.05/tmp-glibc/work/cortexa9t2hf-neon-emit-linux-gnueabi/gcc-runtime/12.1.0-r0/dummylib/libstdc++.so:
file is empty
collect2: error: ld returned 1 exit status
configure:15761: $? = 1
--
Regards
Phil Reid
ElectroMagnetic Imaging Technology Pty Ltd
Development of Geophysical Instrumentation & Software
www.electromag.com.au
23 Junction Parade, Midland WA 6056, AUSTRALIA
Ph: +61 8 9250 8100
Fax: +61 8 9250 7100
Email: pr...@electromag.com.au
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#167894):
https://lists.openembedded.org/g/openembedded-core/message/167894
Mute This Topic: https://lists.openembedded.org/mt/92099905/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-