Closed GoogleCodeExporter closed 9 years ago
Please use branch 'oldschool' if your compiler does not fully support C++11.
Original comment by chen....@gmail.com
on 13 Jul 2014 at 6:52
Thanks, I just tried to build with oldschool(1d86500) on armel,
but it failed.
mkdir -p build
(cd build; cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ..)
-- Boost version: 1.55.0
-- Found the following Boost libraries:
-- chrono
-- filesystem
-- regex
-- signals
-- system
-- thread
-- Found gflags: /usr/lib/arm-linux-gnueabi/libgflags.so
-- Found glog: /usr/lib/arm-linux-gnueabi/libglog.so
-- Found yaml-cpp: /usr/lib/arm-linux-gnueabi/libyaml-cpp.so
-- Found kyotocabinet: /usr/lib/arm-linux-gnueabi/libkyotocabinet.so
-- Found marisa: /usr/lib/arm-linux-gnueabi/libmarisa.so
-- Found opencc: /usr/lib/arm-linux-gnueabi/libopencc.so
-- Found X11/keysym.h at /pkg/librime-upstream/thirdparty/include
-- Configuring done
-- Generating done
-- Build files have been written to: /pkg/librime-upstream/build
make -C build
make[1]: Entering directory '/pkg/librime-upstream/build'
make[2]: Entering directory '/pkg/librime-upstream/build'
make[3]: Entering directory '/pkg/librime-upstream/build'
Scanning dependencies of target rime
make[3]: Leaving directory '/pkg/librime-upstream/build'
make[3]: Entering directory '/pkg/librime-upstream/build'
[ 1%] Building CXX object src/CMakeFiles/rime.dir/switcher.cc.o
[ 2%] Building CXX object src/CMakeFiles/rime.dir/schema.cc.o
[ 3%] Building CXX object src/CMakeFiles/rime.dir/menu.cc.o
[ 4%] Building CXX object src/CMakeFiles/rime.dir/deployer.cc.o
[ 5%] Building CXX object src/CMakeFiles/rime.dir/setup.cc.o
[ 6%] Building CXX object src/CMakeFiles/rime.dir/engine.cc.o
[ 7%] Building CXX object src/CMakeFiles/rime.dir/key_table.cc.o
[ 8%] Building CXX object src/CMakeFiles/rime.dir/core_module.cc.o
[ 10%] Building CXX object src/CMakeFiles/rime.dir/ticket.cc.o
[ 11%] Building CXX object src/CMakeFiles/rime.dir/composition.cc.o
[ 12%] Building CXX object src/CMakeFiles/rime.dir/candidate.cc.o
[ 13%] Building CXX object src/CMakeFiles/rime.dir/segmentation.cc.o
[ 14%] Building CXX object src/CMakeFiles/rime.dir/commit_history.cc.o
[ 15%] Building CXX object src/CMakeFiles/rime.dir/key_event.cc.o
[ 16%] Building CXX object src/CMakeFiles/rime.dir/translation.cc.o
[ 17%] Building CXX object src/CMakeFiles/rime.dir/registry.cc.o
[ 18%] Building CXX object src/CMakeFiles/rime.dir/config.cc.o
[ 20%] Building CXX object src/CMakeFiles/rime.dir/signature.cc.o
[ 21%] Building CXX object src/CMakeFiles/rime.dir/module.cc.o
[ 22%] Building CXX object src/CMakeFiles/rime.dir/service.cc.o
[ 23%] Building CXX object src/CMakeFiles/rime.dir/context.cc.o
[ 24%] Building CXX object src/CMakeFiles/rime.dir/rime_api.cc.o
[ 25%] Building CXX object src/CMakeFiles/rime.dir/algo/utilities.cc.o
[ 26%] Building CXX object src/CMakeFiles/rime.dir/algo/encoder.cc.o
[ 27%] Building CXX object src/CMakeFiles/rime.dir/algo/algebra.cc.o
[ 28%] Building CXX object src/CMakeFiles/rime.dir/algo/syllabifier.cc.o
In file included from /pkg/librime-upstream/include/rime/dict/prism.h:18:0,
from /pkg/librime-upstream/src/algo/syllabifier.cc:13:
/pkg/librime-upstream/include/rime/dict/mapped_file.h: In member function 'T*
rime::MappedFile::Allocate(size_t)':
/pkg/librime-upstream/include/rime/dict/mapped_file.h:137:50: error: expected
primary-expression before ')' token
# define RIME_ALIGNED(size, T) ((size + alignof(T) - 1) & ~(alignof(T) - 1))
^
/pkg/librime-upstream/include/rime/dict/mapped_file.h:147:23: note: in
expansion of macro 'RIME_ALIGNED'
size_t used_space = RIME_ALIGNED(size_, T);
^
/pkg/librime-upstream/include/rime/dict/mapped_file.h:137:50: error: there are
no arguments to 'alignof' that depend on a template parameter, so a declaration
of 'alignof' must be available [-fpermissive]
# define RIME_ALIGNED(size, T) ((size + alignof(T) - 1) & ~(alignof(T) - 1))
^
/pkg/librime-upstream/include/rime/dict/mapped_file.h:147:23: note: in
expansion of macro 'RIME_ALIGNED'
size_t used_space = RIME_ALIGNED(size_, T);
^
/pkg/librime-upstream/include/rime/dict/mapped_file.h:137:50: note: (if you use
'-fpermissive', G++ will accept your code, but allowing the use of an
undeclared name is deprecated)
# define RIME_ALIGNED(size, T) ((size + alignof(T) - 1) & ~(alignof(T) - 1))
^
/pkg/librime-upstream/include/rime/dict/mapped_file.h:147:23: note: in
expansion of macro 'RIME_ALIGNED'
size_t used_space = RIME_ALIGNED(size_, T);
^
/pkg/librime-upstream/include/rime/dict/mapped_file.h:137:70: error: expected
primary-expression before ')' token
# define RIME_ALIGNED(size, T) ((size + alignof(T) - 1) & ~(alignof(T) - 1))
^
/pkg/librime-upstream/include/rime/dict/mapped_file.h:147:23: note: in
expansion of macro 'RIME_ALIGNED'
size_t used_space = RIME_ALIGNED(size_, T);
^
/pkg/librime-upstream/include/rime/dict/mapped_file.h:137:70: error: there are
no arguments to 'alignof' that depend on a template parameter, so a declaration
of 'alignof' must be available [-fpermissive]
# define RIME_ALIGNED(size, T) ((size + alignof(T) - 1) & ~(alignof(T) - 1))
^
/pkg/librime-upstream/include/rime/dict/mapped_file.h:147:23: note: in
expansion of macro 'RIME_ALIGNED'
size_t used_space = RIME_ALIGNED(size_, T);
^
src/CMakeFiles/rime.dir/build.make:629: recipe for target
'src/CMakeFiles/rime.dir/algo/syllabifier.cc.o' failed
make[3]: *** [src/CMakeFiles/rime.dir/algo/syllabifier.cc.o] Error 1
make[3]: Leaving directory '/pkg/librime-upstream/build'
CMakeFiles/Makefile2:106: recipe for target 'src/CMakeFiles/rime.dir/all' failed
make[2]: *** [src/CMakeFiles/rime.dir/all] Error 2
make[2]: Leaving directory '/pkg/librime-upstream/build'
Makefile:113: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/pkg/librime-upstream/build'
Makefile:29: recipe for target 'librime' failed
make: *** [librime] Error 2
Original comment by culu....@gmail.com
on 13 Jul 2014 at 11:58
alignof is only available with c++11.
Original comment by culu....@gmail.com
on 14 Jul 2014 at 2:12
By the way, there're some nullptr left in oldschool branch.
(Could change them to NULL?)
mkdir -p build
(cd build; cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ..)
-- The C compiler identification is GNU 4.9.0
-- The CXX compiler identification is GNU 4.9.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Boost version: 1.55.0
-- Found the following Boost libraries:
-- chrono
-- filesystem
-- regex
-- signals
-- system
-- thread
-- Found gflags: /usr/lib/x86_64-linux-gnu/libgflags.so
-- Found glog: /usr/lib/x86_64-linux-gnu/libglog.so
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found yaml-cpp: /usr/lib/x86_64-linux-gnu/libyaml-cpp.so
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.8")
-- Found kyotocabinet: /usr/lib/x86_64-linux-gnu/libkyotocabinet.so
-- Found marisa: /usr/lib/x86_64-linux-gnu/libmarisa.so
-- Found opencc: /usr/lib/x86_64-linux-gnu/libopencc.so
-- Found X11/keysym.h at /home/pkg/ime/upstream/librime/thirdparty/include
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pkg/ime/upstream/librime/build
make -C build
make[1]: Entering directory '/home/pkg/ime/upstream/librime/build'
make[2]: Entering directory '/home/pkg/ime/upstream/librime/build'
make[3]: Entering directory '/home/pkg/ime/upstream/librime/build'
Scanning dependencies of target rime
make[3]: Leaving directory '/home/pkg/ime/upstream/librime/build'
make[3]: Entering directory '/home/pkg/ime/upstream/librime/build'
[ 1%] Building CXX object src/CMakeFiles/rime.dir/registry.cc.o
[ 2%] Building CXX object src/CMakeFiles/rime.dir/module.cc.o
[ 3%] Building CXX object src/CMakeFiles/rime.dir/rime_api.cc.o
[ 4%] Building CXX object src/CMakeFiles/rime.dir/config.cc.o
[ 5%] Building CXX object src/CMakeFiles/rime.dir/segmentation.cc.o
[ 6%] Building CXX object src/CMakeFiles/rime.dir/switcher.cc.o
[ 7%] Building CXX object src/CMakeFiles/rime.dir/translation.cc.o
[ 8%] Building CXX object src/CMakeFiles/rime.dir/ticket.cc.o
[ 10%] Building CXX object src/CMakeFiles/rime.dir/setup.cc.o
[ 11%] Building CXX object src/CMakeFiles/rime.dir/candidate.cc.o
[ 12%] Building CXX object src/CMakeFiles/rime.dir/deployer.cc.o
[ 13%] Building CXX object src/CMakeFiles/rime.dir/commit_history.cc.o
[ 14%] Building CXX object src/CMakeFiles/rime.dir/service.cc.o
[ 15%] Building CXX object src/CMakeFiles/rime.dir/context.cc.o
[ 16%] Building CXX object src/CMakeFiles/rime.dir/core_module.cc.o
[ 17%] Building CXX object src/CMakeFiles/rime.dir/engine.cc.o
[ 18%] Building CXX object src/CMakeFiles/rime.dir/signature.cc.o
[ 20%] Building CXX object src/CMakeFiles/rime.dir/key_table.cc.o
[ 21%] Building CXX object src/CMakeFiles/rime.dir/schema.cc.o
[ 22%] Building CXX object src/CMakeFiles/rime.dir/composition.cc.o
[ 23%] Building CXX object src/CMakeFiles/rime.dir/menu.cc.o
[ 24%] Building CXX object src/CMakeFiles/rime.dir/key_event.cc.o
[ 25%] Building CXX object src/CMakeFiles/rime.dir/algo/algebra.cc.o
[ 26%] Building CXX object src/CMakeFiles/rime.dir/algo/syllabifier.cc.o
[ 27%] Building CXX object src/CMakeFiles/rime.dir/algo/utilities.cc.o
[ 28%] Building CXX object src/CMakeFiles/rime.dir/algo/encoder.cc.o
[ 30%] Building CXX object src/CMakeFiles/rime.dir/algo/calculus.cc.o
[ 31%] Building CXX object src/CMakeFiles/rime.dir/dict/table_db.cc.o
[ 32%] Building CXX object src/CMakeFiles/rime.dir/dict/user_db.cc.o
[ 33%] Building CXX object src/CMakeFiles/rime.dir/dict/db.cc.o
[ 34%] Building CXX object src/CMakeFiles/rime.dir/dict/dict_settings.cc.o
[ 35%] Building CXX object src/CMakeFiles/rime.dir/dict/dict_module.cc.o
In file included from
/home/pkg/ime/upstream/librime/include/rime/dict/table.h:20:0,
from /home/pkg/ime/upstream/librime/include/rime/dict/dictionary.h:17,
from /home/pkg/ime/upstream/librime/src/dict/dict_module.cc:16:
/home/pkg/ime/upstream/librime/include/rime/dict/string_table.h:47:34: error:
‘nullptr’ was not declared in this scope
StringId* reference = nullptr);
^
src/CMakeFiles/rime.dir/build.make:767: recipe for target
'src/CMakeFiles/rime.dir/dict/dict_module.cc.o' failed
make[3]: *** [src/CMakeFiles/rime.dir/dict/dict_module.cc.o] Error 1
make[3]: Leaving directory '/home/pkg/ime/upstream/librime/build'
CMakeFiles/Makefile2:106: recipe for target 'src/CMakeFiles/rime.dir/all' failed
make[2]: *** [src/CMakeFiles/rime.dir/all] Error 2
make[2]: Leaving directory '/home/pkg/ime/upstream/librime/build'
Makefile:113: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/pkg/ime/upstream/librime/build'
Makefile:29: recipe for target 'librime' failed
make: *** [librime] Error 2
Original comment by culu....@gmail.com
on 14 Jul 2014 at 2:33
fixed.
https://github.com/lotem/librime/commits/oldschool
Original comment by chen....@gmail.com
on 14 Jul 2014 at 3:52
Thank you!
I just wonder: Is oldschool binary compatible with master/develop? And is it ok
to use oldschool for Debian release[1]?
[1] https://packages.qa.debian.org/libr/librime.html
Original comment by culu....@gmail.com
on 14 Jul 2014 at 4:31
It's binary compatible as long as you exclusively use the C API. The C++
classes are not meant to be used outside the library.
Please also not that the binary dictionary files (*.bin) built on ARM is
different from those built on x86/amd64 platforms.
Please wait for me to bump the version of librime to 1.2.
Original comment by chen....@gmail.com
on 14 Jul 2014 at 5:44
Original comment by chen....@gmail.com
on 14 Jul 2014 at 7:43
Thank you!
Original comment by culu....@gmail.com
on 15 Jul 2014 at 3:36
Original issue reported on code.google.com by
culu....@gmail.com
on 12 Jul 2014 at 5:23