Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SmartOS / Duo_Unix-1.7 - Undefined symbol __stack_chk_fail_local when linking #17

Closed
leowmjw opened this issue Sep 9, 2011 · 6 comments
Closed

Comments

@leowmjw
Copy link

@leowmjw leowmjw commented Sep 9, 2011

Unable to complete linking by ld for SmartOS/Duo_Unix-1.7 combination. It is running inside a zone.

System Details:

[root@bare /home/admin/MYDUO/duo_unix-1.7]# uname -a
SunOS bare.joyent.us 5.11 joyent_20110813T221858Z i86pc i386 i86pc Solaris

[root@bare /home/admin/MYDUO/duo_unix-1.7]# pkgin search openssl
openssl-0.9.8qnb3 = Secure Socket Layer and cryptographic library

Detailed Message for root cause of error

./configure

make clean all

....
/bin/sh ../libtool --tag=CC --mode=link gcc -g -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -no-undefined -version-info 3:0:0 -o libduo.la -rpath /usr/local/lib bson.lo duo.lo groupaccess.lo http_parser.lo https.lo ini.lo match.lo urlenc.lo ../compat/libcompat.la -L/usr/lib -lssl -lcrypto -lnsl
libtool: link: gcc -shared -fPIC -DPIC -Wl,-z -Wl,text -Wl,-h -Wl,libduo.so.3 -o .libs/libduo.so.3.0.0 .libs/bson.o .libs/duo.o .libs/groupaccess.o .libs/http_parser.o .libs/https.o .libs/ini.o .libs/match.o .libs/urlenc.o -Wl,-z -Wl,allextract ../compat/.libs/libcompat.a -Wl,-z -Wl,defaultextract -L/usr/lib -lssl -lcrypto -lnsl -lc -O2

Undefined symbol ==> __stack_chk_fail_local
first referenced in file ==> .libs/bson.o (symbol scope specifies local binding)

ld: fatal: symbol referencing errors. No output written to .libs/libduo.so.3.0.0
collect2: ld returned 1 exit status
make[2]: *** [libduo.la] Error 1
make[2]: Leaving directory /home/admin/MYDUO/duo_unix-1.7/lib' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory/home/admin/MYDUO/duo_unix-1.7'
make: *** [all] Error 2

Any clue on possible solution? Thanks!

Cheers!
Michael Leow

@Flameeyes

This comment has been minimized.

Copy link
Contributor

@Flameeyes Flameeyes commented Feb 1, 2012

I'd suggest adding a sunos check beside teh aix one in configure.ac to get rid of -fstack-protector...

@leowmjw

This comment has been minimized.

Copy link
Author

@leowmjw leowmjw commented Feb 3, 2012

Thanks I'll try it out and post the results here

@Flameeyes

This comment has been minimized.

Copy link
Contributor

@Flameeyes Flameeyes commented Feb 13, 2012

Il giorno gio, 02/02/2012 alle 18.50 -0800, leowmjw ha scritto:

Thanks I'll try it out and post the results here

Any news about this? Thanks!

Diego Elio Pettenò flameeyes@flameeyes.eu

@jonoberheide

This comment has been minimized.

Copy link

@jonoberheide jonoberheide commented Jun 18, 2012

Disabled -fstack-protector on SunOS.

@benr

This comment has been minimized.

Copy link

@benr benr commented Nov 11, 2012

Ran into this bug again with Duo 1.9 when trying to build 32bit (64bit was fine). The solution is the same, but you can hit it if your build type is solaris rather than sunos. To verify this, "grep host_os Makefile".

The solution is to edit configure.ac and replace "sunos" with "solaris" (line 54). Then delete configure (for good measure) and run "autoconf". You'll have a new configure file. Build as usual.

@jonoberheide

This comment has been minimized.

Copy link

@jonoberheide jonoberheide commented Nov 11, 2012

Thanks for the note, Ben. The solaris exception was committed a few months ago, but we haven't cut a new release with it:

1eac9cd

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants
You can’t perform that action at this time.