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
Created attachment 359682 [details, diff] Add the missing qt5 libs to the CMakeLists Does work in /etc/portage/patches/app-office/scribus-9999/
I will wait for this one for qt5 hitting the tree.
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
Created attachment 366560 [details] scribus-9999.ebuild
# 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
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.
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?
(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.
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 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.
(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.
+ 28 Jan 2015; Justin Lecher <jlec@gentoo.org> scribus-9999.ebuild: + Fix live ebuilds support for Qt5, #486288 +
(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.