[GRASS-dev] [GRASS GIS] #411: Makefile uses LD instead of GCC for linking leads to undefined symbol: __stack_chk_fail_local

GRASS GIS trac at osgeo.org
Tue Dec 23 02:58:26 EST 2008


#411: Makefile uses LD instead of GCC for linking leads to undefined symbol:
__stack_chk_fail_local
-----------------------------------------------------+----------------------
 Reporter:  RRosario                                 |       Owner:  grass-dev at lists.osgeo.org
     Type:  defect                                   |      Status:  new                      
 Priority:  major                                    |   Milestone:  6.4.0                    
Component:  default                                  |     Version:  unspecified              
 Keywords:  undefined symbol __stack_chk_fail_local  |    Platform:  Unspecified              
      Cpu:  x86-32                                   |  
-----------------------------------------------------+----------------------
 The Makefile for Python SWIG uses LD for linking rather than GCC. On some
 Linux systems, this causes Python to throw the error:

 $ python -c "import _python_grass6"
 Traceback (most recent call last):
   File "<string>", line 1, in <module>
 ImportError: ./_python_grass6.so: undefined symbol: __stack_chk_fail_local

 when the library python_grass6 is imported due to a stack smash guard.

 I have confirmed that replacing LD with CC fixes this problem. On some
 distributions of Linux, this can be fixed by adding "-fno-stack-protector"
 to CFLAGS.

 R.

-- 
Ticket URL: <http://trac.osgeo.org/grass/ticket/411>
GRASS GIS <http://grass.osgeo.org>


More information about the grass-dev mailing list