Kaushal M
2016-May-02 03:18 UTC
[Gluster-users] Gluster Compilation error: undefined reference to `yylex'
On Fri, Apr 29, 2016 at 3:31 PM, Rob Syme <rob.syme at gmail.com> wrote:> Hi all > > When compiling Gluster, make fails with: > ... > Making all in src > CC glusterfsd-mgmt.o > CC glusterfsd.o > CCLD glusterfsd > /foo/bar/lib/libfl.so: undefined reference to `yylex' > collect2: error: ld returned 1 exit status > Makefile:509: recipe for target 'glusterfsd' failed > make[3]: *** [glusterfsd] Error 1 > Makefile:456: recipe for target 'all-recursive' failed > make[2]: *** [all-recursive] Error 1 > Makefile:588: recipe for target 'all-recursive' failed > make[1]: *** [all-recursive] Error 1 > Makefile:487: recipe for target 'all' failed > make: *** [all] Error 2 > > Even though the error is coming from flex, It seems that gluster should > supply the yylex function by auto-generated code that is the result of > calling lex on a '.l' file > (https://www.mail-archive.com/tools-linking at mail.opensolaris.org/msg00601.html) > > I'm using: flex v2.6.0, bison v3.0.4, pkg-config v0.29, liburcu v0.9.2, > python v2.7.0, gcc v4.9.3 on linux (full dependency graph here: > http://i.imgur.com/xdn8trW.png). Any pointers are appreciated.Newer versions of flex (I don't know from which version) ship a .so, which automake tries to link with whatever it is building by adding a '-lfl' linker flag. This causes the build failure. To avoid this, pass an empty 'LEXLIB=' option to the configure script, as in `./configure <other-options> LEXLIB=` This will allow the compilation and linking to happen properly.> > -r > > _______________________________________________ > Gluster-users mailing list > Gluster-users at gluster.org > http://www.gluster.org/mailman/listinfo/gluster-users
Hey All, New here and first time posting. I've made a typo and entered: gluster volume create mdsglusterv01 transport rdma mdskvm-p01:/mnt/p01-d01/glusterv01/ but couldn't start since rdma didn't exist: [root at mdskvm-p01 glusterfs]# ls -altri /usr/lib64/glusterfs/3.7.11/rpc-transport/* 135169384 -rwxr-xr-x. 1 root root 99648 Apr 18 08:21 /usr/lib64/glusterfs/3.7.11/rpc-transport/socket.so [root at mdskvm-p01 glusterfs]# So how do I reconfigure gluster to remove the rdma option and redefine this brick? [root at mdskvm-p01 glusterfs]# gluster volume info Volume Name: mdsglusterv01 Type: Distribute Volume ID: 84df37b3-3c68-4cc0-9383-3ff539a4d785 Status: Stopped Number of Bricks: 1 Transport-type: rdma Bricks: Brick1: mdskvm-p01:/mnt/p01-d01/glusterv01 Options Reconfigured: performance.readdir-ahead: on [root at mdskvm-p01 glusterfs]# Cheers, Tom K. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://www.gluster.org/pipermail/gluster-users/attachments/20160502/e8dcead1/attachment.html>
TomK
2016-May-03 01:55 UTC
[Gluster-users] Hey All, Anyway to remove the last brick or change it? Added erronously.
Hey All, New here and first time posting. I've made a typo in configuration and entered: gluster volume create mdsglusterv01 transport rdma mdskvm-p01:/mnt/p01-d01/glusterv01/ but couldn't start since rdma didn't exist: [root at mdskvm-p01 glusterfs]# ls -altri /usr/lib64/glusterfs/3.7.11/rpc-transport/* 135169384 -rwxr-xr-x. 1 root root 99648 Apr 18 08:21 /usr/lib64/glusterfs/3.7.11/rpc-transport/socket.so [root at mdskvm-p01 glusterfs]# So how do I reconfigure gluster to remove the rdma option and redefine this brick? [root at mdskvm-p01 glusterfs]# gluster volume info Volume Name: mdsglusterv01 Type: Distribute Volume ID: 84df37b3-3c68-4cc0-9383-3ff539a4d785 Status: Stopped Number of Bricks: 1 Transport-type: rdma Bricks: Brick1: mdskvm-p01:/mnt/p01-d01/glusterv01 Options Reconfigured: performance.readdir-ahead: on [root at mdskvm-p01 glusterfs]# I figure I can add in a dummy block device however wanted to find out if there's anyway to change the above or redefine it before I do that. Cheers, Tom K. ------------------------------------------------------------------------------------- Living on earth is expensive, but it includes a free trip around the sun. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://www.gluster.org/pipermail/gluster-users/attachments/20160502/1603169e/attachment.html>
Kaleb S. KEITHLEY
2016-May-04 18:03 UTC
[Gluster-users] Gluster Compilation error: undefined reference to `yylex'
On 05/01/2016 11:18 PM, Kaushal M wrote:>> >> I'm using: flex v2.6.0, bison v3.0.4, pkg-config v0.29, liburcu v0.9.2, >> python v2.7.0, gcc v4.9.3 on linux (full dependency graph here: >> http://i.imgur.com/xdn8trW.png). Any pointers are appreciated. > > Newer versions of flex (I don't know from which version) ship a .so, > which automake tries to link with whatever it is building by adding a > '-lfl' linker flag. > This causes the build failure. To avoid this, pass an empty 'LEXLIB=' > option to the configure script, as in > `./configure <other-options> LEXLIB=`On Fedora, RHEL, CentOS, at least, libfl.a (no libfl.so*) comes from the flex-devel RPM. flex-devel isn't needed to build gluster ? you can remove it. On Debian-based distributions it comes from the libfl-dev pkg. -- Kaleb