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
compile error when building --with-unixodbc (libfl.so: undefined reference to `yylex') #47
Comments
On Debian, I'm using --with-unixodbc=/usr libfl.so comes with flex. Did you try running autoreconf -i -f then ./configure --with-unixodbc=/usr --disable-scrollkeeper ? |
@nirgal Thanks for those, I made those changes now and it still gives me the flex error, but it looks nicer: Making all in odbc
make[2]: Entering directory '/tmp/makepkg/mdbtools-git/src/mdbtools/src/odbc'
CC odbc.lo
CC connectparams.lo
CCLD libmdbodbc.la
CC libmdbodbcW_la-odbc.lo
CC libmdbodbcW_la-connectparams.lo
CCLD libmdbodbcW.la
CC unittest.o
CCLD unittest
/usr/lib/libfl.so: undefined reference to `yylex'
collect2: error: ld returned 1 exit status
Makefile:452: recipe for target 'unittest' failed
make[2]: *** [unittest] Error 1 |
FYI: I tried compiling against 0.7.1 and got the same error. |
Downgrading flex to 2.5.37 seems to work, per a comment in: https://aur.archlinux.org/packages/mdbtools/ |
It looks like a common problem with flex: I can't reproduce the bug here, but it might be related to g++ compilation.
If downgrading flex fixes the issue helps, maybe this problem should be repported against flex? |
The correct solution is to remove all references to The references to |
I'm getting this same error on Arch Linux. Any updates on this? |
LukeShu: I don't understand. The Makefile's no longer are part of the project, you need to use autoreconf -i. They were generated files anyway. There no longer is any -lfl in the code. It's only added by autoreconf. Can you elaborate? |
Sorry I was unclear. By "Makefiles", I meant Here's how the Parabola distro handles it: https://projects.parabola.nu/abslibre.git/tree/pcr/mdbtools/PKGBUILD#n26 (look at the @adamcrown: Parabola is compatible with Arch; feel free to grab the binary or the PKGBUILD. I'll go ahead and add it to AUR4, but there's a solid chance that I'll forget to keep it up to date. |
With the flags in place, compilation fails with: Undefined reference to `yylex' in yyparse() Also see mdbtools/mdbtools#47 (comment)
Is this a bison/flex issue?
I've tried compiling using --with-unixodbc=/usr/include, --with-unixodbc=/usr/lib and just --with-unixodbc but they result in same error.
The text was updated successfully, but these errors were encountered: