Opened 3 months ago

Last modified 2 months ago

#57242 assigned defect

ragel @7.0.0.11: libstdc++ not available on Mojave

Reported by: pguyot (Paul Guyot) Owned by: stromnov (Andrew Stromnov)
Priority: Normal Milestone:
Component: ports Version:
Keywords: mojave Cc: libsystem-ethan
Port: ragel

Description

ragel depends on libstdc++ because colm generates (unused for ragel) includes of ext/stdio_filebuf.h

This is commented in Portfile:

# fatal error: 'ext/stdio_filebuf.h' file not found
configure.cxx_stdlib libstdc++

libstdc++ is not installed on Mojave and build fails:

...
libtool: compile:  /usr/bin/clang++ -DHAVE_CONFIG_H -I. -I../aapl -I/opt/local/include -isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.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-fsmgraph.lo -MD -MP -MF .deps/libfsm_la-fsmgraph.Tpo -c fsmgraph.cc  -fno-common -DPIC -o .libs/libfsm_la-fsmgraph.o
warning: include path for stdlibc++ headers not found; pass '-std=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
warning: include path for stdlibc++ headers not found; pass '-std=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
warning: include path for stdlibc++ headers not found; pass '-std=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
warning: include path for stdlibc++ headers not found; pass '-std=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
warning: warninginclude path for stdlibc++ headers not found; pass '-std=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]: 
include path for stdlibc++ headers not found; pass '-std=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
warningwarning: include path for stdlibc++ headers not found; pass '-std=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
: include path for stdlibc++ headers not found; pass '-std=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
In file included from fsmap.cc:23:
In file included from ./fsmgraph.h:27:
./ragel.h:27:10: fatal error: 'iostream' file not found
#include <iostream>
         ^~~~~~~~~~
...

Not sure if colm should be patched.

Change History (6)

comment:1 Changed 3 months ago by stromnov (Andrew Stromnov)

Please, try to comment out configure.cxx_stdlib line and use configure.compiler=macports-gcc-6 or higher.

comment:2 Changed 3 months ago by pguyot (Paul Guyot)

Thank you! Indeed it works with gcc6.

You probably meant configure.compiler macports-gcc-6.

comment:3 in reply to:  2 Changed 3 months ago by ryandesign (Ryan Schmidt)

Replying to pguyot:

ragel depends on libstdc++ because colm generates (unused for ragel) includes of ext/stdio_filebuf.h

I've reported the problem to the colm mailing list.

Replying to pguyot:

Thank you! Indeed it works with gcc6.

You probably meant configure.compiler macports-gcc-6.

At the command line, the syntax is configure.compiler=macports-gcc-6. In the Portfile, the syntax is configure.compiler macports-gcc-6.

comment:4 Changed 3 months ago by pguyot (Paul Guyot)

Didn't know you could pass options like this on the command line. Thanks for the insight!

comment:5 Changed 3 months ago by mf2k (Frank Schima)

Cc: stromnov@… removed
Owner: set to stromnov
Status: newassigned

comment:6 Changed 2 months ago by libsystem-ethan

Cc: libsystem-ethan added
Note: See TracTickets for help on using tickets.