[
https://issues.apache.org/jira/browse/SERF-193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16832879#comment-16832879
]
Michael Osipov commented on SERF-193:
-------------------------------------
I have just tried cmake. I don't know what's worse: cmake or scons. Cmake
screwed up a lot:
{noformat}
LDFLAGS="-Wl,+concatrpath -Wl,+b -Wl,$LIBDIR -L$LIBDIR
$($PREFIX/bin/krb5-config gssapi --libs)" CC=/opt/aCC/bin/cc
CFLAGS="-DSERF_HAVE_GSSAPI" cmake -DCMAKE_INSTALL_PREFIX:PATH=$PREFIX
-DCMAKE_INSTALL_LIBDIR:PATH=$LIBDIR APR_ROOT=$PREFIX APRUtil_ROOT=$PREFIX
OPENSSL_ROOT_DIR=/opt/openssl -DGSSAPI=$PREFIX ZLIB_ROOT=$PREFIX
-DZLIB_LIBRARY=$PREFIX/lib/hpux32/libz.so.1.2.11 ..
{noformat}
* It kill the entire rpath
* does not switch C++ compiler in C mode
* FindZlib.cmake is not aware of hpux32, hpux64
* There is no {{--libdir}} equivalent for cmake, one has to do this manually.
I'd take some decent amount of time to fix this in the {{CMakeLists.txt}} as
well as in the CMake supplied modules. I am confined to 3.9 and highly doubt
that Kitware will accept patches for 3.9.x since this is the last version to
support HP-UX.
I guess I will go with scons for now.
> C++ compiler is not started in C mode
> -------------------------------------
>
> Key: SERF-193
> URL: https://issues.apache.org/jira/browse/SERF-193
> Project: serf
> Issue Type: Bug
> Affects Versions: serf-1.3.9
> Reporter: Michael Osipov
> Priority: Major
>
> I get the following errors with aCC on HP-UX:
> {noformat}
> /opt/aCC/bin/aCC -o context.o -c -O2 -g -mt -DNDEBUG -DHPUX11 -D_REENTRANT
> -D_HPUX_SOURCE -D_LARGEFILE64_SOURCE -DSERF_HAVE_GSSAPI -I.
> -I/opt/ports/include -I/opt/openssl/include context.c
> "context.c", line 40: error #2144: a value of type "void *" cannot be used to
> initialize an entity of type "serf_context_t *"
> serf_context_t *ctx = progress_baton;
> ^
> "context.c", line 131: error #2144: a value of type "void *" cannot be used to
> initialize an entity of type "serf_context_t *"
> serf_context_t *ctx = apr_pcalloc(pool, sizeof(*ctx));
> ^
> "context.c", line 142: error #2144: a value of type "void *" cannot be used to
> initialize an entity of type "serf_pollset_t *"
> serf_pollset_t *ps = apr_pcalloc(pool, sizeof(*ps));
> ^
> "context.c", line 206: error #2144: a value of type "void *" cannot be used to
> initialize an entity of type "serf_io_baton_t *"
> serf_io_baton_t *io = serf_baton;
> ^
> "context.c", line 303: error #2144: a value of type "void *" cannot be used to
> initialize an entity of type "serf_io_baton_t *"
> serf_io_baton_t *io = desc->client_data;
> ^
> {noformat}
> aCC is a C++ compiler and C++ requires casts onĀ {{malloc()}} and friends. I
> know that a lot of configure scripts test for {{-Ae}} and this switch is
> necessary for aCC, likely for other C++ compilers too. I don't know whether
> this has to be fixed in {{SConstruct}} or scons itself.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)