AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / ubuntu / Perguntas / 1288365
Accepted
truf
truf
Asked: 2020-10-31 09:45:01 +0800 CST2020-10-31 09:45:01 +0800 CST 2020-10-31 09:45:01 +0800 CST

O pbuilder-dist falha se o cmake não encontrar suporte a recursos C++ não obrigatórios?

  • 772

Estou tentando enviar um deb para meu PPA de acordo com este manual:
https://packaging.ubuntu.com/html/packaging-new-software.html
Consigo construir meu aplicativo bzr builddeb -- -nc -us -uce assiná-lo com bzr builddeb -S. Mas a execução de pbuilder-dist groovy build myproject_0.2.8-1.dscin ../build-areafalha.
O log completo está disponível no pastebin: https://pastebin.com/whr6Qsd1

Acredito que o problema esteja na seguinte peça:

Determining if the CXX compiler accepts the flag -fno-keep-inline-dllexport failed with the following output:
Change Dir: /build/myapp-0.2.8/obj-x86_64-linux-gnu/CMakeFiles/CMakeTmp

Run Build Command(s):/usr/bin/gmake cmTC_3ab02/fast && gmake[1]: Entering directory '/build/myapp-0.2.8/obj-x86_64-linux-gnu/CMakeFiles/CMakeTmp'
/usr/bin/gmake -f CMakeFiles/cmTC_3ab02.dir/build.make CMakeFiles/cmTC_3ab02.dir/build
gmake[2]: Entering directory '/build/myapp-0.2.8/obj-x86_64-linux-gnu/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_3ab02.dir/DummyCXXFile.cxx.o
/usr/bin/c++    -std=c++0x -fno-keep-inline-dllexport   -o CMakeFiles/cmTC_3ab02.dir/DummyCXXFile.cxx.o -c /usr/share/cmake-3.16/Modules/DummyCXXFile.cxx
c++: error: command-line option '-fno-keep-inline-dllexport' is not supported by this configuration
gmake[2]: *** [CMakeFiles/cmTC_3ab02.dir/build.make:66: CMakeFiles/cmTC_3ab02.dir/DummyCXXFile.cxx.o] Error 1
gmake[2]: Leaving directory '/build/myapp-0.2.8/obj-x86_64-linux-gnu/CMakeFiles/CMakeTmp'
gmake[1]: *** [Makefile:121: cmTC_3ab02/fast] Error 2
gmake[1]: Leaving directory '/build/myapp-0.2.8/obj-x86_64-linux-gnu/CMakeFiles/CMakeTmp'



dh_auto_configure: error: cd obj-x86_64-linux-gnu && cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON -DCMAKE_INSTALL_RUNSTATEDIR=/run -DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=ON "-GUnix Makefiles" -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu .. returned exit code 1
make: *** [debian/rules:6: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2

Então, cmakeestá verificando se /usr/c++suporta -fno-keep-inline-dllexport. Compilador termina com 1 bcs não suporta, cmake retorna 2 e dh_auto_configure painics.

Se eu executar cmakeno meu sistema, estou recebendo o seguinte stdout:

-- Checking to see if CXX compiler accepts flag -ffunction-sections -fdata-sections -Wl,--gc-sections
-- Checking to see if CXX compiler accepts flag -ffunction-sections -fdata-sections -Wl,--gc-sections - yes
-- Checking to see if CXX compiler accepts flag -fno-keep-inline-dllexport
-- Checking to see if CXX compiler accepts flag -fno-keep-inline-dllexport - no
-- Checking to see if CXX compiler accepts flag -Werror=return-type
-- Checking to see if CXX compiler accepts flag -Werror=return-type - yes

Portanto, mesmo o compilador no meu sistema não suporta arquivos -fno-keep-inline-dllexport. E eu estou bem com isso. Não importa para mim. cmakenão falha.

Parece que a verificação com falha do recurso não obrigatório cmakearruina todo o pbuilder-distprocesso. Existe alguma maneira de mudar esse comportamento ou estou perdendo alguma coisa?

Ps Minhas dependências de construção são:debhelper-compat (= 13), cmake (>=2.8.9), gcc (>=4.6), qt5-qmake (>= 5.4), qtbase5-dev (>= 5.4), libtiff5-dev (>= 4.0.3), libjpeg8-dev (>= 8c), libpng-dev (>=1.6.2)

pbuilder bazaar deb cmake pbuilder-dist
  • 1 1 respostas
  • 142 Views

1 respostas

  • Voted
  1. Best Answer
    sancho.s ReinstateMonicaCellio
    2020-11-11T14:24:56+08:002020-11-11T14:24:56+08:00

    Não tenho certeza sobre o problema exato solicitado pela sua configuração. Mas duas soluções possíveis são

    1. Mudando -std=c++0xpara -std=c++11.
    2. Remover opção -fno-keep-inline-dllexport.

    Por favor, verifique seus arquivos de configuração, onde modificar isso.

    Antes disso, você pode verificar se alguma dessas opções funcionaria. Vá para o diretório pai CMakeFilese tente replicar o comando com falha na linha de comando, com as modificações sugeridas:

    1. /usr/bin/c++ -std=c++11 -fno-keep-inline-dllexport -o CMakeFiles/cmTC_3ab02.dir/DummyCXXFile.cxx.o -c /usr/share/cmake-3.16/Modules/DummyCXXFile.cxx
    2. /usr/bin/c++ -std=c++0x -o CMakeFiles/cmTC_3ab02.dir/DummyCXXFile.cxx.o -c /usr/share/cmake-3.16/Modules/DummyCXXFile.cxx

    Para que isso funcione, você provavelmente precisaria chamar primeiro cmake --debug-trycompile( source ).

    Observações sobre seu pastebin (mensagens dignas de nota, embora não necessariamente problemas) e procedimento:

    1. Você tem toneladas de ln: failed to create hard link '...' => '...': Invalid cross-device linkmensagens.
    2. Há um problema relatado com Qt5LinguistTools. Talvez valha a pena instalarqttools5-dev antes do que você fez.
    3. Ele relata Configuring incomplete, errors occurred!. Vale a pena verificar quais são as possíveis fontes de problemas.
    4. Ajuda muito se você especificar a lista exata de comandos que você emitiu, incluindo o diretório onde cada comando foi emitido.
    5. O que você quer dizer com "Se eu executar cmakeno meu sistema..."? Igual ao ponto acima.

    Relacionado :

    https://stackoverflow.com/questions/19523412/qt-config-c11-but-std-c0x

    https://code-examples.net/en/q/129e754

    • 2

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve