Opened 4 years ago

Closed 4 years ago

#52383 closed defect (fixed)

gpgme 1.7.0: no type named 'shared_ptr' in namespace 'std'

Reported by: mojca (Mojca Miklavec) Owned by: dbevans (David B. Evans)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: gpgme


Installing gpgme 1.7.0 fails on 10.7 with:

/bin/sh ../../../libtool  --tag=CXX   --mode=compile /usr/bin/clang++ -std=c++11 -DHAVE_CONFIG_H -I. -I../../..  -I../../../src -I/opt/local/include -I/opt/local/include -DBUILDING_GPGMEPP -I/opt/local/include  -pipe -Os -stdlib=libstdc++ -arch x86_64 -MT context.lo -MD -MP -MF .deps/context.Tpo -c -o context.lo context.cpp
libtool: compile:  /usr/bin/clang++ -std=c++11 -DHAVE_CONFIG_H -I. -I../../.. -I../../../src -I/opt/local/include -I/opt/local/include -DBUILDING_GPGMEPP -I/opt/local/include -pipe -Os -stdlib=libstdc++ -arch x86_64 -MT context.lo -MD -MP -MF .deps/context.Tpo -c context.cpp  -fno-common -DPIC -o .libs/context.o
In file included from context.cpp:23:
In file included from ./context.h:30:
./verificationresult.h:77:10: error: no type named 'shared_ptr' in namespace 'std'
    std::shared_ptr<Private> d;
./verificationresult.h:77:20: error: expected member name or ';' after declaration specifiers
    std::shared_ptr<Private> d;

This might be connected with libstdc++ (i.e. no proper support for C++11), but I didn't try to investigate any further yet.

Attachments (1)

main.log (175.8 KB) - added by mojca (Mojca Miklavec) 4 years ago.

Download all attachments as: .zip

Change History (5)

Changed 4 years ago by mojca (Mojca Miklavec)

Attachment: main.log added

comment:1 Changed 4 years ago by dbevans (David B. Evans)

Yes, it looks like it requires libc++. Guess I should add the cxx11 portgroup.

comment:2 Changed 4 years ago by dbevans (David B. Evans)

Status: newassigned

comment:3 Changed 4 years ago by oliver.ruben@…

I can confirm the same problem on 10.8.5.

comment:4 Changed 4 years ago by dbevans (David B. Evans)

Resolution: fixed
Status: assignedclosed

Workaround committed in r153382, cpp bindings are only built if libc++ is the default C++ stdlib (typically 10.9+), C language API is built in all cases. Now builds on all buildbots 10.6+.

Note: See TracTickets for help on using tickets.