Re: [Boost-bugs] [Boost C++ Libraries] #1018: Boost.Python library that is linked to OpenGL results in segfault upon output to std::cerr

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #1018: Boost.Python library that is linked to OpenGL results in segfault upon output to std::cerr
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2007-05-31 17:24:14


#1018: Boost.Python library that is linked to OpenGL results in segfault upon
output to std::cerr
-------------------------------+--------------------------------------------
  Reporter: alanic_at_[hidden] | Owner: dave
      Type: Bugs | Status: closed
 Milestone: | Component: Python
   Version: release 1.34.0 | Severity: Showstopper
Resolution: invalid | Keywords: python cerr OpenGL
-------------------------------+--------------------------------------------
Changes (by dave):

  * status: new => closed
  * resolution: => invalid

Comment:

 I tested this and couldn't reproduce it. I was unable to make the link
 line as shown succeed (I got:

 {{{
 /usr/bin/ld: cannot find -lGL
 collect2: ld returned 1 exit status
 }}}
 ), so I used this:

 "g++" -o "/tmp/bb/boost-python-quickstart/gcc-4.1.2/debug/extending.so"
 -Wl,-h -Wl,extending.so -shared -Wl,--start-group "/tmp/bb/boost-python-
 quickstart/gcc-4.1.2/debug/extending.o"
 "/tmp/bb/boost/bin.v2/libs/python/build/gcc-4.1.2/debug/libboost_python-
 gcc41-d-1_34_1.so.1.34.1" /usr/lib/libGL.so.1 -lutil -lpthread -ldl -Wl,
 --end-group -g

 which worked (obviously I still don't understand linking well enough).
 The test ran as follows:

 {{{
 python "test_extending.py"
 cerr
 cerr
 cerr
 cerr
 cerr
 Trying:
     from extending import *
 Expecting nothing
 ok
 Trying:
     hi = hello('California')
 Expecting nothing
 ok
 Trying:
     hi.greet()
 Expecting:
     'Hello from California'
 cout0 0 0 0
 ok
 Trying:
     invite(hi)
 Expecting:
     'Hello from California! Please come soon!'
 cout0 0 0 0
 ok
 Trying:
     hi.invite()
 Expecting:
     'Hello from California! Please come soon!'
 cout0 0 0 0
 ok
 Trying:
     class wordy(hello):
         def greet(self):
             return hello.greet(self) + ', where the weather is fine'
 Expecting nothing
 ok
 Trying:
     hi2 = wordy('Florida')
 Expecting nothing
 ok
 Trying:
     hi2.greet()
 Expecting:
     'Hello from Florida, where the weather is fine'
 cout0 0 0 0
 ok
 Trying:
     invite(hi2)
 Expecting:
     'Hello from Florida! Please come soon!'
 cout0 0 0 0
 ok
 1 items had no tests:
     test_extending.run
 1 items passed all tests:
    9 tests in test_extending
 9 tests in 2 items.
 9 passed and 0 failed.
 Test passed.

 EXIT STATUS: 0
 }}}

 If someone can tell me what packages to install on ubuntu in order to
 reproduce this, I'll be happy to take a look (though I can't imagine what
 relationship we might have to OpenGL). I seem to have /usr/lib/libGL.so.1
 symlinked to /usr/lib/libGL.so.1.2 already on the system. Until then I'm
 closing the ticket as nonreproducible. Please feel free to reopen.

--
Ticket URL: <http://svn.boost.org/trac/boost/ticket/1018#comment:2>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.


This archive was generated by hypermail 2.1.7 : 2017-02-16 18:49:55 UTC