Discussion:
[sword-devel] Can't build on OS X (undefined reference to UnicodeString)
Manfred Bergmann
2014-08-18 15:34:36 UTC
Permalink
Hi.

Anyone successfully built the current trunk on OS X (Mavericks)?
I get the above error. "UnicodeString" doesn't seem to be part of libicucore?



Manfred
Manfred Bergmann
2014-08-18 17:16:28 UTC
Permalink
Hmm, weird stuff.
UnicodeString seems to be in icucore. And I've got -licucore.
But it seems to be references not correctly:

Undefined symbols for architecture x86_64:
"icu::UnicodeString::UnicodeString()", referenced from:
sword::UTF8NFC::processText(sword::SWBuf&, sword::SWKey const*, sword::SWModule const*) in utf8nfc.o

Any ideas?

Manfred
Post by Manfred Bergmann
Hi.
Anyone successfully built the current trunk on OS X (Mavericks)?
I get the above error. "UnicodeString" doesn't seem to be part of libicucore?
Manfred
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
Greg Hellings
2014-08-19 15:11:44 UTC
Permalink
Is this while building Sword or BibleTime?

--Greg


On Mon, Aug 18, 2014 at 12:16 PM, Manfred Bergmann <manfred.bergmann at me.com>
Post by Manfred Bergmann
Hmm, weird stuff.
UnicodeString seems to be in icucore. And I've got -licucore.
sword::UTF8NFC::processText(sword::SWBuf&, sword::SWKey const*,
sword::SWModule const*) in utf8nfc.o
Any ideas?
Manfred
Post by Manfred Bergmann
Hi.
Anyone successfully built the current trunk on OS X (Mavericks)?
I get the above error. "UnicodeString" doesn't seem to be part of
libicucore?
Post by Manfred Bergmann
Manfred
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.crosswire.org/pipermail/sword-devel/attachments/20140819/fea4aea2/attachment.html>
Manfred Bergmann
2014-08-19 15:17:45 UTC
Permalink
Building Sword from within Xcode after svn update.

But I'll try the following, initiate the configure procedure and see how the build goes, which defines are set, etc. Maybe I'm missing something.


Manfred
Post by Greg Hellings
Is this while building Sword or BibleTime?
--Greg
Hmm, weird stuff.
UnicodeString seems to be in icucore. And I've got -licucore.
sword::UTF8NFC::processText(sword::SWBuf&, sword::SWKey const*, sword::SWModule const*) in utf8nfc.o
Any ideas?
Manfred
Post by Manfred Bergmann
Hi.
Anyone successfully built the current trunk on OS X (Mavericks)?
I get the above error. "UnicodeString" doesn't seem to be part of libicucore?
Manfred
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
Manfred Bergmann
2014-08-19 17:28:12 UTC
Permalink
Hmm. Don't know this doesn't work.

tried cmake, called cmake/build-release.sh, got the following:
---
pacsaar:sword-trunk mbergmann$ cmake/build-release.sh
-- The CXX compiler identification is AppleClang 5.1.0.5030040
-- The C compiler identification is AppleClang 5.1.0.5030040
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Configuring your system to build libsword.
-- SWORD Version 1007003000
--
-- SEARCHING FOR SYTEM PACKAGES
-- System regex.h: Yes
--
-- CONFIGURING SOURCE LIST
-- ZLib: system /usr/lib/libz.dylib
-- bzip2: system /usr/lib/libbz2.dylib
-- xz: system /usr/lib/liblzma.dylib
-- cURL: system /usr/lib/libcurl.dylib and /usr/include
-- CLucene: no
-- PkgConfig: no
-- ICU: no
-- Regex.h: system /usr/include
-- Building Shared library.
-- Building Static library.
-- Setting SOVERSION to 1.7.3
-- cURL SFTP Support: No
-- Setting link libraries to /usr/lib/libz.dylib;/usr/lib/libbz2.dylib;/usr/lib/liblzma.dylib;/usr/lib/libcurl.dylib
--
-- CONFIGURING INSTALLATION DESTINATIONS
-- Destination: /opt/sword
--
-- CONFIGURING SWIG BINDINGS
-- Could NOT find SWIG (missing: SWIG_EXECUTABLE SWIG_DIR)
CMake Error at bindings/swig/CMakeLists.txt:15 (MESSAGE):
Swig: no


-- Configuring incomplete, errors occurred!
See also "/Users/mbergmann/Development/MySources/crosswire/sword-trunk/build/CMakeFiles/CMakeOutput.log".
make: *** No targets specified and no makefile found. Stop.
---

No ICU seems to be found on the system. Though there is libicucore in /usr/lib/.

Also a standard configure, make I get the following error:
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../include -I../include -I/opt/sword/include -DUSE_AUTOTOOLS -DUNIX -Dunix -D__unix__ -DSWICU_DATA=\"/opt/sword/lib/sword/1.6.1_icu_2.1\" -DGLOBCONFPATH=\"/opt/sword/etc/sword.conf\" -D_FTPLIB_NO_COMPAT -O3 -D_ICU_ -ftemplate-depth-25 -DCURLAVAILABLE -DNO_VSNPRINTF -MT utilxml.lo -MD -MP -MF .deps/utilxml.Tpo -c ../src/utilfuns/utilxml.cpp -o utilxml.o >/dev/null 2>&1
mv -f .deps/utilxml.Tpo .deps/utilxml.Plo
make[1]: *** No rule to make target `../src/utilfuns/swunicod.cpp', needed by `swunicod.lo'. Stop.
make: *** [all-recursive] Error 1


Now putting all that aside I can build the current trunk all right in Xcode when manually putting the stuff together. I'm doing that for a couple of years now in the objc binding.
But building with _ICU_ doesn't work anymore since I've done svn update (see error below).
I can run a version without ICU but I'm not exactly certain which other problems this might bring.

What about the BibleTime guys. Did they build all right on Mac with ICU?



Manfred
Post by Manfred Bergmann
Building Sword from within Xcode after svn update.
But I'll try the following, initiate the configure procedure and see how the build goes, which defines are set, etc. Maybe I'm missing something.
Manfred
Post by Greg Hellings
Is this while building Sword or BibleTime?
--Greg
Hmm, weird stuff.
UnicodeString seems to be in icucore. And I've got -licucore.
sword::UTF8NFC::processText(sword::SWBuf&, sword::SWKey const*, sword::SWModule const*) in utf8nfc.o
Any ideas?
Manfred
Post by Manfred Bergmann
Hi.
Anyone successfully built the current trunk on OS X (Mavericks)?
I get the above error. "UnicodeString" doesn't seem to be part of libicucore?
Manfred
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
Greg Hellings
2014-08-19 19:56:51 UTC
Permalink
On my own system I get:

-- CLucene: yes /opt/local/lib/libclucene-core.dylib in /opt/local/include
and /opt/local/include;/opt/local/include

-- PkgConfig: yes

-- ICU: yes /opt/local/lib/libicuuc.dylib and /opt/local/include


I have installed them from MacPorts. I believe, however, that BibleTime
builds without them as Qt is used in place of ICU and CLucene is linked
directly into BibleTime for its custom search functionality. Obviously,
feel free to edit your local .sh script. Those are only given there for
examples of how to build with CMake for people who are not familiar with
the system much as usrinst.sh is more of a guideline. For instance, I doubt
you're looking to build the Python or Perl extensions.


--Greg


On Tue, Aug 19, 2014 at 12:28 PM, Manfred Bergmann <manfred.bergmann at me.com>
Post by Manfred Bergmann
Hmm. Don't know this doesn't work.
---
pacsaar:sword-trunk mbergmann$ cmake/build-release.sh
-- The CXX compiler identification is AppleClang 5.1.0.5030040
-- The C compiler identification is AppleClang 5.1.0.5030040
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Configuring your system to build libsword.
-- SWORD Version 1007003000
--
-- SEARCHING FOR SYTEM PACKAGES
-- System regex.h: Yes
--
-- CONFIGURING SOURCE LIST
-- ZLib: system /usr/lib/libz.dylib
-- bzip2: system /usr/lib/libbz2.dylib
-- xz: system /usr/lib/liblzma.dylib
-- cURL: system /usr/lib/libcurl.dylib and /usr/include
-- CLucene: no
-- PkgConfig: no
-- ICU: no
-- Regex.h: system /usr/include
-- Building Shared library.
-- Building Static library.
-- Setting SOVERSION to 1.7.3
-- cURL SFTP Support: No
-- Setting link libraries to
/usr/lib/libz.dylib;/usr/lib/libbz2.dylib;/usr/lib/liblzma.dylib;/usr/lib/libcurl.dylib
--
-- CONFIGURING INSTALLATION DESTINATIONS
-- Destination: /opt/sword
--
-- CONFIGURING SWIG BINDINGS
-- Could NOT find SWIG (missing: SWIG_EXECUTABLE SWIG_DIR)
Swig: no
-- Configuring incomplete, errors occurred!
See also
"/Users/mbergmann/Development/MySources/crosswire/sword-trunk/build/CMakeFiles/CMakeOutput.log".
make: *** No targets specified and no makefile found. Stop.
---
No ICU seems to be found on the system. Though there is libicucore in /usr/lib/.
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../include -I../include
-I/opt/sword/include -DUSE_AUTOTOOLS -DUNIX -Dunix -D__unix__
-DSWICU_DATA=\"/opt/sword/lib/sword/1.6.1_icu_2.1\"
-DGLOBCONFPATH=\"/opt/sword/etc/sword.conf\" -D_FTPLIB_NO_COMPAT -O3
-D_ICU_ -ftemplate-depth-25 -DCURLAVAILABLE -DNO_VSNPRINTF -MT utilxml.lo
-MD -MP -MF .deps/utilxml.Tpo -c ../src/utilfuns/utilxml.cpp -o utilxml.o
Post by Manfred Bergmann
/dev/null 2>&1
mv -f .deps/utilxml.Tpo .deps/utilxml.Plo
make[1]: *** No rule to make target `../src/utilfuns/swunicod.cpp', needed
by `swunicod.lo'. Stop.
make: *** [all-recursive] Error 1
Now putting all that aside I can build the current trunk all right in
Xcode when manually putting the stuff together. I'm doing that for a couple
of years now in the objc binding.
But building with _ICU_ doesn't work anymore since I've done svn update (see error below).
I can run a version without ICU but I'm not exactly certain which other
problems this might bring.
What about the BibleTime guys. Did they build all right on Mac with ICU?
Manfred
Post by Manfred Bergmann
Building Sword from within Xcode after svn update.
But I'll try the following, initiate the configure procedure and see how
the build goes, which defines are set, etc. Maybe I'm missing something.
Post by Manfred Bergmann
Manfred
Post by Greg Hellings
Is this while building Sword or BibleTime?
--Greg
On Mon, Aug 18, 2014 at 12:16 PM, Manfred Bergmann <
Hmm, weird stuff.
UnicodeString seems to be in icucore. And I've got -licucore.
sword::UTF8NFC::processText(sword::SWBuf&, sword::SWKey const*,
sword::SWModule const*) in utf8nfc.o
Post by Manfred Bergmann
Post by Greg Hellings
Any ideas?
Manfred
Am 18.08.2014 um 17:34 schrieb Manfred Bergmann <
Post by Manfred Bergmann
Hi.
Anyone successfully built the current trunk on OS X (Mavericks)?
I get the above error. "UnicodeString" doesn't seem to be part of
libicucore?
Post by Manfred Bergmann
Post by Greg Hellings
Post by Manfred Bergmann
Manfred
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.crosswire.org/pipermail/sword-devel/attachments/20140819/c4245d24/attachment.html>
Manfred Bergmann
2014-08-20 19:57:01 UTC
Permalink
If possible I don't want to install libraries (Homebrew, MacPorts, etc) used for building Sword which are not part of the stock OS X.

How can ICU be replaced with Qt?



Manfred
-- CLucene: yes /opt/local/lib/libclucene-core.dylib in /opt/local/include and /opt/local/include;/opt/local/include
-- PkgConfig: yes
-- ICU: yes /opt/local/lib/libicuuc.dylib and /opt/local/include
I have installed them from MacPorts. I believe, however, that BibleTime builds without them as Qt is used in place of ICU and CLucene is linked directly into BibleTime for its custom search functionality. Obviously, feel free to edit your local .sh script. Those are only given there for examples of how to build with CMake for people who are not familiar with the system much as usrinst.sh is more of a guideline. For instance, I doubt you're looking to build the Python or Perl extensions.
--Greg
Hmm. Don't know this doesn't work.
---
pacsaar:sword-trunk mbergmann$ cmake/build-release.sh
-- The CXX compiler identification is AppleClang 5.1.0.5030040
-- The C compiler identification is AppleClang 5.1.0.5030040
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Configuring your system to build libsword.
-- SWORD Version 1007003000
--
-- SEARCHING FOR SYTEM PACKAGES
-- System regex.h: Yes
--
-- CONFIGURING SOURCE LIST
-- ZLib: system /usr/lib/libz.dylib
-- bzip2: system /usr/lib/libbz2.dylib
-- xz: system /usr/lib/liblzma.dylib
-- cURL: system /usr/lib/libcurl.dylib and /usr/include
-- CLucene: no
-- PkgConfig: no
-- ICU: no
-- Regex.h: system /usr/include
-- Building Shared library.
-- Building Static library.
-- Setting SOVERSION to 1.7.3
-- cURL SFTP Support: No
-- Setting link libraries to /usr/lib/libz.dylib;/usr/lib/libbz2.dylib;/usr/lib/liblzma.dylib;/usr/lib/libcurl.dylib
--
-- CONFIGURING INSTALLATION DESTINATIONS
-- Destination: /opt/sword
--
-- CONFIGURING SWIG BINDINGS
-- Could NOT find SWIG (missing: SWIG_EXECUTABLE SWIG_DIR)
Swig: no
-- Configuring incomplete, errors occurred!
See also "/Users/mbergmann/Development/MySources/crosswire/sword-trunk/build/CMakeFiles/CMakeOutput.log".
make: *** No targets specified and no makefile found. Stop.
---
No ICU seems to be found on the system. Though there is libicucore in /usr/lib/.
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../include -I../include -I/opt/sword/include -DUSE_AUTOTOOLS -DUNIX -Dunix -D__unix__ -DSWICU_DATA=\"/opt/sword/lib/sword/1.6.1_icu_2.1\" -DGLOBCONFPATH=\"/opt/sword/etc/sword.conf\" -D_FTPLIB_NO_COMPAT -O3 -D_ICU_ -ftemplate-depth-25 -DCURLAVAILABLE -DNO_VSNPRINTF -MT utilxml.lo -MD -MP -MF .deps/utilxml.Tpo -c ../src/utilfuns/utilxml.cpp -o utilxml.o >/dev/null 2>&1
mv -f .deps/utilxml.Tpo .deps/utilxml.Plo
make[1]: *** No rule to make target `../src/utilfuns/swunicod.cpp', needed by `swunicod.lo'. Stop.
make: *** [all-recursive] Error 1
Now putting all that aside I can build the current trunk all right in Xcode when manually putting the stuff together. I'm doing that for a couple of years now in the objc binding.
But building with _ICU_ doesn't work anymore since I've done svn update (see error below).
I can run a version without ICU but I'm not exactly certain which other problems this might bring.
What about the BibleTime guys. Did they build all right on Mac with ICU?
Manfred
Post by Manfred Bergmann
Building Sword from within Xcode after svn update.
But I'll try the following, initiate the configure procedure and see how the build goes, which defines are set, etc. Maybe I'm missing something.
Manfred
Post by Greg Hellings
Is this while building Sword or BibleTime?
--Greg
Hmm, weird stuff.
UnicodeString seems to be in icucore. And I've got -licucore.
sword::UTF8NFC::processText(sword::SWBuf&, sword::SWKey const*, sword::SWModule const*) in utf8nfc.o
Any ideas?
Manfred
Post by Manfred Bergmann
Hi.
Anyone successfully built the current trunk on OS X (Mavericks)?
I get the above error. "UnicodeString" doesn't seem to be part of libicucore?
Manfred
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
Greg Hellings
2014-08-20 20:16:46 UTC
Permalink
ICU is largely (exclusively?) used for transliteration within Sword. Qt
offers the same functionality (it has both its own built-in functionality
for that or it can be built on top of ICU). Since Qt already comes with the
functionality built in, BibleTime distributes its OS X binary without the
extra size of ICU.

As for wanting to build without MacPorts, you'd have to either find or
install the development headers for both of those libraries if you want
that support (In the distant past ICU was available on Mac but not
development headers for it, so MacPorts just installed headers for the
system library back then. Not sure what the story is now). If you have the
headers and the link library, you'll need to specify the proper search
path. For ICU, you can add the standard search directories to your CMake
invocation using the standard mechanism for appending library and header
search paths. For CLucene you can use that method, or specify CLUCENE_HOME
in your environment variables before invocation.

Another option entirely is to run CMake until it fails to find them, then
edit your CMakeCache.txt file to manually specify the path for the
appropriate CLUCENE and ICU variables, then rerun CMake to generate the
build files with the modified options.

There are lots of paths to get you where you're going, and I'm willing to
accept patches or pull requests (http://github.com/greg-hellings/sword.git)
to improve detection on OS X. The relevant files are
cmake/Find{ICU,CLucene}.cmake in the Sword source tree.

--Greg


On Wed, Aug 20, 2014 at 2:57 PM, Manfred Bergmann <manfred.bergmann at me.com>
Post by Manfred Bergmann
If possible I don't want to install libraries (Homebrew, MacPorts, etc)
used for building Sword which are not part of the stock OS X.
How can ICU be replaced with Qt?
Manfred
Post by Greg Hellings
-- CLucene: yes /opt/local/lib/libclucene-core.dylib in
/opt/local/include and /opt/local/include;/opt/local/include
Post by Greg Hellings
-- PkgConfig: yes
-- ICU: yes /opt/local/lib/libicuuc.dylib and /opt/local/include
I have installed them from MacPorts. I believe, however, that BibleTime
builds without them as Qt is used in place of ICU and CLucene is linked
directly into BibleTime for its custom search functionality. Obviously,
feel free to edit your local .sh script. Those are only given there for
examples of how to build with CMake for people who are not familiar with
the system much as usrinst.sh is more of a guideline. For instance, I doubt
you're looking to build the Python or Perl extensions.
Post by Greg Hellings
--Greg
On Tue, Aug 19, 2014 at 12:28 PM, Manfred Bergmann <
Hmm. Don't know this doesn't work.
---
pacsaar:sword-trunk mbergmann$ cmake/build-release.sh
-- The CXX compiler identification is AppleClang 5.1.0.5030040
-- The C compiler identification is AppleClang 5.1.0.5030040
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Configuring your system to build libsword.
-- SWORD Version 1007003000
--
-- SEARCHING FOR SYTEM PACKAGES
-- System regex.h: Yes
--
-- CONFIGURING SOURCE LIST
-- ZLib: system /usr/lib/libz.dylib
-- bzip2: system /usr/lib/libbz2.dylib
-- xz: system /usr/lib/liblzma.dylib
-- cURL: system /usr/lib/libcurl.dylib and /usr/include
-- CLucene: no
-- PkgConfig: no
-- ICU: no
-- Regex.h: system /usr/include
-- Building Shared library.
-- Building Static library.
-- Setting SOVERSION to 1.7.3
-- cURL SFTP Support: No
-- Setting link libraries to
/usr/lib/libz.dylib;/usr/lib/libbz2.dylib;/usr/lib/liblzma.dylib;/usr/lib/libcurl.dylib
Post by Greg Hellings
--
-- CONFIGURING INSTALLATION DESTINATIONS
-- Destination: /opt/sword
--
-- CONFIGURING SWIG BINDINGS
-- Could NOT find SWIG (missing: SWIG_EXECUTABLE SWIG_DIR)
Swig: no
-- Configuring incomplete, errors occurred!
See also
"/Users/mbergmann/Development/MySources/crosswire/sword-trunk/build/CMakeFiles/CMakeOutput.log".
Post by Greg Hellings
make: *** No targets specified and no makefile found. Stop.
---
No ICU seems to be found on the system. Though there is libicucore in
/usr/lib/.
Post by Greg Hellings
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../include -I../include
-I/opt/sword/include -DUSE_AUTOTOOLS -DUNIX -Dunix -D__unix__
-DSWICU_DATA=\"/opt/sword/lib/sword/1.6.1_icu_2.1\"
-DGLOBCONFPATH=\"/opt/sword/etc/sword.conf\" -D_FTPLIB_NO_COMPAT -O3
-D_ICU_ -ftemplate-depth-25 -DCURLAVAILABLE -DNO_VSNPRINTF -MT utilxml.lo
-MD -MP -MF .deps/utilxml.Tpo -c ../src/utilfuns/utilxml.cpp -o utilxml.o
Post by Greg Hellings
/dev/null 2>&1
mv -f .deps/utilxml.Tpo .deps/utilxml.Plo
make[1]: *** No rule to make target `../src/utilfuns/swunicod.cpp',
needed by `swunicod.lo'. Stop.
Post by Greg Hellings
make: *** [all-recursive] Error 1
Now putting all that aside I can build the current trunk all right in
Xcode when manually putting the stuff together. I'm doing that for a couple
of years now in the objc binding.
Post by Greg Hellings
But building with _ICU_ doesn't work anymore since I've done svn update
(see error below).
Post by Greg Hellings
I can run a version without ICU but I'm not exactly certain which other
problems this might bring.
Post by Greg Hellings
What about the BibleTime guys. Did they build all right on Mac with ICU?
Manfred
Am 19.08.2014 um 17:17 schrieb Manfred Bergmann <manfred.bergmann at me.com
Post by Manfred Bergmann
Building Sword from within Xcode after svn update.
But I'll try the following, initiate the configure procedure and see
how the build goes, which defines are set, etc. Maybe I'm missing something.
Post by Greg Hellings
Post by Manfred Bergmann
Manfred
Am 19.08.2014 um 17:11 schrieb Greg Hellings <greg.hellings at gmail.com
Post by Greg Hellings
Is this while building Sword or BibleTime?
--Greg
On Mon, Aug 18, 2014 at 12:16 PM, Manfred Bergmann <
Hmm, weird stuff.
UnicodeString seems to be in icucore. And I've got -licucore.
sword::UTF8NFC::processText(sword::SWBuf&, sword::SWKey const*,
sword::SWModule const*) in utf8nfc.o
Post by Greg Hellings
Post by Manfred Bergmann
Post by Greg Hellings
Any ideas?
Manfred
Am 18.08.2014 um 17:34 schrieb Manfred Bergmann <
Post by Manfred Bergmann
Hi.
Anyone successfully built the current trunk on OS X (Mavericks)?
I get the above error. "UnicodeString" doesn't seem to be part of
libicucore?
Post by Greg Hellings
Post by Manfred Bergmann
Post by Greg Hellings
Post by Manfred Bergmann
Manfred
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.crosswire.org/pipermail/sword-devel/attachments/20140820/633310bc/attachment-0001.html>
Nic Carter
2014-08-21 05:07:43 UTC
Permalink
Sorry for taking a while to reply!

I bumped into this issue with iOS a few months ago and then ran out of time to fix it. ?Recently? (months ago?) Chris added some more dependencies on ICU into SWORD and iOS chokes on that. When I look for:
<unicode/ucnv.h>
it can?t find it. The available headers under iOS are:

~ ? ls /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/usr/include/unicode
localpointer.h putil.h umachine.h utext.h utf_old.h
parseerr.h uchar.h uregex.h utf.h utypes.h
platform.h uconfig.h urename.h utf16.h uvernum.h
ptypes.h uiter.h ustring.h utf8.h uversion.h

(This is for iOS 7.1, which was the current version at that point, and the version of ICU included is reported as "51.1")
If I have time, I?m going to #ifdef out the stuff Chris added that breaks the build under iOS so that I can continue to use the built-in ICU rather than having to roll my own for iOS. But due to a lack of time right now, PS is sitting there needing about 1 hour of work, plus a fix for the above error, before the next version is released. However, me #def-ing out new code that Chris added is a band-aid fix, as he?ll probably add more funky features that I then won?t be able to use :( Then again, perhaps I?ll have handed PS over to someone new by then & that can be their problem to fix? :) :)

I don?t have the OS X components required to check how similar this is for OS X (installed on this machine, that is), but this is the current situation with iOS. Perhaps that helps you, perhaps not? :) :) :)

Thanks, ybic
nic? :)

----
Nic Carter
PocketSword Developer - an iOS Bible Study app
Twitter: http://twitter.com/pocketsword
iTunes: http://itunes.apple.com/app/Pocketsword/id341046078
ICU is largely (exclusively?) used for transliteration within Sword. Qt offers the same functionality (it has both its own built-in functionality for that or it can be built on top of ICU). Since Qt already comes with the functionality built in, BibleTime distributes its OS X binary without the extra size of ICU.
As for wanting to build without MacPorts, you'd have to either find or install the development headers for both of those libraries if you want that support (In the distant past ICU was available on Mac but not development headers for it, so MacPorts just installed headers for the system library back then. Not sure what the story is now). If you have the headers and the link library, you'll need to specify the proper search path. For ICU, you can add the standard search directories to your CMake invocation using the standard mechanism for appending library and header search paths. For CLucene you can use that method, or specify CLUCENE_HOME in your environment variables before invocation.
Another option entirely is to run CMake until it fails to find them, then edit your CMakeCache.txt file to manually specify the path for the appropriate CLUCENE and ICU variables, then rerun CMake to generate the build files with the modified options.
There are lots of paths to get you where you're going, and I'm willing to accept patches or pull requests (http://github.com/greg-hellings/sword.git <http://github.com/greg-hellings/sword.git>) to improve detection on OS X. The relevant files are cmake/Find{ICU,CLucene}.cmake in the Sword source tree.
--Greg
If possible I don't want to install libraries (Homebrew, MacPorts, etc) used for building Sword which are not part of the stock OS X.
How can ICU be replaced with Qt?
Manfred
-- CLucene: yes /opt/local/lib/libclucene-core.dylib in /opt/local/include and /opt/local/include;/opt/local/include
-- PkgConfig: yes
-- ICU: yes /opt/local/lib/libicuuc.dylib and /opt/local/include
I have installed them from MacPorts. I believe, however, that BibleTime builds without them as Qt is used in place of ICU and CLucene is linked directly into BibleTime for its custom search functionality. Obviously, feel free to edit your local .sh script. Those are only given there for examples of how to build with CMake for people who are not familiar with the system much as usrinst.sh is more of a guideline. For instance, I doubt you're looking to build the Python or Perl extensions.
--Greg
Hmm. Don't know this doesn't work.
---
pacsaar:sword-trunk mbergmann$ cmake/build-release.sh
-- The CXX compiler identification is AppleClang 5.1.0.5030040 <tel:5.1.0.5030040>
-- The C compiler identification is AppleClang 5.1.0.5030040 <tel:5.1.0.5030040>
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Configuring your system to build libsword.
-- SWORD Version 1007003000
--
-- SEARCHING FOR SYTEM PACKAGES
-- System regex.h: Yes
--
-- CONFIGURING SOURCE LIST
-- ZLib: system /usr/lib/libz.dylib
-- bzip2: system /usr/lib/libbz2.dylib
-- xz: system /usr/lib/liblzma.dylib
-- cURL: system /usr/lib/libcurl.dylib and /usr/include
-- CLucene: no
-- PkgConfig: no
-- ICU: no
-- Regex.h: system /usr/include
-- Building Shared library.
-- Building Static library.
-- Setting SOVERSION to 1.7.3
-- cURL SFTP Support: No
-- Setting link libraries to /usr/lib/libz.dylib;/usr/lib/libbz2.dylib;/usr/lib/liblzma.dylib;/usr/lib/libcurl.dylib
--
-- CONFIGURING INSTALLATION DESTINATIONS
-- Destination: /opt/sword
--
-- CONFIGURING SWIG BINDINGS
-- Could NOT find SWIG (missing: SWIG_EXECUTABLE SWIG_DIR)
Swig: no
-- Configuring incomplete, errors occurred!
See also "/Users/mbergmann/Development/MySources/crosswire/sword-trunk/build/CMakeFiles/CMakeOutput.log".
make: *** No targets specified and no makefile found. Stop.
---
No ICU seems to be found on the system. Though there is libicucore in /usr/lib/.
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../include -I../include -I/opt/sword/include -DUSE_AUTOTOOLS -DUNIX -Dunix -D__unix__ -DSWICU_DATA=\"/opt/sword/lib/sword/1.6.1_icu_2.1\" -DGLOBCONFPATH=\"/opt/sword/etc/sword.conf\" -D_FTPLIB_NO_COMPAT -O3 -D_ICU_ -ftemplate-depth-25 -DCURLAVAILABLE -DNO_VSNPRINTF -MT utilxml.lo -MD -MP -MF .deps/utilxml.Tpo -c ../src/utilfuns/utilxml.cpp -o utilxml.o >/dev/null 2>&1
mv -f .deps/utilxml.Tpo .deps/utilxml.Plo
make[1]: *** No rule to make target `../src/utilfuns/swunicod.cpp', needed by `swunicod.lo'. Stop.
make: *** [all-recursive] Error 1
Now putting all that aside I can build the current trunk all right in Xcode when manually putting the stuff together. I'm doing that for a couple of years now in the objc binding.
But building with _ICU_ doesn't work anymore since I've done svn update (see error below).
I can run a version without ICU but I'm not exactly certain which other problems this might bring.
What about the BibleTime guys. Did they build all right on Mac with ICU?
Manfred
Post by Manfred Bergmann
Building Sword from within Xcode after svn update.
But I'll try the following, initiate the configure procedure and see how the build goes, which defines are set, etc. Maybe I'm missing something.
Manfred
Post by Greg Hellings
Is this while building Sword or BibleTime?
--Greg
Hmm, weird stuff.
UnicodeString seems to be in icucore. And I've got -licucore.
sword::UTF8NFC::processText(sword::SWBuf&, sword::SWKey const*, sword::SWModule const*) in utf8nfc.o
Any ideas?
Manfred
Post by Manfred Bergmann
Hi.
Anyone successfully built the current trunk on OS X (Mavericks)?
I get the above error. "UnicodeString" doesn't seem to be part of libicucore?
Manfred
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org <mailto:sword-devel at crosswire.org>
http://www.crosswire.org/mailman/listinfo/sword-devel <http://www.crosswire.org/mailman/listinfo/sword-devel>
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org <mailto:sword-devel at crosswire.org>
http://www.crosswire.org/mailman/listinfo/sword-devel <http://www.crosswire.org/mailman/listinfo/sword-devel>
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org <mailto:sword-devel at crosswire.org>
http://www.crosswire.org/mailman/listinfo/sword-devel <http://www.crosswire.org/mailman/listinfo/sword-devel>
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org <mailto:sword-devel at crosswire.org>
http://www.crosswire.org/mailman/listinfo/sword-devel <http://www.crosswire.org/mailman/listinfo/sword-devel>
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org <mailto:sword-devel at crosswire.org>
http://www.crosswire.org/mailman/listinfo/sword-devel <http://www.crosswire.org/mailman/listinfo/sword-devel>
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org <mailto:sword-devel at crosswire.org>
http://www.crosswire.org/mailman/listinfo/sword-devel <http://www.crosswire.org/mailman/listinfo/sword-devel>
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org <mailto:sword-devel at crosswire.org>
http://www.crosswire.org/mailman/listinfo/sword-devel <http://www.crosswire.org/mailman/listinfo/sword-devel>
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.crosswire.org/pipermail/sword-devel/attachments/20140821/1a8c1a1e/attachment-0001.html>
Manfred Bergmann
2014-08-21 06:30:50 UTC
Permalink
Thanks for the clarification.

Right, OS X didn't ship the headers for ICU, don't know exactly when that changed.
Currently, since 10.7 (AFAIR) it ships with ICU however only libicucore + the headers required for that.
The weird thing is that UnicodeString is present in the headers (unistr.h) also seems to be present in libicucore (when making an object dump of libicucore).
But still linking doesn't work.
I guess it needs some more digging.


Manfred
ICU is largely (exclusively?) used for transliteration within Sword. Qt offers the same functionality (it has both its own built-in functionality for that or it can be built on top of ICU). Since Qt already comes with the functionality built in, BibleTime distributes its OS X binary without the extra size of ICU.
As for wanting to build without MacPorts, you'd have to either find or install the development headers for both of those libraries if you want that support (In the distant past ICU was available on Mac but not development headers for it, so MacPorts just installed headers for the system library back then. Not sure what the story is now). If you have the headers and the link library, you'll need to specify the proper search path. For ICU, you can add the standard search directories to your CMake invocation using the standard mechanism for appending library and header search paths. For CLucene you can use that method, or specify CLUCENE_HOME in your environment variables before invocation.
Another option entirely is to run CMake until it fails to find them, then edit your CMakeCache.txt file to manually specify the path for the appropriate CLUCENE and ICU variables, then rerun CMake to generate the build files with the modified options.
There are lots of paths to get you where you're going, and I'm willing to accept patches or pull requests (http://github.com/greg-hellings/sword.git) to improve detection on OS X. The relevant files are cmake/Find{ICU,CLucene}.cmake in the Sword source tree.
--Greg
If possible I don't want to install libraries (Homebrew, MacPorts, etc) used for building Sword which are not part of the stock OS X.
How can ICU be replaced with Qt?
Manfred
-- CLucene: yes /opt/local/lib/libclucene-core.dylib in /opt/local/include and /opt/local/include;/opt/local/include
-- PkgConfig: yes
-- ICU: yes /opt/local/lib/libicuuc.dylib and /opt/local/include
I have installed them from MacPorts. I believe, however, that BibleTime builds without them as Qt is used in place of ICU and CLucene is linked directly into BibleTime for its custom search functionality. Obviously, feel free to edit your local .sh script. Those are only given there for examples of how to build with CMake for people who are not familiar with the system much as usrinst.sh is more of a guideline. For instance, I doubt you're looking to build the Python or Perl extensions.
--Greg
Hmm. Don't know this doesn't work.
---
pacsaar:sword-trunk mbergmann$ cmake/build-release.sh
-- The CXX compiler identification is AppleClang 5.1.0.5030040
-- The C compiler identification is AppleClang 5.1.0.5030040
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Configuring your system to build libsword.
-- SWORD Version 1007003000
--
-- SEARCHING FOR SYTEM PACKAGES
-- System regex.h: Yes
--
-- CONFIGURING SOURCE LIST
-- ZLib: system /usr/lib/libz.dylib
-- bzip2: system /usr/lib/libbz2.dylib
-- xz: system /usr/lib/liblzma.dylib
-- cURL: system /usr/lib/libcurl.dylib and /usr/include
-- CLucene: no
-- PkgConfig: no
-- ICU: no
-- Regex.h: system /usr/include
-- Building Shared library.
-- Building Static library.
-- Setting SOVERSION to 1.7.3
-- cURL SFTP Support: No
-- Setting link libraries to /usr/lib/libz.dylib;/usr/lib/libbz2.dylib;/usr/lib/liblzma.dylib;/usr/lib/libcurl.dylib
--
-- CONFIGURING INSTALLATION DESTINATIONS
-- Destination: /opt/sword
--
-- CONFIGURING SWIG BINDINGS
-- Could NOT find SWIG (missing: SWIG_EXECUTABLE SWIG_DIR)
Swig: no
-- Configuring incomplete, errors occurred!
See also "/Users/mbergmann/Development/MySources/crosswire/sword-trunk/build/CMakeFiles/CMakeOutput.log".
make: *** No targets specified and no makefile found. Stop.
---
No ICU seems to be found on the system. Though there is libicucore in /usr/lib/.
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../include -I../include -I/opt/sword/include -DUSE_AUTOTOOLS -DUNIX -Dunix -D__unix__ -DSWICU_DATA=\"/opt/sword/lib/sword/1.6.1_icu_2.1\" -DGLOBCONFPATH=\"/opt/sword/etc/sword.conf\" -D_FTPLIB_NO_COMPAT -O3 -D_ICU_ -ftemplate-depth-25 -DCURLAVAILABLE -DNO_VSNPRINTF -MT utilxml.lo -MD -MP -MF .deps/utilxml.Tpo -c ../src/utilfuns/utilxml.cpp -o utilxml.o >/dev/null 2>&1
mv -f .deps/utilxml.Tpo .deps/utilxml.Plo
make[1]: *** No rule to make target `../src/utilfuns/swunicod.cpp', needed by `swunicod.lo'. Stop.
make: *** [all-recursive] Error 1
Now putting all that aside I can build the current trunk all right in Xcode when manually putting the stuff together. I'm doing that for a couple of years now in the objc binding.
But building with _ICU_ doesn't work anymore since I've done svn update (see error below).
I can run a version without ICU but I'm not exactly certain which other problems this might bring.
What about the BibleTime guys. Did they build all right on Mac with ICU?
Manfred
Post by Manfred Bergmann
Building Sword from within Xcode after svn update.
But I'll try the following, initiate the configure procedure and see how the build goes, which defines are set, etc. Maybe I'm missing something.
Manfred
Post by Greg Hellings
Is this while building Sword or BibleTime?
--Greg
Hmm, weird stuff.
UnicodeString seems to be in icucore. And I've got -licucore.
sword::UTF8NFC::processText(sword::SWBuf&, sword::SWKey const*, sword::SWModule const*) in utf8nfc.o
Any ideas?
Manfred
Post by Manfred Bergmann
Hi.
Anyone successfully built the current trunk on OS X (Mavericks)?
I get the above error. "UnicodeString" doesn't seem to be part of libicucore?
Manfred
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
Manfred Bergmann
2014-08-24 15:08:17 UTC
Permalink
All right.
I've modified the Xcode project to build complete ICU from sources together with Sword. This seems to be working fine.


Manfred
Post by Manfred Bergmann
Thanks for the clarification.
Right, OS X didn't ship the headers for ICU, don't know exactly when that changed.
Currently, since 10.7 (AFAIR) it ships with ICU however only libicucore + the headers required for that.
The weird thing is that UnicodeString is present in the headers (unistr.h) also seems to be present in libicucore (when making an object dump of libicucore).
But still linking doesn't work.
I guess it needs some more digging.
Manfred
ICU is largely (exclusively?) used for transliteration within Sword. Qt offers the same functionality (it has both its own built-in functionality for that or it can be built on top of ICU). Since Qt already comes with the functionality built in, BibleTime distributes its OS X binary without the extra size of ICU.
As for wanting to build without MacPorts, you'd have to either find or install the development headers for both of those libraries if you want that support (In the distant past ICU was available on Mac but not development headers for it, so MacPorts just installed headers for the system library back then. Not sure what the story is now). If you have the headers and the link library, you'll need to specify the proper search path. For ICU, you can add the standard search directories to your CMake invocation using the standard mechanism for appending library and header search paths. For CLucene you can use that method, or specify CLUCENE_HOME in your environment variables before invocation.
Another option entirely is to run CMake until it fails to find them, then edit your CMakeCache.txt file to manually specify the path for the appropriate CLUCENE and ICU variables, then rerun CMake to generate the build files with the modified options.
There are lots of paths to get you where you're going, and I'm willing to accept patches or pull requests (http://github.com/greg-hellings/sword.git) to improve detection on OS X. The relevant files are cmake/Find{ICU,CLucene}.cmake in the Sword source tree.
--Greg
If possible I don't want to install libraries (Homebrew, MacPorts, etc) used for building Sword which are not part of the stock OS X.
How can ICU be replaced with Qt?
Manfred
-- CLucene: yes /opt/local/lib/libclucene-core.dylib in /opt/local/include and /opt/local/include;/opt/local/include
-- PkgConfig: yes
-- ICU: yes /opt/local/lib/libicuuc.dylib and /opt/local/include
I have installed them from MacPorts. I believe, however, that BibleTime builds without them as Qt is used in place of ICU and CLucene is linked directly into BibleTime for its custom search functionality. Obviously, feel free to edit your local .sh script. Those are only given there for examples of how to build with CMake for people who are not familiar with the system much as usrinst.sh is more of a guideline. For instance, I doubt you're looking to build the Python or Perl extensions.
--Greg
Hmm. Don't know this doesn't work.
---
pacsaar:sword-trunk mbergmann$ cmake/build-release.sh
-- The CXX compiler identification is AppleClang 5.1.0.5030040
-- The C compiler identification is AppleClang 5.1.0.5030040
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Configuring your system to build libsword.
-- SWORD Version 1007003000
--
-- SEARCHING FOR SYTEM PACKAGES
-- System regex.h: Yes
--
-- CONFIGURING SOURCE LIST
-- ZLib: system /usr/lib/libz.dylib
-- bzip2: system /usr/lib/libbz2.dylib
-- xz: system /usr/lib/liblzma.dylib
-- cURL: system /usr/lib/libcurl.dylib and /usr/include
-- CLucene: no
-- PkgConfig: no
-- ICU: no
-- Regex.h: system /usr/include
-- Building Shared library.
-- Building Static library.
-- Setting SOVERSION to 1.7.3
-- cURL SFTP Support: No
-- Setting link libraries to /usr/lib/libz.dylib;/usr/lib/libbz2.dylib;/usr/lib/liblzma.dylib;/usr/lib/libcurl.dylib
--
-- CONFIGURING INSTALLATION DESTINATIONS
-- Destination: /opt/sword
--
-- CONFIGURING SWIG BINDINGS
-- Could NOT find SWIG (missing: SWIG_EXECUTABLE SWIG_DIR)
Swig: no
-- Configuring incomplete, errors occurred!
See also "/Users/mbergmann/Development/MySources/crosswire/sword-trunk/build/CMakeFiles/CMakeOutput.log".
make: *** No targets specified and no makefile found. Stop.
---
No ICU seems to be found on the system. Though there is libicucore in /usr/lib/.
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../include -I../include -I/opt/sword/include -DUSE_AUTOTOOLS -DUNIX -Dunix -D__unix__ -DSWICU_DATA=\"/opt/sword/lib/sword/1.6.1_icu_2.1\" -DGLOBCONFPATH=\"/opt/sword/etc/sword.conf\" -D_FTPLIB_NO_COMPAT -O3 -D_ICU_ -ftemplate-depth-25 -DCURLAVAILABLE -DNO_VSNPRINTF -MT utilxml.lo -MD -MP -MF .deps/utilxml.Tpo -c ../src/utilfuns/utilxml.cpp -o utilxml.o >/dev/null 2>&1
mv -f .deps/utilxml.Tpo .deps/utilxml.Plo
make[1]: *** No rule to make target `../src/utilfuns/swunicod.cpp', needed by `swunicod.lo'. Stop.
make: *** [all-recursive] Error 1
Now putting all that aside I can build the current trunk all right in Xcode when manually putting the stuff together. I'm doing that for a couple of years now in the objc binding.
But building with _ICU_ doesn't work anymore since I've done svn update (see error below).
I can run a version without ICU but I'm not exactly certain which other problems this might bring.
What about the BibleTime guys. Did they build all right on Mac with ICU?
Manfred
Post by Manfred Bergmann
Building Sword from within Xcode after svn update.
But I'll try the following, initiate the configure procedure and see how the build goes, which defines are set, etc. Maybe I'm missing something.
Manfred
Post by Greg Hellings
Is this while building Sword or BibleTime?
--Greg
Hmm, weird stuff.
UnicodeString seems to be in icucore. And I've got -licucore.
sword::UTF8NFC::processText(sword::SWBuf&, sword::SWKey const*, sword::SWModule const*) in utf8nfc.o
Any ideas?
Manfred
Post by Manfred Bergmann
Hi.
Anyone successfully built the current trunk on OS X (Mavericks)?
I get the above error. "UnicodeString" doesn't seem to be part of libicucore?
Manfred
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel at crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
Loading...