facebookresearch / fastText

Library for fast text representation and classification.
https://fasttext.cc/
MIT License
25.85k stars 4.71k forks source link

Build with default optimization throws link error #963

Open Minys233 opened 4 years ago

Minys233 commented 4 years ago

Ubuntu 18.04, gcc 7.4.0

I want to have a line by line debug into the code to see what happening inside the package. So, I removed -O3 in CMakeList.txt file, line 18, then it fails build with command cmake . && make -j8 . An interesting thing:

I tried to find why, but till now I have no idea what happened :-(

Error message:

-- The C compiler identification is GNU 7.4.0
-- The CXX compiler identification is GNU 7.4.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
-- Detecting C compile features
-- Detecting C compile features - 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
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/minys/CLionProjects/fastText
Scanning dependencies of target fasttext-shared
Scanning dependencies of target fasttext-static
Scanning dependencies of target fasttext-static_pic
[ 10%] Building CXX object CMakeFiles/fasttext-static.dir/src/densematrix.cc.o
[ 10%] Building CXX object CMakeFiles/fasttext-static.dir/src/args.cc.o
[ 10%] Building CXX object CMakeFiles/fasttext-static_pic.dir/src/densematrix.cc.o
[ 10%] Building CXX object CMakeFiles/fasttext-static.dir/src/dictionary.cc.o
[ 10%] Building CXX object CMakeFiles/fasttext-shared.dir/src/autotune.cc.o
[ 12%] Building CXX object CMakeFiles/fasttext-static.dir/src/autotune.cc.o
[ 19%] Building CXX object CMakeFiles/fasttext-static_pic.dir/src/args.cc.o
[ 19%] Building CXX object CMakeFiles/fasttext-shared.dir/src/densematrix.cc.o
[ 19%] Building CXX object CMakeFiles/fasttext-shared.dir/src/args.cc.o
[ 21%] Building CXX object CMakeFiles/fasttext-static_pic.dir/src/autotune.cc.o
[ 23%] Building CXX object CMakeFiles/fasttext-static_pic.dir/src/dictionary.cc.o
[ 25%] Building CXX object CMakeFiles/fasttext-static.dir/src/fasttext.cc.o
[ 27%] Building CXX object CMakeFiles/fasttext-shared.dir/src/dictionary.cc.o
[ 29%] Building CXX object CMakeFiles/fasttext-static_pic.dir/src/fasttext.cc.o
[ 31%] Building CXX object CMakeFiles/fasttext-shared.dir/src/fasttext.cc.o
[ 34%] Building CXX object CMakeFiles/fasttext-shared.dir/src/loss.cc.o
[ 36%] Building CXX object CMakeFiles/fasttext-static_pic.dir/src/loss.cc.o
[ 38%] Building CXX object CMakeFiles/fasttext-static_pic.dir/src/main.cc.o
[ 40%] Building CXX object CMakeFiles/fasttext-static.dir/src/loss.cc.o
[ 42%] Building CXX object CMakeFiles/fasttext-static.dir/src/main.cc.o
[ 44%] Building CXX object CMakeFiles/fasttext-static.dir/src/matrix.cc.o
[ 46%] Building CXX object CMakeFiles/fasttext-static_pic.dir/src/matrix.cc.o
[ 48%] Building CXX object CMakeFiles/fasttext-shared.dir/src/main.cc.o
[ 51%] Building CXX object CMakeFiles/fasttext-shared.dir/src/matrix.cc.o
[ 53%] Building CXX object CMakeFiles/fasttext-static_pic.dir/src/meter.cc.o
[ 55%] Building CXX object CMakeFiles/fasttext-static.dir/src/meter.cc.o
[ 57%] Building CXX object CMakeFiles/fasttext-static.dir/src/model.cc.o
[ 59%] Building CXX object CMakeFiles/fasttext-shared.dir/src/meter.cc.o
[ 61%] Building CXX object CMakeFiles/fasttext-shared.dir/src/model.cc.o
[ 63%] Building CXX object CMakeFiles/fasttext-shared.dir/src/productquantizer.cc.o
[ 65%] Building CXX object CMakeFiles/fasttext-shared.dir/src/quantmatrix.cc.o
[ 68%] Building CXX object CMakeFiles/fasttext-shared.dir/src/utils.cc.o
[ 70%] Building CXX object CMakeFiles/fasttext-static_pic.dir/src/model.cc.o
[ 72%] Building CXX object CMakeFiles/fasttext-shared.dir/src/vector.cc.o
[ 74%] Building CXX object CMakeFiles/fasttext-static.dir/src/productquantizer.cc.o
[ 76%] Building CXX object CMakeFiles/fasttext-static.dir/src/quantmatrix.cc.o
[ 78%] Building CXX object CMakeFiles/fasttext-static_pic.dir/src/productquantizer.cc.o
[ 80%] Building CXX object CMakeFiles/fasttext-static_pic.dir/src/quantmatrix.cc.o
[ 82%] Building CXX object CMakeFiles/fasttext-static_pic.dir/src/utils.cc.o
[ 85%] Building CXX object CMakeFiles/fasttext-static_pic.dir/src/vector.cc.o
[ 87%] Building CXX object CMakeFiles/fasttext-static.dir/src/utils.cc.o
[ 89%] Building CXX object CMakeFiles/fasttext-static.dir/src/vector.cc.o
[ 91%] Linking CXX shared library libfasttext.so
[ 91%] Built target fasttext-shared
[ 93%] Linking CXX static library libfasttext_pic.a
[ 93%] Built target fasttext-static_pic
[ 95%] Linking CXX static library libfasttext.a
[ 95%] Built target fasttext-static
Scanning dependencies of target fasttext-bin
[ 97%] Building CXX object CMakeFiles/fasttext-bin.dir/src/main.cc.o
[100%] Linking CXX executable fasttext
libfasttext.a(autotune.cc.o): In function `fasttext::Autotune::getCutoffForFileSize(bool, bool, int, long) const':
autotune.cc:(.text+0x1d05): undefined reference to `fasttext::Autotune::kCutoffLimit'
collect2: error: ld returned 1 exit status
CMakeFiles/fasttext-bin.dir/build.make:95: recipe for target 'fasttext' failed
make[2]: *** [fasttext] Error 1
CMakeFiles/Makefile2:141: recipe for target 'CMakeFiles/fasttext-bin.dir/all' failed
make[1]: *** [CMakeFiles/fasttext-bin.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
Celebio commented 4 years ago

Hi @Minys233 , Could you pull the latest commit and check again?

Best regards, Onur