Comments (11)
CMake still wont compile.
Will try building it under chroot.
from cmlfs.
Nope. Stage 1 clang has "no C++11 support"
from cmlfs.
CMake still wont compile
As of commit 1d4aefb , CMake can bootstrap and configure but fails to build:
[ 91%] Building CXX object Source/CursesDialog/CMakeFiles/ccmake.dir/ccmake.cxx.o
In file included from /mnt/cmlfs/sources/cmake-3.25.1/Source/CursesDialog/ccmake.cxx:8:
In file included from /cgnutools/include/x86_64-pc-linux-musl/c++/v1/iostream:41:
In file included from /cgnutools/include/x86_64-pc-linux-musl/c++/v1/ios:221:
In file included from /cgnutools/include/x86_64-pc-linux-musl/c++/v1/__locale:18:
In file included from /cgnutools/include/x86_64-pc-linux-musl/c++/v1/memory:841:
In file included from /cgnutools/include/x86_64-pc-linux-musl/c++/v1/__algorithm/copy.h:12:
In file included from /cgnutools/include/x86_64-pc-linux-musl/c++/v1/__algorithm/unwrap_iter.h:13:
In file included from /cgnutools/include/x86_64-pc-linux-musl/c++/v1/__iterator/iterator_traits.h:14:
In file included from /cgnutools/include/x86_64-pc-linux-musl/c++/v1/__iterator/incrementable_traits.h:15:
In file included from /cgnutools/include/x86_64-pc-linux-musl/c++/v1/concepts:133:
In file included from /cgnutools/include/x86_64-pc-linux-musl/c++/v1/__concepts/arithmetic.h:15:
In file included from /cgnutools/include/x86_64-pc-linux-musl/c++/v1/type_traits:421:
In file included from /cgnutools/include/x86_64-pc-linux-musl/c++/v1/__functional/invoke.h:15:
In file included from /cgnutools/include/x86_64-pc-linux-musl/c++/v1/__type_traits/apply_cv.h:16:
In file included from /cgnutools/include/x86_64-pc-linux-musl/c++/v1/__type_traits/remove_reference.h:13:
/cgnutools/include/x86_64-pc-linux-musl/c++/v1/cstddef:50:9: error: no member named 'nullptr_t' in the global namespace
using ::nullptr_t;
~~^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
2 errors generated.
make[2]: *** [Source/CursesDialog/CMakeFiles/ccmake.dir/build.make:76: Source/CursesDialog/CMakeFiles/ccmake.dir/ccmake.cxx.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:2377: Source/CursesDialog/CMakeFiles/ccmake.dir/all] Error 2
make: *** [Makefile:166: all] Error 2
from cmlfs.
Looks like C Library implementation [by musl] has nullptr_t defined. Forced the libc++ headers to use musl's stddef.h
in place of libc++'s cstddef
:
Modified: /cgnutools/include/x86_64-pc-linux-musl/c++/v1/__type_traits/remove_reference.h
#ifndef _LIBCPP___TYPE_TRAITS_REMOVE_REFERENCE_H
#define _LIBCPP___TYPE_TRAITS_REMOVE_REFERENCE_H
#include <__config>
//#include <cstddef>
#include <stddef.h>
Modified: /cgnutools/include/x86_64-pc-linux-musl/c++/v1/__type_traits/apply_cv.h
#ifndef _LIBCPP___TYPE_TRAITS_APPLY_CV_H
#define _LIBCPP___TYPE_TRAITS_APPLY_CV_H
#include <__config>
#include <__type_traits/integral_constant.h>
#include <__type_traits/is_const.h>
#include <__type_traits/is_volatile.h>
#include <__type_traits/remove_reference.h>
//#include <cstddef>
#include <stddef.h>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
#endif
_LIBCPP_BEGIN_NAMESPACE_STD
from cmlfs.
Each time i modify a libc++ header, cmake builds further.... modified these libc++ headers as well:
I'll just use a link to replace cstddef with stddef.h
/cgnutools/include/x86_64-pc-linux-musl/c++/v1/__type_traits/is_array.h
/cgnutools/include/x86_64-pc-linux-musl/c++/v1/__type_traits/remove_extent.h
/cgnutools/include/x86_64-pc-linux-musl/c++/v1/__type_traits/is_member_function_pointer.h
from cmlfs.
Number of headers to modify continues to grow... Perhaps, use a link to replace cstddef with musl's stddef.h ?
ln -sv ../../../stddef.h /cgnutools/include/x86_64-pc-linux-musl/c++/v1/cstddef
from cmlfs.
Looks like a libc++ header needs musl's stddef.h
added:
/cgnutools/include/x86_64-pc-linux-musl/c++/v1/__type_traits/is_fundamental.h
from cmlfs.
New road block:
[ 0%] Building CXX object Source/kwsys/CMakeFiles/cmsys.dir/Directory.cxx.o
In file included from /mnt/cmlfs/sources/cmake-3.25.1/Source/kwsys/Directory.cxx:4:
In file included from /mnt/cmlfs/sources/cmake-3.25.1/Source/cmsys/Directory.hxx:7:
In file included from /mnt/cmlfs/sources/cmake-3.25.1/Source/cmsys/Status.hxx:8:
In file included from /cgnutools/include/x86_64-pc-linux-musl/c++/v1/string:519:
In file included from /cgnutools/include/x86_64-pc-linux-musl/c++/v1/__algorithm/max.h:13:
In file included from /cgnutools/include/x86_64-pc-linux-musl/c++/v1/__algorithm/comp_ref_type.h:13:
In file included from /cgnutools/include/x86_64-pc-linux-musl/c++/v1/__debug:16:
In file included from /cgnutools/include/x86_64-pc-linux-musl/c++/v1/type_traits:452:
In file included from /cgnutools/include/x86_64-pc-linux-musl/c++/v1/__type_traits/is_compound.h:14:
In file included from /cgnutools/include/x86_64-pc-linux-musl/c++/v1/__type_traits/is_fundamental.h:14:
/cgnutools/include/x86_64-pc-linux-musl/c++/v1/__type_traits/is_null_pointer.h:24:49: error: use of undeclared identifier 'nullptr_t'; did you mean 'nullptr'?
template <> struct __is_nullptr_t_impl<nullptr_t> : public true_type {};
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
2 errors generated.
make[3]: *** [Source/kwsys/CMakeFiles/cmsys.dir/build.make:174: Source/kwsys/CMakeFiles/cmsys.dir/Directory.cxx.o] Error 1
make[2]: *** [CMakeFiles/Makefile2:1524: Source/kwsys/CMakeFiles/cmsys.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:2384: Source/CursesDialog/CMakeFiles/ccmake.dir/rule] Error 2
make: *** [Makefile:953: ccmake] Error 2
from cmlfs.
Modified header to use libc++'s cstddef? Since I renamed the real libc++ header as cstddef.orig then made a link of cstddef to point to musl's stddef.h, I added #include <cstddef.orig>
to the following libc++ header:
/cgnutools/include/x86_64-pc-linux-musl/c++/v1/__type_traits/is_null_pointer.h
from cmlfs.
No. Problem just got re-routed:
/cgnutools/include/x86_64-pc-linux-musl/c++/v1/cstddef.orig:50:9: error: no member named 'nullptr_t' in the global namespace
using ::nullptr_t;
~~^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
2 errors generated.
make[3]: *** [Source/CursesDialog/CMakeFiles/ccmake.dir/build.make:76: Source/CursesDialog/CMakeFiles/ccmake.dir/ccmake.cxx.o] Error 1
make[2]: *** [CMakeFiles/Makefile2:2377: Source/CursesDialog/CMakeFiles/ccmake.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:2384: Source/CursesDialog/CMakeFiles/ccmake.dir/rule] Error 2
make: *** [Makefile:953: ccmake] Error 2
from cmlfs.
So CMake wont cross compile. BUT compiles fine under chroot!
from cmlfs.
Related Issues (20)
- References to `systemctl` during boot HOT 2
- utmps utmpx.h already includes utmps/utmpx.h HOT 4
- i686 (cross-compile on amd64): Python3 Build stalls under Chroot HOT 10
- Could we also have Heirloom NG as an alternative to GNU Coreutils in the future? HOT 63
- Python3 need to be rebuilt after final system clang is built HOT 8
- Clarity on CMLFS_TARGET at 1-cgnutools/4-musl HOT 2
- Compiler Warning: "-fuse-ld=' taking a path is deprecated"
- LLVM Compilation Failed HOT 1
- Unable to Compile Kernel HOT 25
- What are the packages that cannot be build without GCC? HOT 4
- Fail at Stage-0 (1-Mussel) HOT 6
- What is the state of CMLFS methods for cross-compiling? HOT 34
- Patch for musl's utmp.h is incomplete HOT 5
- OpenSSL needs certificates HOT 1
- LLVM-17.0.5: Stage 2 Clang has sysroot set as /llvmtools HOT 11
- Udev [from systemd] wont configure for final system; expects util-linux installed HOT 2
- Mention of `systemd-hwdb` when executing `udevadm` HOT 1
- Drop GNU's cpio for bsdcpio [provided by libarchive] HOT 14
- Autotools Broken -- `autoreconf` runs but exits with errors HOT 1
- Binutils: libctf fails to compile HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cmlfs.