Project

General

Profile

CMAKE compiles .a and no .so files

Added by Raghav BV almost 12 years ago

Hi,

I am compiling wt with all library dependencies fulfilled. I am using an x86_64 AMD with Debian 6.0.6 installed on it. Please refer to CMakeCache.txt attached.

Yet after successful $ cmake /path/to/src && make && make install, it does not install .so files in the library. Only libwtxxxx.a

The highlights of my CMakeCache.txt are:

1. libboost v1.42.0 --- Shall upgrade once a working format is up and ready

2. gcc v4.4.5 --- Is that supposed to be an issue at all?

3. Despite identifying a GNU Compiler, CMake uses cc & c rather than gcc & g

   CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc
   CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++

4. I thought this setting undermentioned was supposed to be ON only for win dll. Does this make a difference?

SHARED_LIBS:BOOL=OFF

Replies (3)

RE: CMAKE compiles .a and no .so files - Added by Wim Dumon almost 12 years ago

(1), (2), and (3) are no problem.

(4) is the reason why you compile .a instead of .so. On linux, SHARED_LIBS defaults to ON, so you have probably set this to OFF yourself.

Wim.

RE: CMAKE compiles .a and no .so files - Added by Raghav BV almost 12 years ago

I had tried compiling this multiple times, but it fails to compile with some error thrown by the ld, and the error everytime is the same.

The tail says:

[ 54%] Building CXX object src/CMakeFiles/wt.dir/Wt/FontSupportPango.o
Linking CXX shared library libwt.so
collect2: ld terminated with signal 9 [Killed]
make[2]: *** [src/libwt.so.3.3.0] Error 1
make[1]: *** [src/CMakeFiles/wt.dir/all] Error 2
make: *** [all] Error 2

When I tried to fish into the world wide web, I could understand that this is a memory issue. The compilation requires more virtual memory/ RAM and so the compile/ linking failed. Is that true?

If so, can I break this process into smaller chunks to build one library at a time? Please also tell me how to?

I am trying to get this working on a shared hosting, with AMD x86_64 Debian 6.0.6 - if that helps.

Thanks,

r

RE: CMAKE compiles .a and no .so files - Added by Koen Deforche almost 12 years ago

Hey,

Linking is indeed memory intensive. The alternative is to build a static library (-DSHARED_LIBS=OFF), but, that will only postpone the problem (I think) to the point where you actually link the application.

Regards,

koen

    (1-3/3)