apertium/lexd

problems whith installing

Closed this issue · 6 comments

I got the problem during the installation. Do you know, what could be a problem?

-> lexd $ ./autogen.sh
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking whether build environment is sane... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for LTTOOLBOX... yes
checking for ICU_UC... yes
checking for ICU_IO... yes
checking for getopt_long... yes
checking whether C++ compiler accepts -std=c++20... no
checking whether C++ compiler accepts -std=c++2a... no
checking whether C++ compiler accepts -std=c++17... yes
checking that generated files are newer than configure... done
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: executing depfiles commands
-> lexd $ make
Making all in src
make[1]: Entering directory '/home/agricolamz/distributives/lexd/src'
g++ -DPACKAGE_NAME=\"lexd\" -DPACKAGE_TARNAME=\"lexd\" -DPACKAGE_VERSION=\"0.0.1\" -DPACKAGE_STRING=\"lexd\ 0.0.1\" -DPACKAGE_BUGREPORT=\"awesomeevildudes@gmail.com\" -DPACKAGE_URL=\"\" -DPACKAGE=\"lexd\" -DVERSION=\"0.0.1\" -DHAVE_GETOPT_LONG=1 -I.   -Wall -Wextra -Wsign-conversion  -I/usr/local/include/lttoolbox-3.5    -Wall -g -ggdb -DDEBUG -Wall -Wextra -Werror=missing-field-initializers -Wsign-conversion -g -O2 -std=c++17 -MT lexd.o -MD -MP -MF .deps/lexd.Tpo -c -o lexd.o lexd.cc
g++ -DPACKAGE_NAME=\"lexd\" -DPACKAGE_TARNAME=\"lexd\" -DPACKAGE_VERSION=\"0.0.1\" -DPACKAGE_STRING=\"lexd\ 0.0.1\" -DPACKAGE_BUGREPORT=\"awesomeevildudes@gmail.com\" -DPACKAGE_URL=\"\" -DPACKAGE=\"lexd\" -DVERSION=\"0.0.1\" -DHAVE_GETOPT_LONG=1 -I.   -Wall -Wextra -Wsign-conversion  -I/usr/local/include/lttoolbox-3.5    -Wall -g -ggdb -DDEBUG -Wall -Wextra -Werror=missing-field-initializers -Wsign-conversion -g -O2 -std=c++17 -MT lexicon.o -MD -MP -MF .deps/lexicon.Tpo -c -o lexicon.o lexicon.cc
g++ -DPACKAGE_NAME=\"lexd\" -DPACKAGE_TARNAME=\"lexd\" -DPACKAGE_VERSION=\"0.0.1\" -DPACKAGE_STRING=\"lexd\ 0.0.1\" -DPACKAGE_BUGREPORT=\"awesomeevildudes@gmail.com\" -DPACKAGE_URL=\"\" -DPACKAGE=\"lexd\" -DVERSION=\"0.0.1\" -DHAVE_GETOPT_LONG=1 -I.   -Wall -Wextra -Wsign-conversion  -I/usr/local/include/lttoolbox-3.5    -Wall -g -ggdb -DDEBUG -Wall -Wextra -Werror=missing-field-initializers -Wsign-conversion -g -O2 -std=c++17 -MT lexdcompiler.o -MD -MP -MF .deps/lexdcompiler.Tpo -c -o lexdcompiler.o lexdcompiler.cc
g++ -DPACKAGE_NAME=\"lexd\" -DPACKAGE_TARNAME=\"lexd\" -DPACKAGE_VERSION=\"0.0.1\" -DPACKAGE_STRING=\"lexd\ 0.0.1\" -DPACKAGE_BUGREPORT=\"awesomeevildudes@gmail.com\" -DPACKAGE_URL=\"\" -DPACKAGE=\"lexd\" -DVERSION=\"0.0.1\" -DHAVE_GETOPT_LONG=1 -I.   -Wall -Wextra -Wsign-conversion  -I/usr/local/include/lttoolbox-3.5    -Wall -g -ggdb -DDEBUG -Wall -Wextra -Werror=missing-field-initializers -Wsign-conversion -g -O2 -std=c++17 -MT icu-iter.o -MD -MP -MF .deps/icu-iter.Tpo -c -o icu-iter.o icu-iter.cc
mv -f .deps/icu-iter.Tpo .deps/icu-iter.Po
mv -f .deps/lexd.Tpo .deps/lexd.Po
mv -f .deps/lexicon.Tpo .deps/lexicon.Po
mv -f .deps/lexdcompiler.Tpo .deps/lexdcompiler.Po
g++ -Wall -g -ggdb -DDEBUG -Wall -Wextra -Werror=missing-field-initializers -Wsign-conversion -g -O2 -std=c++17 -L/usr/local/lib -llttoolbox3  -licuuc -licudata -licuio -licui18n -licuuc -licudata -Wl,--gc-sections -Wl,-s -Wl,-v -o lexd lexd.o lexicon.o lexdcompiler.o icu-iter.o  -L/usr/local/lib -llttoolbox3  -licuuc -licudata -licuio -licui18n -licuuc -licudata
collect2 version 7.5.0
/usr/bin/ld -plugin /usr/lib/gcc/x86_64-linux-gnu/7/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper -plugin-opt=-fresolution=/tmp/ccdTV4hw.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o lexd /usr/lib/x86_64-linux-gnu/Scrt1.o /usr/lib/x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/7/crtbeginS.o -L/usr/local/lib -L/usr/local/lib -L/opt/rstudio-tools/boost/boost_1_63_0/lib/../lib -L/usr/local/lib/../lib -L/opt/Qt5.10.1/5.11.2/gcc_64/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/jvm/java-8-oracle/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/7 -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/7/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/opt/rstudio-tools/boost/boost_1_63_0/lib -L/usr/local/lib -L/opt/Qt5.10.1/5.11.2/gcc_64/lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/x86_64-linux-gnu/qt5 -L/lib/x86_64-linux-gnu -L/usr/lib/jvm/java-8-oracle/lib -L/usr/lib/gcc/x86_64-linux-gnu/7/../../.. -llttoolbox3 -licuuc -licudata -licuio -licui18n -licuuc -licudata --gc-sections -s -v lexd.o lexicon.o lexdcompiler.o icu-iter.o -llttoolbox3 -licuuc -licudata -licuio -licui18n -licuuc -licudata -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/7/crtendS.o /usr/lib/x86_64-linux-gnu/crtn.o
GNU ld (GNU Binutils for Ubuntu) 2.30
/usr/bin/ld: lexdcompiler.o: undefined reference to symbol '_ZN6icu_6013UnicodeStringC1EPKc'
/usr/lib/x86_64-linux-gnu/libicuuc.so.60: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:337: recipe for target 'lexd' failed
make[1]: *** [lexd] Error 1
make[1]: Leaving directory '/home/agricolamz/distributives/lexd/src'
Makefile:341: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
-> lexd $ uname -a
Linux agricolamz 5.4.0-48-generic #52~18.04.1-Ubuntu SMP Thu Sep 10 12:50:22 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
-> lexd $ g++ --version
g++ (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Oh, it is not so straightforward. I'll try soon.

You don't need to build from source. Run this instead to get from nightly packages:

wget https://apertium.projectjj.com/apt/install-nightly.sh -O - | sudo bash
sudo apt-get install lexd

We build lexd for all supported Ubuntu >= Bionic and Debian >= Buster. There are no errors in the nightly build, so your setup must be different from stock.

I've tried it earlier... Even though I used --no-check-certificate with wget, I get into certificate problems when I apt update:

Err:14 http://apertium.projectjj.com/apt/nightly bionic InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY D7727BC7588E9340
Reading package lists... Done   
W: GPG error: http://apertium.projectjj.com/apt/nightly bionic InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY D7727BC7588E9340
E: The repository 'http://apertium.projectjj.com/apt/nightly bionic InRelease' is not signed.

The install-nightly.sh script installs the GPG key https://apertium.projectjj.com/apt/apertium-packaging.public.gpg - if this doesn't even work for you, I don't know what you've done to your setup. On a stock fresh Bionic install, the packages instructions and build both work.

Maybe build or install it in a Docker Bionic image that you can guarantee is pristine, then export the result to your main setup.

I managed to do after playing around with certificates. Thanks!