I am making .deb package for the QT 5 .2.1 desktop app for ubuntu 14.04 64 bit. I have installed QT 5.2.1 on Ubuntu 14.04 and made a demo app for the testing purpose in which I have used quazip library. During making the .deb package of the app I am getting the below issue.
dpkg-shlibdeps: error: couldn’t find library libquazip.so.1 needed by debian/demoapp/usr/bin/DemoApp1 (ELF format: ‘elf64-x86-64’; RPATH: ‘’)
dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/demoapp/usr/bin/DemoApp1 was not linked against libz.so.1 (it uses none of the library’s symbols)
dpkg-shlibdeps: error: cannot continue due to the error above
Note: libraries are not searched in other binary packages that do not have any shlibs or symbols file.
To help dpkg-shlibdeps find private libraries, you might need to use -l.
dh_shlibdeps: dpkg-shlibdeps -Tdebian/demoapp.substvars debian/demoapp/usr/bin/DemoApp1 returned exit code 2
make: * [binary-predeb-IMPL/demoapp] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2
debuild: fatal error at line 1364:
dpkg-buildpackage -rfakeroot -D -us -uc failed
When I copy the libquazip.so.1 at the path /usr/lib in my machine then I got the below issue .
dpkg-shlibdeps: error: no dependency information found for /usr/lib/libquazip.so.1 (used by debian/demoapp/usr/bin/DemoApp1)
dh_shlibdeps: dpkg-shlibdeps -Tdebian/demoapp.substvars debian/demoapp/usr/bin/DemoApp1 returned exit code 2
make: * [binary-predeb-IMPL/demoapp] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2
debuild: fatal error at line 1364:
dpkg-buildpackage -rfakeroot -D -us -uc failed
My cmakelist.txt file as per below.
cmake_minimum_required(VERSION 2.8.9)
project(DemoApp1)
set (CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} “;/opt/Qt5.2.1/5.2.1/gcc_64/lib/cmake;”)
find_package(Qt5Widgets REQUIRED)
include_directories(/home/manojpatidar/Manoj/Work/QT_WORK/Linux_Package/demoapp-1.0/lib/quazip-0.5.1/quazip)
link_directories(/home/manojpatidar/Manoj/Work/QT_WORK/Linux_Package/demoapp-1.0/lib/quazip-0.5.1)
add_executable(DemoApp1 main.cpp mainwindow.cpp moc_mainwindow.cpp mainwindow.ui)
target_link_libraries(DemoApp1 quazip z)
install(TARGETS DemoApp1 RUNTIME DESTINATION bin)
qt5_use_modules(DemoApp1 Widgets)
My Debian control file is as per below .
Source: demoapp
Section: games
Priority: extra
Maintainer: Manoj Patidar
Build-Depends: debhelper (>= 8.0.0), cmake, qtbase5-dev, cdbs
Standards-Version: 3.9.4
Package: demoapp
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Description
Description will come here
I think I need to add some dependencies for quazip at the line “Depends: ${shlibs:Depends}, ${misc:Depends}” . Is there anything I have missed ? . Please have look into the issue and let me know where I did wrong.
Thanks
Related
When I tried installing pkg-config, I got this error:
configure: error: Either a previously installed pkg-config or
"glib-2.0 >= 2.16" could not be found. Please set GLIB_CFLAGS and
GLIB_LIBS to the correct values or pass --with-internal-glib to
configure to use the bundled copy.
And then when I included --with-internal-glib next to ./configure, I get this error:
configure: error: *** No iconv() implementation found in C library or
libiconv configure: error: ./configure failed for glib
What do these errors mean?
Use cygcheck -p to find the package to add to your Cygwin installation that your code is looking for:
$ cygcheck -p usr/lib/libiconv
Found 7 matches for usr/lib/libiconv
...
libiconv-devel-1.16-2 - libiconv-devel: Unicode iconv() implementation
libiconv-1.14-2 - libiconv: Unicode iconv() implementation (installed binaries and support files)
You need to install the libiconv-devel package
that will provide the headers and the import libraries. After installation you will have:
$ cygcheck -l libiconv-devel |grep "a$"
/usr/lib/libcharset.a
/usr/lib/libcharset.dll.a
/usr/lib/libiconv.a
/usr/lib/libiconv.dll.a
you can also see if the available glib (libglib2.0-devel) is suitable for your build
$ cygcheck -p usr/lib/libglib
Found 10 matches for usr/lib/libglib
glib2.0-debuginfo-2.50.3-1 - glib2.0-debuginfo: Debug info for glib2.0
...
libglib2.0-devel-2.54.3-1 - libglib2.0-devel: GNOME core C function library (development)
...
libglibmm2.4-devel-2.54.1-2 - libglibmm2.4-devel: C++ bindings for glib-2.4 (development)
Do not forget to install also cygwin-devel
I am trying to install Rgtk2 (dependency for rattle). I am using R thru Anaconda. I am getting the following error.
In file included from Rgtk.c:7:0:
/usr/include/gtk-2.0/gdk/gdkx.h:32:10: fatal error: X11/Xlib.h: No such file or directory
#include <X11/Xlib.h>
^~~~~~~~~~~~
I tried the following workarounds as found in StackOverflow and other blogs.
Installed libx11-dev, mesa-common-dev, libglu1-mesa-dev, libxrandr-dev, libxi-dev
Tried installing RGtk2_2.20.31 from source.
Every time I am getting the same error.
anaconda has its own environment, which by default usually lacks X11 headers(e.g libx11-dev, or whatever you call it). Try "conda install -c conda-forge xorg-libx11" . It worked for me when a certain R-package threw an error "X11/Xlib.h : No such file or directory".
When I install hsqml, I get the following error:
cabal install hsqml
Resolving dependencies...
Configuring hsqml-0.3.4.1...
Failed to install hsqml-0.3.4.1
Build log ( C:\Users\wjsgm\AppData\Roaming\cabal\logs\hsqml-0.3.4.1.log ):
cabal: Entering directory 'C:\Users\wjsgm\AppData\Local\Temp\cabal-tmp-16012\hsqml-0.3.4.1'
[1 of 1] Compiling Main ( C:\Users\wjsgm\AppData\Local\Temp\cabal-tmp-16012\hsqml-0.3.4.1\dist\setup\setup.hs, C:\Users\wjsgm\AppData\Local\Temp\cabal-tmp-16012\hsqml-0.3.4.1\dist\setup\Main.o )
Linking C:\Users\wjsgm\AppData\Local\Temp\cabal-tmp-16012\hsqml-0.3.4.1\dist\setup\setup.exe ...
Configuring hsqml-0.3.4.1...
setup.exe: Missing dependencies on foreign libraries:
* Missing C libraries: Qt5Core, Qt5Gui, Qt5Widgets, Qt5Qml, Qt5Quick
This problem can usually be solved by installing the system packages that
provide these libraries (you may need the "-dev" versions). If the libraries
are already installed but in a non-standard location then you can use the
flags --extra-include-dirs= and --extra-lib-dirs= to specify where they are.
cabal: Leaving directory 'C:\Users\wjsgm\AppData\Local\Temp\cabal-tmp-16012\hsqml-0.3.4.1'
cabal: Error: some packages failed to install:
hsqml-0.3.4.1 failed during the configure step. The exception was:
ExitFailure 1
I'm trying to compile Qscintilla 2.9.2 on Ubuntu 16.04 64bit using Qt 5.7 got the following error message:
-L/home/mwambi/Qt5.7.0/5.7/gcc_64/lib -lQt5PrintSupport -L/usr/lib64 -lQt5Widgets -lQt5Gui -lQt5Core -lpthread -lGL
/usr/bin/ld: cannot find -lGL
collect2: error: ld returned 1 exit status
Makefile:979: recipe for target 'libqscintilla2.so.12.0.1' failed
make: *** [libqscintilla2.so.12.0.1] Error 1
I do not know what the library GL is and where to find it. How can I solve this?
In my experience, this troubleshooting procedure is enough to solve about 90% of missing library issues during compilation:
"-l[name]" implies there's a "lib[name].so"
Search your system for "lib[name]" (use locate or find).
If you find it on your system, check paths ($LB_LIBRARY_PATH and the build system's -L flags) and verify that the architecture matches (x86+64 vs. i686).
Do a repository search for "lib[name]" (use apt, yum, synaptic, &c.).
Install it if it's missing.
Type "lib[name].so" into google or a dedicated package-search site (like RPMFind or packages.ubuntu.com) and see what package names come up, then search for as in #2-3.
In this case, libGL is an implementation of OpenGL. You can install Mesa or find an alternative implementation (I've only ever used Qt with Mesa). Here's a list of packages that provide libGL; if you already have one of these installed on your system, try fetching the dev versions of whichever ones you already have.
I'm using CentOS 6.4 and I'm trying to install the R package 'rPython'. It failed with following messages. Anybody knows how to fix this? Thanks!
/usr/bin/ld: /usr/local/lib/python2.7/config/libpython2.7.a(dictobject.o): relocation R_X86_64_32S against `PyDict_Type' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/python2.7/config/libpython2.7.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [rPython.so] Error 1
ERROR: compilation failed for package ‘rPython’
* removing ‘/usr/lib64/R/library/rPython’
It seems that the default installation of Python on RHEL / CentOS,
etc. is not "shared enabled", i.e., it does not include libpython*.so. Just the libpython*.a static library. This prevents some Python
applications to run properly. There are instructions in different
places, (e.g., here or here) indicating how to install Python as a shared library on CentOS and related Linux flavours.