Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 486288 - app-office/scribus-9999 should depend on dev-qt/qt*:5
Summary: app-office/scribus-9999 should depend on dev-qt/qt*:5
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Justin Lecher (RETIRED)
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks:
 
Reported: 2013-09-28 10:48 UTC by Markus
Modified: 2015-02-06 18:26 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Add the missing qt5 libs to the CMakeLists (fix-missing-qt5-libs.patch,2.34 KB, patch)
2013-09-28 10:49 UTC, Markus
Details | Diff
scribus-9999.ebuild (scribus-9999.ebuild,3.71 KB, text/plain)
2013-12-30 16:12 UTC, waynedpj
Details
updated app-office/scribus-9999 ebuild for QT 5.3.1* compatibility (scribus-9999.ebuild,4.22 KB, text/plain)
2014-09-26 16:27 UTC, waynedpj
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Markus 2013-09-28 10:48:01 UTC
The build will fail without some Qt5 packages.

At least it needs:
dev-qt/linguist:5
dev-qt/qtcore:5
dev-qt/qtwebkit:5
dev-qt/qtwidgets:5
dev-qt/qtxml:5
dev-qt/qtdeclarative:5

After the configure another error arises:
#error "You must build your code with position independent code if Qt was built with -reduce-relocations. " "Compile your code with -fPIC or -fPIE."

Just added that one on the command line.

Then some headers and libs are not found. Needed to add some entries to the CMakeList.txt (see patch)

After that it builds and runs ;)

Reproducible: Always
Comment 1 Markus 2013-09-28 10:49:57 UTC
Created attachment 359682 [details, diff]
Add the missing qt5 libs to the CMakeLists

Does work in /etc/portage/patches/app-office/scribus-9999/
Comment 2 Justin Lecher (RETIRED) gentoo-dev 2013-09-30 13:42:10 UTC
I will wait for this one for qt5 hitting the tree.
Comment 3 waynedpj 2013-12-30 16:11:58 UTC
trying to get scribus-9999 built with the patch as well as the changes in my local ebuild (attached below).  the qt5 stuff seems OK but the linking is failing on libXML2 missing ICU symbols:

Linking CXX executable scribus-1.5.0.svn
/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/../../../../lib64/libxml2.so: riferimento non definito a "ucnv_setToUCallBack"
/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/../../../../lib64/libxml2.so: riferimento non definito a "ucnv_convertEx"
/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/../../../../lib64/libxml2.so: riferimento non definito a "ucnv_setFromUCallBack"
/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/../../../../lib64/libxml2.so: riferimento non definito a "ucnv_close"
/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/../../../../lib64/libxml2.so: riferimento non definito a "UCNV_FROM_U_CALLBACK_STOP"
/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/../../../../lib64/libxml2.so: riferimento non definito a "ucnv_open"
/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/../../../../lib64/libxml2.so: riferimento non definito a "UCNV_TO_U_CALLBACK_STOP"
collect2: error: ld returned 1 exit status
make[2]: *** [scribus/scribus-1.5.0.svn] Errore 1
make[1]: *** [scribus/CMakeFiles/scribus-1.5.0.svn.dir/all] Errore 2
make: *** [all] Errore 2

when i rebuild libxml2 with USE flag -icu then it seems to link correctly.  is this a problem with the scribus-9999 ebuild, i.e. do we need to either list libxml2[-icu] or should the CMake script pull in the dependency of libxml2 on icu?  i believe it is the later but have no idea how CMake works.

thanks
Comment 4 waynedpj 2013-12-30 16:12:49 UTC
Created attachment 366560 [details]
scribus-9999.ebuild
Comment 5 waynedpj 2013-12-30 16:26:10 UTC
# emerge --info 
Portage 2.2.7 (default/linux/amd64/13.0/desktop/gnome, gcc-4.7.3, glibc-2.16.0, 3.10.17-gentoo-gnu x86_64)
=================================================================
System uname: Linux-3.10.17-gentoo-gnu-x86_64-Intel-R-_Core-TM-2_Duo_CPU_P8700_@_2.53GHz-with-gentoo-2.2
KiB Mem:     8144836 total,   2699136 free
KiB Swap:    6289404 total,   6273176 free
Timestamp of tree: Sun, 29 Dec 2013 21:30:01 +0000
ld ld di GNU (GNU Binutils) 2.23.2
ccache version 3.1.9 [enabled]
app-shells/bash:          4.2_p45
dev-java/java-config:     2.1.12-r1
dev-lang/python:          2.6.8-r3, 2.7.5-r3, 3.2.5-r3, 3.3.2-r2
dev-util/ccache:          3.1.9
dev-util/cmake:           2.8.11.2
dev-util/pkgconfig:       0.28
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.12.4
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6, 1.12.6, 1.13.4
sys-devel/binutils:       2.23.2
sys-devel/gcc:            4.6.3, 4.7.3-r1
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.9 (virtual/os-headers)
sys-libs/glibc:           2.16.0
Repositories: gentoo proaudio sunrise qt x-portage
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="@FREE CCPL-Sampling-Plus-1.0 X11 Mini-XML as-is"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.4/ext-active/ /etc/php/apache2-php5.5/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cgi-php5.5/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/php/cli-php5.5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--color=y --fail-clean=y"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs ccache clean-logs config-protect-if-modified distlocks fail-clean fixlafiles merge-sync news parallel-fetch parallel-install preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="ftp://mirror.datapipe.net/gentoo"
LANG="it_IT.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/pro-audio /var/lib/layman/sunrise /var/lib/layman/qt /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi aim alsa amd64 audiofile avahi bash-completion berkdb bluetooth branding bzip2 cairo caps cdda cddb cdparanoia cdr cli clutter colord consolekit cracklib crypt css cups cxx dbus deblob dirac directfb dri dssi dts dv dvd dvdr eds egl emacs emboss encode evo exif fam fbcon ffmpeg fftw firefox flac fontconfig ftp gallium gdbm gif gimp gmp gnome gnome-keyring gnome-online-accounts gnutls gpg gphoto2 gpm gsm gstreamer gtk gtk3 hddtemp iconv icu idn ieee1394 imap imlib introspection ios ipod iptc ipv6 jabber jack jackmidi java jbig jpeg jpeg2k ladspa lame lcms libcanberra libnotify libsamplerate libsecret lm_sensors lv2 lzo mad matroska midi mime mmap mmx mmxext mng modules mp3 mp4 mpeg mtp mudflap multilib musicbrainz nautilus ncurses networkmanager nls normalize nptl nsplugin offensive ogg opengl openmp openssl openvg opus osc oscar pam pango pch pcre pcsc-lite pdf png policykit ppds pulseaudio python qt3support quicktime raw readline rss samba scanner schroedinger sento session skey smartcard smp sndfile socialweb speex spell sse sse2 sse3 sse4 sse4_1 ssl ssse3 startup-notification suil svg taglib tcpd theora threads thunar tiff tracker truetype udev udisks unicode upnp upnp-av upower usb v4l2 vaapi vala vcd vhosts vnc vorbis vpx wav wavpack webm wifi wmf wxwidgets x264 xattr xcb xcomposite xface xft xinerama xml xmp xpm xps xrandr xv xvid xvmc zeroconf zlib" ABI_X86="64" ALSA_CARDS="hda-intel" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="canon ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CURL_SSL="nss" ELIBC="glibc" ENLIGHTENMENT_MODULES="backlight battery clock comp conf-applications conf-dialogs conf-display conf-edgebindings conf-interaction conf-intl conf-keybindings conf-menus conf-paths conf-performance conf-randr conf-shelves conf-theme conf-window-manipulation conf-window-remembers cpufreq dropshadow everything fileman fileman-opinfo gadman ibar ibox illume2 mixer msgbus notification pager quickaccess start syscon systray tasks temperature tiling winlist wizard xkbswitch shot" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="pc efi-64 qemu" INPUT_DEVICES="keyboard mouse synpatics evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-minimizer wiki-publisher" LINGUAS="en en_US it fr es es_ES" LIRC_DEVICES="devinput" NETBEANS_MODULES="nb cnd groovy ide java profiler xml" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5 php5-4" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_6 python2_7 python3_2" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby18 ruby19" SANE_BACKENDS="hp canon" USERLAND="GNU" VIDEO_CARDS="i915 intel" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
USE_PYTHON="2.6 2.7 3.2"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 6 waynedpj 2014-09-26 16:27:04 UTC
Created attachment 385548 [details]
updated app-office/scribus-9999 ebuild for QT 5.3.1* compatibility

here is an updated ebuild working for dev-qt/qt*-5.3.1-r1, with the following changes from stock ebuild in portage:

1. added line to "mycmakeargs" as discussed http://lists.scribus.net/pipermail/scribus/2014-September/050927.html to prevent linking errors

-DCMAKE_EXE_LINKER_FLAGS="-lQt5Quick -lQt5PrintSupport"

perhaps this should happen automagically via CMake?

2. as mentioned above, modified CFLAGS/CXXFLAGS to have -fPIC

3. updated QT deps for 5 as discussed above:

dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/linguist:5
dev-qt/qtwebkit:5
dev-qt/qtwidgets:5
dev-qt/qtxml:5
dev-qt/qtdeclarative:5

hope this helps.
Comment 7 Markus 2014-12-05 14:21:13 UTC
qt5 is in the main tree for some month now but the ebuild for scribus-9999 is still broken.

is it common practice to keep completely broken ebuilds in the tree for over a year instead of fixing or removing them?
Comment 8 Justin Lecher (RETIRED) gentoo-dev 2014-12-05 14:36:28 UTC
(In reply to Markus from comment #7)
> qt5 is in the main tree for some month now but the ebuild for scribus-9999
> is still broken.

qt5 is masked and scribus-9999 has no keywords. This means you get limited support.

> 
> is it common practice to keep completely broken ebuilds in the tree for over
> a year instead of fixing or removing them?

Think before you write something. Thanks.
Comment 9 Miroslav Šulc gentoo-dev 2015-01-26 12:08:09 UTC
i just tried to compile scribus using the ebuild from wayne and it compiles without issues so i guess it's time to replace the old broken ebuild with this new one.
Comment 10 Justin Lecher (RETIRED) gentoo-dev 2015-01-26 12:11:43 UTC
Comment on attachment 385548 [details]
updated app-office/scribus-9999 ebuild for QT 5.3.1* compatibility

>CFLAGS="${CFLAGS} -fPIC"
>CXXFLAGS="${CFLAGS}"

Those should nor be changed in global scope. And second, you should not compile anything but shared object files using fPIC. The needs to be fixed in the buildsystem not here.
Comment 11 Justin Lecher (RETIRED) gentoo-dev 2015-01-28 08:46:21 UTC
(In reply to Wayne DePrince Jr. from comment #6)
> -DCMAKE_EXE_LINKER_FLAGS="-lQt5Quick -lQt5PrintSupport"

Have you seen any trouble with not setting this? For me it builds completely fine without them.

> 2. as mentioned above, modified CFLAGS/CXXFLAGS to have -fPIC

It seems you are right and I am wrong. We need to set this for the whole ebuild.
Comment 12 Justin Lecher (RETIRED) gentoo-dev 2015-01-28 08:52:40 UTC
+  28 Jan 2015; Justin Lecher <jlec@gentoo.org> scribus-9999.ebuild:
+  Fix live ebuilds support for Qt5, #486288
+
Comment 13 waynedpj 2015-02-06 18:26:22 UTC
(In reply to Justin Lecher from comment #11)
> (In reply to Wayne DePrince Jr. from comment #6)
> > -DCMAKE_EXE_LINKER_FLAGS="-lQt5Quick -lQt5PrintSupport"
> 
> Have you seen any trouble with not setting this? For me it builds completely
> fine without them.

  sorry for late reply. yes, now w/ QT 5.4 in portage it builds w/o those switches.  i was using the QT overlay so maybe that was an issue, or more likely my system had issues.

> 
> > 2. as mentioned above, modified CFLAGS/CXXFLAGS to have -fPIC
> 
> It seems you are right and I am wrong. We need to set this for the whole
> ebuild.

  thanks for the confirmation and the fix, scribus-9999 builing fine out of portage.