Opened 6 years ago
Closed 5 years ago
#58321 closed defect (fixed)
ragel: fails to build with libstdc++ on macOS 10.14
Reported by: | ra1nb0w | Owned by: | stromnov (Andrey Stromnov) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.5.4 |
Keywords: | Cc: | ||
Port: | ragel |
Description
On macOS 10.14.4 18E226 and with Xcode 10.2 10E125
ragel fail to build with the following error
OSX10.14.sdk -pipe -Os -stdlib=libstdc++ -isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -arch x86_64 -MT libfsm_la-fsmattach.lo -MD -MP -MF .deps/libfsm_la-fsmattach.Tpo -c fsmattach.cc -fno-common -DPIC -o .libs/libfsm_la-fsmattach.o :info:build warning: include path for stdlibc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found] :info:build warning: include path for stdlibc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found] :info:build warning: include path for stdlibc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found] :info:build warning: include path for stdlibc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found] :info:build warning: include path for stdlibc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found] :info:build warning: include path for stdlibc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found] :info:build warning: include path for stdlibc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found] :info:build warning: include path for stdlibc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found] :info:build In file included from fsmap.cc:23: :info:build In file included from ./fsmgraph.h:27: :info:build ./ragel.hIn file included from idbase.cc:24: :info:build ./ragel.h:27:10: fatal error: 'iostream' file not found :info:build #include <iostream> :info:build ^~~~~~~~~~ :info:build In file included from fsmcond.cc:31:27:10: : :info:build In file included from ./fsmgraph.h:27: :info:build fatal error./ragel.h:27:10: fatal error: 'iostream' file not found :info:build #include <iostream> :info:build ^~~~~~~~~~ :info:build : 'iostream' file not found :info:build #include <iostream> :info:build ^~~~~~~~~~ :info:build In file included from fsmmin.cc:23: :info:build In file included from ./fsmgraph.h:27: :info:build ./ragel.h:27:10: fatal error: 'iostream' file not found :info:build #include <iostream> :info:build ^~~~~~~~~~ :info:build In file included from fsmbase.cc:23: :info:build In file included from ./fsmgraph.h:27: :info:build ./ragel.h:27:10: fatal error: 'iostream' file not found :info:build #include <iostream> :info:build ^~~~~~~~~~ :info:build In file included from fsmstate.cc:23: :info:build In file included from ./fsmgraph.h:27: :info:build ./ragel.h:27:10: fatal error: 'iostream' file not found :info:build #include <iostream> :info:build ^~~~~~~~~~ :info:build fsmgraph.cc:24:10: fatal error: 'iostream' file not found :info:build #include <iostream> :info:build ^~~~~~~~~~ :info:build In file included from fsmattach.cc:25: :info:build In file included from ./fsmgraph.h:27: :info:build ./ragel.h:27:10: fatal error: 'iostream' file not found :info:build #include <iostream> :info:build ^~~~~~~~~~ :info:build 1 warning and 1 error generated. :info:build 1 warning and 1 error generated. :info:build make[3]: *** [libfsm_la-fsmap.lo] Error 1 :info:build make[3]: *** Waiting for unfinished jobs.... :info:build 1 warning and 1 error generated. :info:build make[3]: *** [libfsm_la-fsmstate.lo] Error 1 :info:build 1 warning and 1 error generated. :info:build make[3]: *** [libfsm_la-fsmattach.lo] Error 1 :info:build 1 warning and 1 error generated. :info:build make[3]: *** [libfsm_la-fsmmin.lo] Error 1 :info:build 1 warning and 1 error generated. :info:build 1 warning and 1 error generated. :info:build 1 warning and 1 error generated. :info:build make[3]: *** [libfsm_la-fsmbase.lo] Error 1 :info:build make[3]: *** [libfsm_la-idbase.lo] Error 1 :info:build make[3]: *** [libfsm_la-fsmcond.lo] Error 1 :info:build make[3]: *** [libfsm_la-fsmgraph.lo] Error 1 :info:build make[3]: Leaving directory `/opt/local/var/macports/build/_Users_rainbow_sources_github_macports-ports_lang_ragel/ragel/work/ragel-7.0.0.11/src' :info:build make[2]: *** [all-recursive] Error 1 :info:build make[2]: Leaving directory `/opt/local/var/macports/build/_Users_rainbow_sources_github_macports-ports_lang_ragel/ragel/work/ragel-7.0.0.11/src' :info:build make[1]: *** [all] Error 2 :info:build make[1]: Leaving directory `/opt/local/var/macports/build/_Users_rainbow_sources_github_macports-ports_lang_ragel/ragel/work/ragel-7.0.0.11/src' :info:build make: *** [all-recursive] Error 1
Change History (11)
comment:1 Changed 6 years ago by ra1nb0w
Summary: | ragel: fail to build → ragel: fails to build |
---|
comment:2 Changed 6 years ago by mf2k (Frank Schima)
Cc: | stromnov removed |
---|---|
Owner: | set to stromnov |
Status: | new → assigned |
comment:3 Changed 6 years ago by ra1nb0w
comment:4 Changed 6 years ago by jmroot (Joshua Root)
Looks like Xcode 10 removed support for building against libstdc++.
comment:5 Changed 6 years ago by ra1nb0w
yes and if I use libc++ we come back to
fatal error: 'ext/stdio_filebuf.h' file not found
tracked on #40924. That file is gcc specific and in clang was removed.
At the moment I see only two solutions:
- back to compiler_blacklist_versions
- move back to stable (6.10) that build fine. I don't know why @stromnov moved to 7.0.0.11 (development). Maybe create ragel and ragel-devel
Anyway, I think that this problem will arise for many packages.
comment:6 Changed 6 years ago by essandess (Steve Smith)
Confirming the issue, and rolling back to 6.10 works in the meantime:
git clone --single-branch https://github.com/macports/macports-ports.git cd macports-ports/ git checkout 4b72f12e19e746d94db029eb72d78169e1bf7649 cd lang/ragel sudo port install
comment:7 Changed 6 years ago by ra1nb0w
thanks essandess for the report. Maybe we can move back the port seen that the maintainer didn't answer.
comment:8 Changed 6 years ago by cjones051073 (Chris Jones)
Forcing the use of libstdc++ as the current version of the ragel port does, is not a good idea for a number of reasons.
So the best solution would be to remove the lines
# fatal error: 'ext/stdio_filebuf.h' file not found configure.cxx_stdlib libstdc++
and then find some other solution to making the header available (such as simply providing a version of it under the MacPorts ${prefix}/include
comment:9 Changed 6 years ago by cjones051073 (Chris Jones)
comment:10 Changed 6 years ago by ra1nb0w
Sorry for the delay. The PR works fine on macOS 10.14.4.
Why do you created a new port for the library and don't use patchfiles? to make sdtio_filebuf.h
, and others in the future, usable by others?
thanks
comment:11 Changed 5 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Summary: | ragel: fails to build → ragel: fails to build with libstdc++ on macOS 10.14 |
The PR was merged so I assume this ticket can be closed.
thank you mf2k. Now I understood how to assign a ticket on trac ;-)