[package - 132releng-armv7-quarterly][x11/flruler] Failed for flruler-1.05 in build
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 06 Mar 2024 10:29:00 UTC
You are receiving this mail as a port that you maintain
is failing to build on the FreeBSD package build server.
Please investigate the failure and submit a PR to fix
build.
Maintainer: danfe@FreeBSD.org
Log URL: https://pkg-status.freebsd.org/ampere1/data/132releng-armv7-quarterly/b8e5ba2f138f/logs/flruler-1.05.log
Build URL: https://pkg-status.freebsd.org/ampere1/build.html?mastername=132releng-armv7-quarterly&build=b8e5ba2f138f
Log:
=>> Building x11/flruler
build started at Wed Mar 6 10:28:47 UTC 2024
port directory: /usr/ports/x11/flruler
package name: flruler-1.05
building for: FreeBSD 132releng-armv7-quarterly-job-09 13.2-RELEASE-p6 FreeBSD 13.2-RELEASE-p6 1302001 arm
maintained by: danfe@FreeBSD.org
Makefile datestamp: -rw-r--r-- 1 root wheel 1291 Jan 16 01:02 /usr/ports/x11/flruler/Makefile
Ports top last git commit: b8e5ba2f1
Ports top unclean checkout: no
Port dir last git commit: 72cbe1a32
Port dir unclean checkout: no
Poudriere version: poudriere-git-3.4.1-1-g1e9f97d6
Host OSVERSION: 1500006
Jail OSVERSION: 1302001
Job Id: 09
---Begin Environment---
SHELL=/bin/csh
OSVERSION=1302001
UNAME_v=FreeBSD 13.2-RELEASE-p6 1302001
UNAME_r=13.2-RELEASE-p6
BLOCKSIZE=K
MAIL=/var/mail/root
MM_CHARSET=UTF-8
LANG=C.UTF-8
STATUS=1
HOME=/root
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin
MAKE_OBJDIR_CHECK_WRITABLE=0
LOCALBASE=/usr/local
USER=root
POUDRIERE_NAME=poudriere-git
LIBEXECPREFIX=/usr/local/libexec/poudriere
POUDRIERE_VERSION=3.4.1-1-g1e9f97d6
MASTERMNT=/usr/local/poudriere/data/.m/132releng-armv7-quarterly/ref
LC_COLLATE=C
POUDRIERE_BUILD_TYPE=bulk
PACKAGE_BUILDING=yes
SAVED_TERM=
OUTPUT_REDIRECTED_STDERR=4
OUTPUT_REDIRECTED=1
PWD=/usr/local/poudriere/data/.m/132releng-armv7-quarterly/09/.p
OUTPUT_REDIRECTED_STDOUT=3
P_PORTS_FEATURES=FLAVORS SUBPACKAGES SELECTED_OPTIONS
MASTERNAME=132releng-armv7-quarterly
SCRIPTPREFIX=/usr/local/share/poudriere
SCRIPTNAME=bulk.sh
OLDPWD=/usr/local/poudriere/data/.m/132releng-armv7-quarterly/ref/.p/pool
POUDRIERE_PKGNAME=poudriere-git-3.4.1-1-g1e9f97d6
SCRIPTPATH=/usr/local/share/poudriere/bulk.sh
POUDRIEREPATH=/usr/local/bin/poudriere
---End Environment---
---Begin Poudriere Port Flags/Env---
PORT_FLAGS=
PKGENV=
FLAVOR=
MAKE_ARGS=
---End Poudriere Port Flags/Env---
---Begin OPTIONS List---
===> The following configuration options are available for flruler-1.05:
DOCS=on: Build and/or install documentation
===> Use 'make config' to modify these settings
---End OPTIONS List---
--MAINTAINER--
danfe@FreeBSD.org
--End MAINTAINER--
--CONFIGURE_ARGS--
--End CONFIGURE_ARGS--
--CONFIGURE_ENV--
MAKE=gmake ac_cv_path_PERL=/usr/local/bin/perl ac_cv_path_PERL_PATH=/usr/local/bin/perl PERL_USE_UNSAFE_INC=1 XDG_DATA_HOME=/wrkdirs/usr/ports/x11/flruler/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/x11/flruler/work XDG_CACHE_HOME=/wrkdirs/usr/ports/x11/flruler/work/.cache HOME=/wrkdirs/usr/ports/x11/flruler/work TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/x11/flruler/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/x11/flruler/work/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig SHELL=/bin/sh CONFIG_SHELL=/bin/sh
--End CONFIGURE_ENV--
--MAKE_ENV--
PERL_USE_UNSAFE_INC=1 XDG_DATA_HOME=/wrkdirs/usr/ports/x11/flruler/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/x11/flruler/work XDG_CACHE_HOME=/wrkdirs/usr/ports/x11/flruler/work/.cache HOME=/wrkdirs/usr/ports/x11/flruler/work TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/x11/flruler/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/x11/flruler/work/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig MK_DEBUG_FILES=no MK_KERNEL_SYMBOLS=no SHELL=/bin/sh NO_LINT=YES PREFIX=/usr/local LOCALBASE=/usr/local CC="cc" CFLAGS="-O2 -pipe -fstack-protector-strong -fno-strict-aliasing " CPP="cpp" CPPFLAGS="" LDFLAGS=" -fstack-protector-strong " LIBS="" CXX="c++" CXXFLAGS="-O2 -pipe -fstack-protector-strong -fno-strict-aliasing " MANPREFIX="/usr/local" BSD_INSTALL_PROGRAM="install -s -m 555" BSD_INSTALL_LIB="install -s -m 0644" BSD_INSTALL_SCRIPT="install -m 555" BSD_INSTALL_DAT
A="install -m 0644" BSD_INSTALL_MAN="install -m 444"
--End MAKE_ENV--
--PLIST_SUB--
PORTDOCS="" OSREL=13.2 PREFIX=%D LOCALBASE=/usr/local RESETPREFIX=/usr/local LIB32DIR=lib PERL_VERSION=5.36.3 PERL_VER=5.36 PERL5_MAN1=lib/perl5/site_perl/man/man1 PERL5_MAN3=lib/perl5/site_perl/man/man3 SITE_PERL=lib/perl5/site_perl SITE_ARCH=lib/perl5/site_perl/mach/5.36 DOCSDIR="share/doc/flruler" EXAMPLESDIR="share/examples/flruler" DATADIR="share/flruler" WWWDIR="www/flruler" ETCDIR="etc/flruler"
--End PLIST_SUB--
--SUB_LIST--
PREFIX=/usr/local LOCALBASE=/usr/local DATADIR=/usr/local/share/flruler DOCSDIR=/usr/local/share/doc/flruler EXAMPLESDIR=/usr/local/share/examples/flruler WWWDIR=/usr/local/www/flruler ETCDIR=/usr/local/etc/flruler
--End SUB_LIST--
---Begin make.conf---
USE_PACKAGE_DEPENDS=yes
BATCH=yes
WRKDIRPREFIX=/wrkdirs
PORTSDIR=/usr/ports
PACKAGES=/packages
DISTDIR=/distfiles
PACKAGE_BUILDING=yes
PACKAGE_BUILDING_FLAVORS=yes
#### ####
# XXX: We really need this but cannot use it while 'make checksum' does not
# try the next mirror on checksum failure. It currently retries the same
# failed mirror and then fails rather then trying another. It *does*
# try the next if the size is mismatched though.
#MASTER_SITE_FREEBSD=yes
# Build ALLOW_MAKE_JOBS_PACKAGES with 3 jobs
MAKE_JOBS_NUMBER=3
#### Misc Poudriere ####
.include "/etc/make.conf.ports_env"
GID=0
UID=0
---End make.conf---
--Resource limits--
cpu time (seconds, -t) unlimited
file size (512-blocks, -f) unlimited
data seg size (kbytes, -d) 524288
stack size (kbytes, -s) 65536
core file size (512-blocks, -c) unlimited
max memory size (kbytes, -m) unlimited
locked memory (kbytes, -l) unlimited
max user processes (-u) 89999
open files (-n) 8192
virtual mem size (kbytes, -v) unlimited
swap limit (kbytes, -w) unlimited
socket buffer size (bytes, -b) unlimited
pseudo-terminals (-p) unlimited
kqueues (-k) unlimited
umtx shared locks (-o) unlimited
--End resource limits--
=======================<phase: check-sanity >============================
===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
flruler-1.05: Makefile warning: in desktop entry #1 (flruler): field 3 (Icon) should be either absolute path or icon name without extension if installed icons follow Icon Theme Specification
===> License GPLv2 accepted by the user
===========================================================================
=======================<phase: pkg-depends >============================
===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
===> flruler-1.05 depends on file: /usr/local/sbin/pkg - not found
===> Installing existing package /packages/All/pkg-1.20.9.pkg
[132releng-armv7-quarterly-job-09] Installing pkg-1.20.9...
[132releng-armv7-quarterly-job-09] Extracting pkg-1.20.9: .......... done
===> flruler-1.05 depends on file: /usr/local/sbin/pkg - found
===> Returning to build of flruler-1.05
===========================================================================
=======================<phase: fetch-depends >============================
===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
===========================================================================
=======================<phase: fetch >============================
===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
flruler-1.05: Makefile warning: in desktop entry #1 (flruler): field 3 (Icon) should be either absolute path or icon name without extension if installed icons follow Icon Theme Specification
===> License GPLv2 accepted by the user
===> Fetching all distfiles required by flruler-1.05 for building
===========================================================================
=======================<phase: checksum >============================
===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
flruler-1.05: Makefile warning: in desktop entry #1 (flruler): field 3 (Icon) should be either absolute path or icon name without extension if installed icons follow Icon Theme Specification
===> License GPLv2 accepted by the user
===> Fetching all distfiles required by flruler-1.05 for building
=> SHA256 Checksum OK for flruler-1.05.tar.gz.
===========================================================================
=======================<phase: extract-depends>============================
===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
===========================================================================
=======================<phase: extract >============================
===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
flruler-1.05: Makefile warning: in desktop entry #1 (flruler): field 3 (Icon) should be either absolute path or icon name without extension if installed icons follow Icon Theme Specification
===> License GPLv2 accepted by the user
===> Fetching all distfiles required by flruler-1.05 for building
===> Extracting for flruler-1.05
=> SHA256 Checksum OK for flruler-1.05.tar.gz.
===========================================================================
=======================<phase: patch-depends >============================
===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
===========================================================================
=======================<phase: patch >============================
===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
===> Patching for flruler-1.05
===> Applying FreeBSD patches for flruler-1.05 from /usr/ports/x11/flruler/files
===========================================================================
=======================<phase: build-depends >============================
===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
===> flruler-1.05 depends on file: /usr/local/lib/libfltk.a - not found
===> Installing existing package /packages/All/fltk-1.3.9.pkg
[132releng-armv7-quarterly-job-09] Installing fltk-1.3.9...
[132releng-armv7-quarterly-job-09] `-- Installing fontconfig-2.14.2,1...
[132releng-armv7-quarterly-job-09] | `-- Installing expat-2.5.0...
[132releng-armv7-quarterly-job-09] | `-- Extracting expat-2.5.0: .......... done
[132releng-armv7-quarterly-job-09] | `-- Installing freetype2-2.13.2...
[132releng-armv7-quarterly-job-09] | | `-- Installing brotli-1.1.0,1...
[132releng-armv7-quarterly-job-09] | | `-- Extracting brotli-1.1.0,1: .......... done
[132releng-armv7-quarterly-job-09] | | `-- Installing png-1.6.40...
[132releng-armv7-quarterly-job-09] | | `-- Extracting png-1.6.40: .......... done
[132releng-armv7-quarterly-job-09] | `-- Extracting freetype2-2.13.2: .......... done
[132releng-armv7-quarterly-job-09] `-- Extracting fontconfig-2.14.2,1: .......... done
[132releng-armv7-quarterly-job-09] `-- Installing jpeg-turbo-3.0.1...
[132releng-armv7-quarterly-job-09] `-- Extracting jpeg-turbo-3.0.1: .......... done
[132releng-armv7-quarterly-job-09] `-- Installing libGLU-9.0.2_2...
[132releng-armv7-quarterly-job-09] | `-- Installing libglvnd-1.7.0...
[132releng-armv7-quarterly-job-09] | | `-- Installing libX11-1.8.7,1...
[132releng-armv7-quarterly-job-09] | | `-- Installing libxcb-1.15_1...
<snip>
The controllable properties are listed in the section "Controlling FreeType
Modules" in the reference's table of contents
(/usr/local/share/doc/freetype2/reference/index.html, if documentation was installed).
===> flruler-1.05 depends on file: /usr/local/lib/libfltk.a - found
===> Returning to build of flruler-1.05
===> flruler-1.05 depends on package: gmake>=4.3 - not found
===> Installing existing package /packages/All/gmake-4.3_2.pkg
[132releng-armv7-quarterly-job-09] Installing gmake-4.3_2...
[132releng-armv7-quarterly-job-09] `-- Installing gettext-runtime-0.22.3...
[132releng-armv7-quarterly-job-09] | `-- Installing indexinfo-0.3.1...
[132releng-armv7-quarterly-job-09] | `-- Extracting indexinfo-0.3.1: .... done
[132releng-armv7-quarterly-job-09] `-- Extracting gettext-runtime-0.22.3: .......... done
[132releng-armv7-quarterly-job-09] Extracting gmake-4.3_2: .......... done
===> flruler-1.05 depends on package: gmake>=4.3 - found
===> Returning to build of flruler-1.05
===> flruler-1.05 depends on package: perl5>=5.36<5.37 - not found
===> Installing existing package /packages/All/perl5-5.36.3_1.pkg
[132releng-armv7-quarterly-job-09] Installing perl5-5.36.3_1...
[132releng-armv7-quarterly-job-09] Extracting perl5-5.36.3_1: .......... done
===> flruler-1.05 depends on package: perl5>=5.36<5.37 - found
===> Returning to build of flruler-1.05
===> flruler-1.05 depends on file: /usr/local/libdata/pkgconfig/x11.pc - found
===> flruler-1.05 depends on file: /usr/local/libdata/pkgconfig/xcursor.pc - found
===> flruler-1.05 depends on file: /usr/local/libdata/pkgconfig/xext.pc - found
===> flruler-1.05 depends on file: /usr/local/libdata/pkgconfig/xfixes.pc - found
===> flruler-1.05 depends on file: /usr/local/libdata/pkgconfig/xft.pc - found
===> flruler-1.05 depends on file: /usr/local/libdata/pkgconfig/xinerama.pc - found
===========================================================================
=======================<phase: lib-depends >============================
===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
===========================================================================
=======================<phase: configure >============================
===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
===> Configuring for flruler-1.05
===========================================================================
=======================<phase: build >============================
===== env: NO_DEPENDS=yes USER=root UID=0 GID=0
===> Building for flruler-1.05
gmake[1]: Entering directory '/wrkdirs/usr/ports/x11/flruler/work/flruler-1.05'
c++ -I/usr/local/include -I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/include/libpng16 -D_THREAD_SAFE -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -isystem /usr/local/include -fvisibility-inlines-hidden -I/usr/local/include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT -I. -DVERSION=\"1.05\" -Wall -g -c flruler.C
( cd docs && \
( echo 'g/Version [0-9]*\.[0-9]*/s//Version '1.05'/g'; echo wq) | ex flruler.pod; \
pod2man --center="Erco's FLTK Tools" \
--name=flruler \
--section=1 \
--release=1.05 \
flruler.pod > flruler.1 && \
echo "*** Built docs/flruler.1" && \
pod2html --title "flruler 1.05 Erco's FLTK Tools" \
flruler.pod > flruler.html && \
echo "*** Built docs/flruler.html" \
)
*** Built docs/flruler.1
*** Built docs/flruler.html
c++ flruler.o -o flruler -fstack-protector-strong -L/usr/local/lib -lm /usr/local/lib/libfltk.a -lXrender -lXcursor -lXfixes -lXext -lXft -lfontconfig -lXinerama -lpthread -lm -L/usr/local/lib -lX11
ld: error: undefined symbol: Fl_Window::handle(int)
>>> referenced by flruler.C:191
>>> flruler.o:(RulerWindow::handle(int))
ld: error: undefined symbol: Fl::e_keysym
>>> referenced by Fl.H:730 (/usr/local/include/FL/Fl.H:730)
>>> flruler.o:(RulerWindow::handle(int))
>>> referenced by Fl.H:730 (/usr/local/include/FL/Fl.H:730)
>>> flruler.o:(RulerWindow::handle(int))
ld: error: undefined symbol: Fl::e_y_root
>>> referenced by Fl.H:624 (/usr/local/include/FL/Fl.H:624)
>>> flruler.o:(RulerWindow::handle(int))
>>> referenced by Fl.H:624 (/usr/local/include/FL/Fl.H:624)
>>> flruler.o:(RulerWindow::handle(int))
>>> referenced by flruler.C:151
>>> flruler.o:(RulerWindow::handle(int))
>>> referenced 13 more times
ld: error: undefined symbol: Fl::e_x_root
>>> referenced by Fl.H:617 (/usr/local/include/FL/Fl.H:617)
>>> flruler.o:(RulerWindow::handle(int))
>>> referenced by Fl.H:617 (/usr/local/include/FL/Fl.H:617)
>>> flruler.o:(RulerWindow::handle(int))
>>> referenced by Fl.H:617 (/usr/local/include/FL/Fl.H:617)
>>> flruler.o:(RulerWindow::handle(int))
>>> referenced 13 more times
ld: error: undefined symbol: Fl::e_clicks
>>> referenced by Fl.H:652 (/usr/local/include/FL/Fl.H:652)
>>> flruler.o:(RulerWindow::handle(int))
>>> referenced by Fl.H:652 (/usr/local/include/FL/Fl.H:652)
>>> flruler.o:(RulerWindow::handle(int))
ld: error: undefined symbol: Fl_Widget::redraw()
>>> referenced by flruler.C:157
>>> flruler.o:(RulerWindow::handle(int))
>>> referenced by flruler.C:157
>>> flruler.o:(RulerWindow::handle(int))
>>> referenced by flruler.C:157
>>> flruler.o:(RulerWindow::handle(int))
>>> referenced 8 more times
ld: error: undefined symbol: Fl::w()
>>> referenced by flruler.C:262
>>> flruler.o:(RulerWindow::handle(int))
>>> referenced by flruler.C:262
>>> flruler.o:(RulerWindow::handle(int))
>>> referenced by flruler.C:320
>>> flruler.o:(main)
>>> referenced 2 more times
ld: error: undefined symbol: Fl::h()
>>> referenced by flruler.C:266
>>> flruler.o:(RulerWindow::handle(int))
>>> referenced by flruler.C:266
>>> flruler.o:(RulerWindow::handle(int))
>>> referenced by flruler.C:182
>>> flruler.o:(RulerWindow::RulerWindow(int, int, int, int, int, int))
>>> referenced 1 more times
ld: error: undefined symbol: Fl::run()
>>> referenced by flruler.C:323
>>> flruler.o:(main)
ld: error: undefined symbol: Fl_Double_Window::~Fl_Double_Window()
>>> referenced by flruler.C:324
>>> flruler.o:(main)
>>> referenced by flruler.C:324
>>> flruler.o:(main)
>>> referenced by flruler.C:185
>>> flruler.o:(RulerWindow::RulerWindow(int, int, int, int, int, int))
>>> referenced 3 more times
ld: error: undefined symbol: Fl_Double_Window::Fl_Double_Window(int, int, int, int, char const*)
>>> referenced by flruler.C:176
>>> flruler.o:(RulerWindow::RulerWindow(int, int, int, int, int, int))
ld: error: undefined symbol: Fl_Group::end()
>>> referenced by flruler.C:177
>>> flruler.o:(RulerWindow::RulerWindow(int, int, int, int, int, int))
>>> referenced by flruler.C:166
>>> flruler.o:(RulerWindow::RulerWindow(int, int, int, int))
ld: error: undefined symbol: Fl_Window::border(int)
>>> referenced by flruler.C:179
>>> flruler.o:(RulerWindow::RulerWindow(int, int, int, int, int, int))
>>> referenced by flruler.C:168
>>> flruler.o:(RulerWindow::RulerWindow(int, int, int, int))
ld: error: undefined symbol: Fl_Double_Window::Fl_Double_Window(int, int, char const*)
>>> referenced by flruler.C:165
>>> flruler.o:(RulerWindow::RulerWindow(int, int, int, int))
ld: error: undefined symbol: fl_graphics_driver
>>> referenced by fl_draw.H:52 (/usr/local/include/FL/fl_draw.H:52)
>>> flruler.o:(RulerWindow::draw())
>>> referenced by fl_draw.H:52 (/usr/local/include/FL/fl_draw.H:52)
>>> flruler.o:(RulerWindow::draw())
>>> referenced by flruler.C:0
>>> flruler.o:(RulerWindow::draw())
>>> referenced 31 more times
ld: error: undefined symbol: fl_width(char const*)
>>> referenced by flruler.C:0
>>> flruler.o:(RulerWindow::draw())
>>> referenced by flruler.C:76
>>> flruler.o:(RulerWindow::draw())
>>> referenced by flruler.C:0
>>> flruler.o:(RulerWindow::draw())
>>> referenced 1 more times
ld: error: undefined symbol: fl_draw(char const*, int, int)
>>> referenced by flruler.C:0
>>> flruler.o:(RulerWindow::draw())
>>> referenced by flruler.C:78
>>> flruler.o:(RulerWindow::draw())
>>> referenced by flruler.C:0
>>> flruler.o:(RulerWindow::draw())
>>> referenced 1 more times
ld: error: undefined symbol: Fl_Double_Window::resize(int, int, int, int)
>>> referenced by flruler.C
>>> flruler.o:(vtable for RulerWindow)
ld: error: undefined symbol: Fl_Double_Window::show()
>>> referenced by flruler.C
>>> flruler.o:(vtable for RulerWindow)
ld: error: undefined symbol: Fl_Double_Window::hide()
>>> referenced by flruler.C
>>> flruler.o:(vtable for RulerWindow)
ld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)
c++: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[1]: *** [Makefile:30: flruler] Error 1
gmake[1]: Leaving directory '/wrkdirs/usr/ports/x11/flruler/work/flruler-1.05'
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1
Stop.
make: stopped in /usr/ports/x11/flruler