Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CMake Error at src/CMakeLists.txt:179 (file): File name too long #157

Closed
kuh3h3 opened this issue Dec 28, 2017 · 18 comments
Closed

CMake Error at src/CMakeLists.txt:179 (file): File name too long #157

kuh3h3 opened this issue Dec 28, 2017 · 18 comments

Comments

@kuh3h3
Copy link

kuh3h3 commented Dec 28, 2017

Tried to build on ubuntu 17.04.

kuh3h3@reandro:~/libfm-qt$ cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_BUILD_TYPE=Release .
-- The C compiler identification is Clang 6.0.0
-- The CXX compiler identification is Clang 6.0.0
-- Check for working C compiler: /usr/local/bin/clang
-- Check for working C compiler: /usr/local/bin/clang -- 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/local/bin/clang++
-- Check for working CXX compiler: /usr/local/bin/clang++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Fm: /usr/lib/x86_64-linux-gnu/libfm.so;/usr/lib/x86_64-linux-gnu/libgthread-2.0.so;/usr/lib/x86_64-linux-gnu/libgio-2.0.so;/usr/lib/x86_64-linux-gnu/libgobject-2.0.so;/usr/lib/x86_64-linux-gnu/libglib-2.0.so (found suitable version "1.2.5", minimum required is "1.2.0")
-- Found MenuCache: /usr/lib/x86_64-linux-gnu/libmenu-cache.so;/usr/lib/x86_64-linux-gnu/libglib-2.0.so (found suitable version "1.0.2", minimum required is "0.4.0")
-- Found Exif: /usr/lib/x86_64-linux-gnu/libexif.so (found version "0.6.21")
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Found XCB: /usr/lib/x86_64-linux-gnu/libxcb.so
-- Building libfm-qt with Qt 5.7.1
-- Performing Test COMPILER_SUPPORTS_CXX11
-- Performing Test COMPILER_SUPPORTS_CXX11 - Success
-- Performing Test COMPILER_SUPPORTS_CXX0X
-- Performing Test COMPILER_SUPPORTS_CXX0X - Success
-- Found Git: /usr/bin/git (found version "2.15.1.389.g52015aaf9")
-- Pulling the translations...
https://github.com/lxde/lxqt-l10n URL에서

  • branch master -> FETCH_HEAD
    이미 업데이트 상태입니다.
    -- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
    -- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
    -- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
    -- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
    -- Performing Test COMPILER_HAS_DEPRECATED_ATTR
    -- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
    CMake Error at src/CMakeLists.txt:179 (file):
    file COPY cannot make directory
    "/home/kuh3h3/libfm-qt/src/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/CMakeFiles/include/libfm-qt/translations/.git/logs/refs/remotes/origin":
    File name too long

-- Configuring incomplete, errors occurred!
See also "/home/kuh3h3/libfm-qt/CMakeFiles/CMakeOutput.log".

@luis-pereira
Copy link
Member

@kuh3h3
Try it in a build dir:

cd build
cmake <path to sources> -DCMAKE_INSTALL_PREFIX=/usr
make
make install

@kuh3h3
Copy link
Author

kuh3h3 commented Dec 28, 2017

@luis-pereira Thanks. fixed now

@kuh3h3 kuh3h3 closed this as completed Dec 28, 2017
@tsujan
Copy link
Member

tsujan commented Dec 28, 2017

I think this is a serious problem and should be fixed. The user has right to issue the first command but, in that case, he'll encounter an enormous amount of nested folders.

@tsujan tsujan reopened this Dec 28, 2017
@tsujan
Copy link
Member

tsujan commented Dec 28, 2017

@luis-pereira?

@agaida
Copy link
Member

agaida commented Dec 28, 2017

sorry, why it is a problem - the only problem is that the to has no clue and that he will mess up his system - both are not upstream problems.
@kuh3h3 - please do yourself a favour and use the ubuntu/debian packaging tools, might be a little learning curve but it is worth it.

@tsujan
Copy link
Member

tsujan commented Dec 28, 2017

@agaida I meant it as a general problem, not kuh3h3's -- he succeeded in compiling libfm-qt.

Why is it a problem? Because something as simple as cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr creates practically infinite nested folders. That isn't the case with pcmanfm-qt, for example. Of course, none of us does that but it's possible. IMO, telling the user he shouldn't issue a simple command similar to that is like telling him not to use a program in a way it might crash.

@luis-pereira
Copy link
Member

@tsujan We don't support in source builds
Altough all documentation uses out of source build we don't enforce it.

@agaida
Copy link
Member

agaida commented Dec 28, 2017

Right - maybe we should. @tsujan and i guess the very most packaging tools in distributions do this by default.

@luis-pereira
Copy link
Member

@tsujan This issue will most certainly happen with all our librarys. But not with applications.
My proposal were is to enforce out of source builds. They are the standard.

@tsujan
Copy link
Member

tsujan commented Dec 28, 2017

We don't support in source builds

If so, we should have made it impossible, not leaving it to create infinite nested folders. That's like I say I don't support a kind of usage for my app and if the user chooses it, any crash will be his/her responsibility!!

Somethings is definitely wrong here.

@agaida
Copy link
Member

agaida commented Dec 28, 2017

We don't talk about simple users - we talk about users that have a dev background. At least they should have. To be crystal clear about: For the very most distributions cmake $foo .; make; make install it a precise shot into both feets. Thats why my answer. And the distribution support will also say: Wait a minute, why this should be our problem - thats not our supported way to do things. But we should give a hint about the need of out of tree compiling and then stop processing.

@tsujan
Copy link
Member

tsujan commented Dec 28, 2017

@agaida My opinion is as simple as this and, although I'm a fallible human being, I try to act accordingly everywhere: Any well-structured system should make heavy mistakes impossible -- be it a computer program or a Weltanschauung.

@luis-pereira
Copy link
Member

Yes, it should be enforced. But IMO it's not a big deal.
Experienced users will do out of source builds without thinking about it or actually read the documentation.
Newbies should and probably will follow the documentation and have no trouble.

I will write a module to enforce it ASAP.

@tsujan
Copy link
Member

tsujan commented Dec 28, 2017

I will write a module to enforce it ASAP.

Thanks! Looking forward to it.

@agaida
Copy link
Member

agaida commented Dec 28, 2017

Experienced users will do out of source builds without thinking about it or actually read the documentation.

Hihi - right, never ever spend a thought. And i was surprised that it is possible ...

@luis-pereira
Copy link
Member

Fix proposal:
lxqt/lxqt-build-tools#28
lxqt/liblxqt#136
....

@agaida
Copy link
Member

agaida commented Apr 30, 2018

Let's do it.

@agaida
Copy link
Member

agaida commented Aug 16, 2018

Can be closed now - we allow only out of source builds

@agaida agaida closed this as completed Aug 16, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants