unordered_set in Cython using Jupyter Notebook












1















I'm stuck trying to use unordered_sets in Cython in a Jupyter Notebook on my Mac.



%%cython -a -3
# distutils: language = c++
# cython: c_string_type=unicode, c_string_encoding=utf8
import cython
from libcpp.unordered_set cimport unordered_set

def test():
cdef unordered_set[int] s
return s


The above cell throws:
DistutilsExecError: command 'gcc' failed with exit status 1










share|improve this question




















  • 1





    If you look at the terminal window you started jupyter from, the gcc output should be there? FWIW this works fine on Windows with Visual C++

    – chrisb
    Jan 3 at 21:25
















1















I'm stuck trying to use unordered_sets in Cython in a Jupyter Notebook on my Mac.



%%cython -a -3
# distutils: language = c++
# cython: c_string_type=unicode, c_string_encoding=utf8
import cython
from libcpp.unordered_set cimport unordered_set

def test():
cdef unordered_set[int] s
return s


The above cell throws:
DistutilsExecError: command 'gcc' failed with exit status 1










share|improve this question




















  • 1





    If you look at the terminal window you started jupyter from, the gcc output should be there? FWIW this works fine on Windows with Visual C++

    – chrisb
    Jan 3 at 21:25














1












1








1








I'm stuck trying to use unordered_sets in Cython in a Jupyter Notebook on my Mac.



%%cython -a -3
# distutils: language = c++
# cython: c_string_type=unicode, c_string_encoding=utf8
import cython
from libcpp.unordered_set cimport unordered_set

def test():
cdef unordered_set[int] s
return s


The above cell throws:
DistutilsExecError: command 'gcc' failed with exit status 1










share|improve this question
















I'm stuck trying to use unordered_sets in Cython in a Jupyter Notebook on my Mac.



%%cython -a -3
# distutils: language = c++
# cython: c_string_type=unicode, c_string_encoding=utf8
import cython
from libcpp.unordered_set cimport unordered_set

def test():
cdef unordered_set[int] s
return s


The above cell throws:
DistutilsExecError: command 'gcc' failed with exit status 1







python jupyter-notebook cython






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Jan 4 at 21:45







user666

















asked Jan 3 at 19:35









user666user666

1,9001524




1,9001524








  • 1





    If you look at the terminal window you started jupyter from, the gcc output should be there? FWIW this works fine on Windows with Visual C++

    – chrisb
    Jan 3 at 21:25














  • 1





    If you look at the terminal window you started jupyter from, the gcc output should be there? FWIW this works fine on Windows with Visual C++

    – chrisb
    Jan 3 at 21:25








1




1





If you look at the terminal window you started jupyter from, the gcc output should be there? FWIW this works fine on Windows with Visual C++

– chrisb
Jan 3 at 21:25





If you look at the terminal window you started jupyter from, the gcc output should be there? FWIW this works fine on Windows with Visual C++

– chrisb
Jan 3 at 21:25












2 Answers
2






active

oldest

votes


















2














Older gcc versions don't use c++-11 (but c++-98) per default, and because unordered_map is a c++11-feature, you need to pass the option to the compiler.



For example via:



%%cython -a -3 -c=-std=c++11


Or update your gcc to 6.0 or above.






share|improve this answer
























  • Thanks! I had to pass -c=-stdlib=libc++ to make it work on OSX.

    – user666
    Jan 4 at 21:44



















0














What finally worked for me was a modified version of @ead's answer.



I updated GCC using homebrew (and XCode), and the following code does not throw the same error as before.



%%cython -a -3 -c=-stdlib=libc++
# distutils: language = c++

import cython
from libcpp.unordered_set cimport unordered_set

def test():
cdef unordered_set[int] s
return s





share|improve this answer
























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54028709%2funordered-set-in-cython-using-jupyter-notebook%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    2














    Older gcc versions don't use c++-11 (but c++-98) per default, and because unordered_map is a c++11-feature, you need to pass the option to the compiler.



    For example via:



    %%cython -a -3 -c=-std=c++11


    Or update your gcc to 6.0 or above.






    share|improve this answer
























    • Thanks! I had to pass -c=-stdlib=libc++ to make it work on OSX.

      – user666
      Jan 4 at 21:44
















    2














    Older gcc versions don't use c++-11 (but c++-98) per default, and because unordered_map is a c++11-feature, you need to pass the option to the compiler.



    For example via:



    %%cython -a -3 -c=-std=c++11


    Or update your gcc to 6.0 or above.






    share|improve this answer
























    • Thanks! I had to pass -c=-stdlib=libc++ to make it work on OSX.

      – user666
      Jan 4 at 21:44














    2












    2








    2







    Older gcc versions don't use c++-11 (but c++-98) per default, and because unordered_map is a c++11-feature, you need to pass the option to the compiler.



    For example via:



    %%cython -a -3 -c=-std=c++11


    Or update your gcc to 6.0 or above.






    share|improve this answer













    Older gcc versions don't use c++-11 (but c++-98) per default, and because unordered_map is a c++11-feature, you need to pass the option to the compiler.



    For example via:



    %%cython -a -3 -c=-std=c++11


    Or update your gcc to 6.0 or above.







    share|improve this answer












    share|improve this answer



    share|improve this answer










    answered Jan 3 at 22:18









    eadead

    13.5k23164




    13.5k23164













    • Thanks! I had to pass -c=-stdlib=libc++ to make it work on OSX.

      – user666
      Jan 4 at 21:44



















    • Thanks! I had to pass -c=-stdlib=libc++ to make it work on OSX.

      – user666
      Jan 4 at 21:44

















    Thanks! I had to pass -c=-stdlib=libc++ to make it work on OSX.

    – user666
    Jan 4 at 21:44





    Thanks! I had to pass -c=-stdlib=libc++ to make it work on OSX.

    – user666
    Jan 4 at 21:44













    0














    What finally worked for me was a modified version of @ead's answer.



    I updated GCC using homebrew (and XCode), and the following code does not throw the same error as before.



    %%cython -a -3 -c=-stdlib=libc++
    # distutils: language = c++

    import cython
    from libcpp.unordered_set cimport unordered_set

    def test():
    cdef unordered_set[int] s
    return s





    share|improve this answer




























      0














      What finally worked for me was a modified version of @ead's answer.



      I updated GCC using homebrew (and XCode), and the following code does not throw the same error as before.



      %%cython -a -3 -c=-stdlib=libc++
      # distutils: language = c++

      import cython
      from libcpp.unordered_set cimport unordered_set

      def test():
      cdef unordered_set[int] s
      return s





      share|improve this answer


























        0












        0








        0







        What finally worked for me was a modified version of @ead's answer.



        I updated GCC using homebrew (and XCode), and the following code does not throw the same error as before.



        %%cython -a -3 -c=-stdlib=libc++
        # distutils: language = c++

        import cython
        from libcpp.unordered_set cimport unordered_set

        def test():
        cdef unordered_set[int] s
        return s





        share|improve this answer













        What finally worked for me was a modified version of @ead's answer.



        I updated GCC using homebrew (and XCode), and the following code does not throw the same error as before.



        %%cython -a -3 -c=-stdlib=libc++
        # distutils: language = c++

        import cython
        from libcpp.unordered_set cimport unordered_set

        def test():
        cdef unordered_set[int] s
        return s






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Jan 4 at 21:50









        user666user666

        1,9001524




        1,9001524






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54028709%2funordered-set-in-cython-using-jupyter-notebook%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Monofisismo

            Angular Downloading a file using contenturl with Basic Authentication

            Olmecas