View Issue Details

IDProjectCategoryView StatusLast Update
0015236ScribusBuild Systempublic2019-06-04 20:56
Reportermunzirtaha Assigned Tojghali  
PriorityurgentSeveritymajorReproducibilityalways
Status closedResolutionfixed 
PlatformLinuxOSArch LinuxOS Versionlatest
Product Version1.5.4.svn 
Fixed in Version1.5.4.svn 
Summary0015236: Scribus stopped building after update to icu 61.1
DescriptionCompiling scribus from source in Arch Linux fail. Tried makepkg -s and cmake && make

munzir@spectre/t/scribus-svn> pacman -Q harfbuzz harfbuzz-icu icu
harfbuzz 1.7.6-2
harfbuzz-icu 1.7.6-2
icu 61.1-1
Steps To Reproducemunzir@spectre/t/scribus-svn> makepkg -sri
==> Making package: scribus-svn 22460-1 (Sat Mar 31 04:26:08 +03 2018)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Updating scribus svn repo...
Updating '.':
At revision 22460.
  -> Found python2.patch
==> Validating source files with md5sums...
    scribus ... Skipped
    python2.patch ... Passed
==> Extracting sources...
  -> Creating working copy of trunk svn repo...
==> Starting prepare()...
patching file Scribus/scribus/plugins/scriptplugin/samples/3columnA4.py
Reversed (or previously applied) patch detected! Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file Scribus/scribus/plugins/scriptplugin/samples/3columnA4.py.rej
patching file Scribus/scribus/plugins/scriptplugin/samples/3columnUSLTR.py
Reversed (or previously applied) patch detected! Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file Scribus/scribus/plugins/scriptplugin/samples/3columnUSLTR.py.rej
patching file Scribus/scribus/plugins/scriptplugin/samples/Calender.py
Reversed (or previously applied) patch detected! Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file Scribus/scribus/plugins/scriptplugin/samples/Calender.py.rej
patching file Scribus/scribus/plugins/scriptplugin/samples/ExtractText.py
Reversed (or previously applied) patch detected! Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file Scribus/scribus/plugins/scriptplugin/samples/ExtractText.py.rej
patching file Scribus/scribus/plugins/scriptplugin/samples/Sample1.py
Reversed (or previously applied) patch detected! Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file Scribus/scribus/plugins/scriptplugin/samples/Sample1.py.rej
patching file Scribus/scribus/plugins/scriptplugin/samples/boilerplate.py
Reversed (or previously applied) patch detected! Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file Scribus/scribus/plugins/scriptplugin/samples/boilerplate.py.rej
patching file Scribus/scribus/plugins/scriptplugin/samples/golden-mean.py
Reversed (or previously applied) patch detected! Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file Scribus/scribus/plugins/scriptplugin/samples/golden-mean.py.rej
patching file Scribus/scribus/plugins/scriptplugin/samples/legende.py
Reversed (or previously applied) patch detected! Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file Scribus/scribus/plugins/scriptplugin/samples/legende.py.rej
patching file Scribus/scribus/plugins/scriptplugin/samples/moins_10_pourcent_group.py
Reversed (or previously applied) patch detected! Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file Scribus/scribus/plugins/scriptplugin/samples/moins_10_pourcent_group.py.rej
patching file Scribus/scribus/plugins/scriptplugin/samples/plus_10_pourcent_group.py
Reversed (or previously applied) patch detected! Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file Scribus/scribus/plugins/scriptplugin/samples/plus_10_pourcent_group.py.rej
patching file Scribus/scribus/plugins/scriptplugin/samples/pochette_cd.py
Reversed (or previously applied) patch detected! Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file Scribus/scribus/plugins/scriptplugin/samples/pochette_cd.py.rej
patching file Scribus/scribus/plugins/scriptplugin/samples/quote.py
Reversed (or previously applied) patch detected! Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file Scribus/scribus/plugins/scriptplugin/samples/quote.py.rej
patching file Scribus/scribus/plugins/scriptplugin/samples/sample_db_usage.py
Reversed (or previously applied) patch detected! Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file Scribus/scribus/plugins/scriptplugin/samples/sample_db_usage.py.rej
patching file Scribus/scribus/plugins/scriptplugin/samples/trait_de_coupe.py
Reversed (or previously applied) patch detected! Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file Scribus/scribus/plugins/scriptplugin/samples/trait_de_coupe.py.rej
patching file Scribus/scribus/plugins/scriptplugin/samples/wordcount.py
Reversed (or previously applied) patch detected! Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file Scribus/scribus/plugins/scriptplugin/samples/wordcount.py.rej
patching file Scribus/scribus/plugins/scriptplugin/scripts/Autoquote.py
Reversed (or previously applied) patch detected! Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file Scribus/scribus/plugins/scriptplugin/scripts/Autoquote.py.rej
patching file Scribus/scribus/plugins/scriptplugin/scripts/Autoquote2.py
Reversed (or previously applied) patch detected! Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file Scribus/scribus/plugins/scriptplugin/scripts/Autoquote2.py.rej
patching file Scribus/scribus/plugins/scriptplugin/scripts/Caption.py
Reversed (or previously applied) patch detected! Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file Scribus/scribus/plugins/scriptplugin/scripts/Caption.py.rej
patching file Scribus/scribus/plugins/scriptplugin/scripts/ColorChart.py
Reversed (or previously applied) patch detected! Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file Scribus/scribus/plugins/scriptplugin/scripts/ColorChart.py.rej
patching file Scribus/scribus/plugins/scriptplugin/scripts/DirectImageImport.py
Reversed (or previously applied) patch detected! Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file Scribus/scribus/plugins/scriptplugin/scripts/DirectImageImport.py.rej
patching file Scribus/scribus/plugins/scriptplugin/scripts/FontSample.py
Reversed (or previously applied) patch detected! Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file Scribus/scribus/plugins/scriptplugin/scripts/FontSample.py.rej
patching file Scribus/scribus/plugins/scriptplugin/scripts/InfoBox.py
Reversed (or previously applied) patch detected! Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file Scribus/scribus/plugins/scriptplugin/scripts/InfoBox.py.rej
patching file Scribus/scribus/plugins/scriptplugin/scripts/Ligatursatz.py
Reversed (or previously applied) patch detected! Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file Scribus/scribus/plugins/scriptplugin/scripts/Ligatursatz.py.rej
patching file Scribus/scribus/plugins/scriptplugin/scripts/color2csv.py
Reversed (or previously applied) patch detected! Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file Scribus/scribus/plugins/scriptplugin/scripts/color2csv.py.rej
patching file Scribus/scribus/plugins/scriptplugin/scripts/csv2color.py
Reversed (or previously applied) patch detected! Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file Scribus/scribus/plugins/scriptplugin/scripts/csv2color.py.rej
patching file Scribus/scribus/plugins/scriptplugin/scripts/importcsv2table.py
Reversed (or previously applied) patch detected! Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file Scribus/scribus/plugins/scriptplugin/scripts/importcsv2table.py.rej
==> Starting pkgver()...
==> Removing existing $pkgdir/ directory...
==> Starting build()...
-- Shared Library Flags:
-- Scribus 1.5.4.svn will be built and installed into /usr
-- Machine: x86_64-pc-linux-gnu, void pointer size: 8
-- Found target X86_64
-- Building for target x86_64-pc-linux-gnu
-- Using standard ApplicationDataDir. You can change it with -DAPPLICATION_DATA_DIR
-- Using standard ApplicationConfigDir. You can change it with -DAPPLICATION_CONFIG_DIR
-- ----- USE QT 5-----
-- ----- USE QT Widgets-----
-- ----- USE Qt5Gui -----
-- ----- USE QT 5 XML -----
-- ----- USE Qt5Network -----
-- ----- USE Qt5OpenGL -----
-- ----- USE Qt5LinguistTools -----
-- ----- USE Qt5PrintSupport -----
-- Qt VERSION: 5.10.1
-- Your Qt version is 5.7.0 or superior, enabling C++11 compiler features
-- Enabling C++11 compiler features
ZLIB Library Found OK
OSG found OK
JPEG Library Found OK
TIFF Library Found OK
Python Library Found OK
-- FreeType2 Library Found OK
CAIRO Library Found OK
CUPS Library Found OK
LIBXML2 Library Found OK
LCMS 2 ReleaseLibrary: /usr/lib/liblcms2.so
LCMS 2 Debug Library: LCMS2_LIBRARY_DEBUG-NOTFOUND
LCMS 2 Library: /usr/lib/liblcms2.so
LittleCMS-2 Library Found OK
FontConfig Found OK
-- New HUNSPELL API found
Hunspell Found OK
OpenSSL found OK for installed version of PoDoFo (>= 0.9.5) - Enabling support for PDF embedded in AI
PoDoFo found OK
-- Boost version: 1.66.0
Boost Library Found OK
GraphicksMagick Found OK
-- Found poppler
-- Found poppler libs: /usr/lib/libpoppler.so
-- Found poppler includes: /usr/include/poppler
-- SVN Version requested in About dialog
-- GMAGICK: Libs: -lGraphicsMagick, Inc: /usr/include/GraphicsMagick, Ldflags: -lGraphicsMagick
-- Including OpenSSL files for PoDoFo >= 0.9.5
CMake Deprecation Warning at scribus/CMakeLists.txt:1202 (cmake_policy):
  The OLD behavior for policy CMP0003 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances. Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.


RPATH: lib/scribus/plugins/;
-- Qt5::CoreQt5::WidgetsQt5::GuiQt5::XmlQt5::NetworkQt5::OpenGL/usr/lib/libxml2.so/usr/lib/libz.so
Building Corel Draw Importer with librevenge
Building Freehand Importer with librevenge
Building Pagemaker Importer with librevenge
Building MS Publisher Importer with librevenge
Building QuarkXPress Importer
Building MS-Visio Importer with librevenge
Building Zoner Draw Importer
-- Building with Scripter 1
-- No source header files will be installed
-- /tmp/scribus-svn/src/scribus/Scribus/resources/translations
-- The following GUI languages will be installed:
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/scribus-svn/src/scribus/Scribus
-- Found Subversion: /usr/bin/svn (found version "1.9.7")
[ 0%] Built target svnheader
[ 1%] Built target scribus_zip_lib
[ 2%] Built target scribus_colormgmt_lib
[ 2%] Built target scribus_desaxe_lib
[ 2%] Building CXX object scribus/fonts/CMakeFiles/scribus_fonts_lib.dir/scface.cpp.o
In file included from /tmp/scribus-svn/src/scribus/Scribus/scribus/fonts/scface.cpp:18:0:
/tmp/scribus-svn/src/scribus/Scribus/scribus/text/storytext.h:252:9: error: ‘BreakIterator’ does not name a type; did you mean ‘UBreakIterator’?
  static BreakIterator* getGraphemeIterator();
         ^~~~~~~~~~~~~
         UBreakIterator
/tmp/scribus-svn/src/scribus/Scribus/scribus/text/storytext.h:253:9: error: ‘BreakIterator’ does not name a type; did you mean ‘UBreakIterator’?
  static BreakIterator* getWordIterator();
         ^~~~~~~~~~~~~
         UBreakIterator
/tmp/scribus-svn/src/scribus/Scribus/scribus/text/storytext.h:254:9: error: ‘BreakIterator’ does not name a type; did you mean ‘UBreakIterator’?
  static BreakIterator* getSentenceIterator();
         ^~~~~~~~~~~~~
         UBreakIterator
/tmp/scribus-svn/src/scribus/Scribus/scribus/text/storytext.h:255:9: error: ‘BreakIterator’ does not name a type; did you mean ‘UBreakIterator’?
  static BreakIterator* getLineIterator();
         ^~~~~~~~~~~~~
         UBreakIterator
/tmp/scribus-svn/src/scribus/Scribus/scribus/text/storytext.h:299:9: error: ‘BreakIterator’ does not name a type; did you mean ‘UBreakIterator’?
  static BreakIterator* m_graphemeIterator;
         ^~~~~~~~~~~~~
         UBreakIterator
/tmp/scribus-svn/src/scribus/Scribus/scribus/text/storytext.h:300:9: error: ‘BreakIterator’ does not name a type; did you mean ‘UBreakIterator’?
  static BreakIterator* m_wordIterator;
         ^~~~~~~~~~~~~
         UBreakIterator
/tmp/scribus-svn/src/scribus/Scribus/scribus/text/storytext.h:301:9: error: ‘BreakIterator’ does not name a type; did you mean ‘UBreakIterator’?
  static BreakIterator* m_sentenceIterator;
         ^~~~~~~~~~~~~
         UBreakIterator
/tmp/scribus-svn/src/scribus/Scribus/scribus/text/storytext.h:302:9: error: ‘BreakIterator’ does not name a type; did you mean ‘UBreakIterator’?
  static BreakIterator* m_lineIterator;
         ^~~~~~~~~~~~~
         UBreakIterator
make[2]: *** [scribus/fonts/CMakeFiles/scribus_fonts_lib.dir/build.make:131: scribus/fonts/CMakeFiles/scribus_fonts_lib.dir/scface.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:380: scribus/fonts/CMakeFiles/scribus_fonts_lib.dir/all] Error 2
make: *** [Makefile:152: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...
TagsNo tags attached.
PatchNo

Activities

alexmerry

2018-03-31 19:52

reporter   ~0045129

See http://source.icu-project.org/repos/icu/trunk/icu4c/readme.html#RecBuild

This can be fixed (in a backwards-compatible way) by adding

    add_definitions(-DU_USING_ICU_NAMESPACE=1)

to the CMakeLists.txt file.

haawda

2018-03-31 23:00

reporter   ~0045130

I tried that, but it did not change anything.

alexmerry

2018-03-31 23:22

reporter   ~0045131

Ah, I should have been clearer. It won't work to add it to the end of the file. I added it just below "pkg_check_modules(ICU REQUIRED icu-uc)", since that seemed the logical place for it, but anywhere between the "cmake_minimum_required" line near the top of the file and the first "add_subdirectory" line (near the end) should work.

haawda

2018-04-01 05:22

reporter   ~0045132

Thanks for clarification, this seems to work. I am currently rebuilding (54%).

haawda

2018-04-01 17:24

reporter   ~0045133

I can now finally confirm that this works fine.

haawda

2018-04-01 17:27

reporter  

icu_fix.patch (261 bytes)   
--- CMakeLists.txt	(revision 22461)
+++ CMakeLists.txt	(working copy)
@@ -926,5 +926,6 @@
 # CTL support
 pkg_check_modules(HARFBUZZ REQUIRED harfbuzz>=0.9.42 harfbuzz-icu)
 pkg_check_modules(ICU REQUIRED icu-uc)
+add_definitions(-DU_USING_ICU_NAMESPACE=1)
 
 
icu_fix.patch (261 bytes)   

munzirtaha

2018-04-01 19:33

reporter   ~0045134

@alexmerry: thanks for the build option.
Let's keep this bug open till the code is fixed.

jghali

2018-04-03 23:00

administrator   ~0045140

I used a less temporary approach by adding the "using namespace icu" declarations where necessary. Relying on U_USING_ICU_NAMESPACE would have triggered another build failure the day where this definition will be removed by the icu guys.

haawda

2018-04-04 16:23

reporter   ~0045144

That fix also works, thanks.

Issue History

Date Modified Username Field Change
2018-03-31 01:32 munzirtaha New Issue
2018-03-31 19:52 alexmerry Note Added: 0045129
2018-03-31 23:00 haawda Note Added: 0045130
2018-03-31 23:22 alexmerry Note Added: 0045131
2018-04-01 05:22 haawda Note Added: 0045132
2018-04-01 17:24 haawda Note Added: 0045133
2018-04-01 17:27 haawda File Added: icu_fix.patch
2018-04-01 19:33 munzirtaha Note Added: 0045134
2018-04-03 22:56 jghali Summary Scribus stopped building after lastest updates to harfbuzz and icu => Scribus stopped building after update to icu 61.1
2018-04-03 23:00 jghali Assigned To => jghali
2018-04-03 23:00 jghali Status new => resolved
2018-04-03 23:00 jghali Resolution open => fixed
2018-04-03 23:00 jghali Fixed in Version => 1.5.4.svn
2018-04-03 23:00 jghali Note Added: 0045140
2018-04-04 16:23 haawda Note Added: 0045144
2019-06-04 20:56 cbradney Status resolved => closed