Hello

Today I tried to check what happens on x86_64 and I think I've found some 
issues which need discussion

1. When classlib starts its built it tries to link 3 libraries and headers to 
depends/libs/build/{jpeg,lcms,png} directories. On x86_64 SuSE9 it has failed 
for me to find lcms and png libraries because they happen to be 
in /usr/lib64. This should not be the case on Gentoo because /usr/lib is a 
link to /usr/lib64, but it looks like not all distributions follow this way. 
So probably searching /usr/lib64 first should be done on x86_64.

2. I've linked liblcms.a and libpng.a in /usr/lib64 by hands but then linker 
complained that they cannot be used because relocations have to be done. I've 
replaced links with links to *shared* libs and it seems to have worked ok. 
For some reason libjpeg.a found in /usr/lib didn't cause the problems. But 
anyway, I'd like to ask a question, why do we want static linking? Not all 
distributions supply static versions of these libraries, for example I found 
none in Fedora 5 even on x86. Why not switch to shared libraries?

3. ICU libraries in HARMONY-1678 had to be linked as well because build wants 
libicu*.so.34 while libraries in the archives have libicu*.so.34.1 names. 
Shouldn't they be added to SVN like depends/libs/linux.x86 ones with the same 
names as build wants?

4. Classlib always builds to "deploy" directory. When working with different 
architectures it is good when output directories for all files including 
object files are different. Otherwise it is necessary to create separate 
repositories for every one of them or do clean rebuild on every switch and 
never forget which version of classlib is currently built. Could we change 
classlib build to create object files in directories with architecture 
postfix and final output to something like "deploy-x86_64"? Also we could 
separate debug/release built files in the same way.

-- 
Gregory Shimansky, Intel Middleware Products Division

Reply via email to