Modify

Ticket #196 (new defect)

Opened 4 years ago

Last modified 12 months ago

Problem determining iconv() input type

Reported by: benke Owned by: lbponey
Priority: major Milestone: Release 0.3
Component: museek_general Version: 0.2
Keywords: Cc:

Description

Just installed libiconv 1.12 but cmake fails to determine iconv() input type:

benke:$ cmake -DPREFIX=/usr/local -DCMAKE_REQUIRED_INCLUDES=/usr/local/include -DNO_PYMUCIPHER=1 -DBINDINGS=0 -DMURMUR=0 -DMUCOUS=0 -DCLIENTS=0 DECLARATIONS: PREFIX (/usr), MANDIR (PREFIX/man) Package options: EVERYTHING, NO_MUSEEKD, NO_MUSCAN, NO_SETUP, NO_MUSEEQ, NO_PYMUCIPHER, BINDINGS, MURMUR, MUCOUS, CLIENTS Museeq options: BINRELOC, DATADIR (PREFIX/share), RELOAD_TRANSLATIONS Prefix these declarations with -D and set them with either 1, 0 or a path. Set -DEVERYTHING=1 if you want it all CMake Error at CMakeLists.txt:199 (message):

Problem with iconv: could not determine iconv() input type.

-- Configuring incomplete, errors occurred!

I have same iconv.h in both /usr/include and /usr/local/include. Let me know if you need more details...

Attachments

Change History

comment:1 Changed 4 years ago by lbponey

Can you give the result of this command please?:

cat /usr/include/iconv.h | grep "size_t iconv" -A 4

thanks

comment:2 Changed 4 years ago by benke

Sure:

benke:$ cat /usr/include/iconv.h | grep "size_t iconv" -A 4 extern size_t iconv (iconv_t cd, char* * inbuf, size_t *inbytesleft, char* * outbuf, size_t *outbytesleft);

/* Frees resources allocated for conversion descriptor `cd'. */ #ifndef LIBICONV_PLUG #define iconv_close libiconv_close

comment:3 Changed 12 months ago by Mariusz Grzybacz <silas@…>

Is there a way to fix it? I have downloaded latest SVN and from source version and I also have the same issue...

# cat /usr/include/iconv.h | grep "size_t iconv" -A 4
extern size_t iconv (iconv_t cd,  char* * inbuf, size_t *inbytesleft, char* * outbuf, size_t *outbytesleft);

/* Frees resources allocated for conversion descriptor ‘cd’. */
#ifndef LIBICONV_PLUG
#define iconv_close libiconv_close

and here is the content of CMakeError.log:

Run Build Command:/usr/bin/make "cmTryCompileExec3924752246/fast"
/usr/bin/make -f CMakeFiles/cmTryCompileExec3924752246.dir/build.make CMakeFiles/cmTryCompileExec3924752246.dir/build
make[1]: Entering directory `/dev.museek/museek/sources/_tmp_workdir/CMakeFiles/CMakeTmp'
/usr/bin/cmake -E cmake_progress_report /dev.museek/museek/sources/_tmp_workdir/CMakeFiles/CMakeTmp/CMakeFiles 1
Building C object CMakeFiles/cmTryCompileExec3924752246.dir/UINT32.c.o
/usr/bin/gcc   -L/usr/bin/museek/lib -I/usr/bin/museek/include -I/usr/bin/museek/include/ncursesw -I/usr/bin/museek/include/libxml2 -I/usr/bin/museek/include/libxml2/libxml -I/usr/bin/museek/include/libxml++-2.6 -I/usr/bin/museek/include/libxml++-2.6/libxml++ -I/usr/bin/museek/include/libxml++ -I/usr/bin/museek/include/openssl -I/usr/bin/museek/include/python2.7 -I/usr/bin/museek/include/ogg -I/usr/bin/museek/include/vorbis -I/usr/bin/museek/include/event2 -I/usr/bin/museek/include/giomm-2.4 -I/usr/bin/museek/include/glibmm-2.4 -I/usr/bin/museek/include/event2 -I/usr/bin/museek/include/sigc++-2.0 -I/usr/bin/museek/include/sigc++-2.0    -I/usr/bin/museek/include    -o CMakeFiles/cmTryCompileExec3924752246.dir/UINT32.c.o   -c /dev.museek/museek/sources/_tmp_workdir/CMakeFiles/CheckTypeSize/UINT32.c
/dev.museek/museek/sources/_tmp_workdir/CMakeFiles/CheckTypeSize/UINT32.c:19: error: ‘uint32’ undeclared here (not in a function)
make[1]: Leaving directory `/dev.museek/museek/sources/_tmp_workdir/CMakeFiles/CMakeTmp'
make[1]: *** [CMakeFiles/cmTryCompileExec3924752246.dir/UINT32.c.o] Error 1
make: *** [cmTryCompileExec3924752246/fast] Error 2

/dev.museek/museek/sources/_tmp_workdir/CMakeFiles/CheckTypeSize/UINT32.c:
#include <sys/types.h>
#include <stdint.h>
#include <stddef.h>


#undef KEY
#if defined(__i386)
# define KEY '_','_','i','3','8','6'
#elif defined(__x86_64)
# define KEY '_','_','x','8','6','_','6','4'
#elif defined(__ppc__)
# define KEY '_','_','p','p','c','_','_'
#elif defined(__ppc64__)
# define KEY '_','_','p','p','c','6','4','_','_'
#endif

#define SIZE (sizeof(uint32))
char info_size[] =  {'I', 'N', 'F', 'O', ':', 's','i','z','e','[',
  ('0' + ((SIZE / 10000)%10)),
  ('0' + ((SIZE / 1000)%10)),
  ('0' + ((SIZE / 100)%10)),
  ('0' + ((SIZE / 10)%10)),
  ('0' +  (SIZE    % 10)),
  ']',
#ifdef KEY
  ' ','k','e','y','[', KEY, ']',
#endif
  '\0'};

#ifdef __CLASSIC_C__
int main(argc, argv) int argc; char *argv[];
#else
int main(int argc, char *argv[])
#endif
{
  int require = 0;
  require += info_size[argc];
  (void)argv;
  return require;
}


Performing C++ SOURCE FILE Test ICONV_CONST failed with the following output:
Change Dir: /dev.museek/museek/sources/_tmp_workdir/CMakeFiles/CMakeTmp

Run Build Command:/usr/bin/make "cmTryCompileExec3036922332/fast"
/usr/bin/make -f CMakeFiles/cmTryCompileExec3036922332.dir/build.make CMakeFiles/cmTryCompileExec3036922332.dir/build
make[1]: Entering directory `/dev.museek/museek/sources/_tmp_workdir/CMakeFiles/CMakeTmp'
/usr/bin/cmake -E cmake_progress_report /dev.museek/museek/sources/_tmp_workdir/CMakeFiles/CMakeTmp/CMakeFiles 1
Building CXX object CMakeFiles/cmTryCompileExec3036922332.dir/src.cxx.o
/usr/bin/c++    -L/usr/bin/museek/lib -I/usr/bin/museek/include -I/usr/bin/museek/include/ncursesw -I/usr/bin/museek/include/libxml2 -I/usr/bin/museek/include/libxml2/libxml -I/usr/bin/museek/include/libxml++-2.6 -I/usr/bin/museek/include/libxml++-2.6/libxml++ -I/usr/bin/museek/include/libxml++ -I/usr/bin/museek/include/openssl -I/usr/bin/museek/include/python2.7 -I/usr/bin/museek/include/ogg -I/usr/bin/museek/include/vorbis -I/usr/bin/museek/include/event2 -I/usr/bin/museek/include/giomm-2.4 -I/usr/bin/museek/include/glibmm-2.4 -I/usr/bin/museek/include/event2 -I/usr/bin/museek/include/sigc++-2.0 -I/usr/bin/museek/include/sigc++-2.0   -DICONV_CONST -I/usr/bin/museek/include    -o CMakeFiles/cmTryCompileExec3036922332.dir/src.cxx.o -c /dev.museek/museek/sources/_tmp_workdir/CMakeFiles/CMakeTmp/src.cxx
/dev.museek/museek/sources/_tmp_workdir/CMakeFiles/CMakeTmp/src.cxx: In function ‘int main(int, char**)’:
/dev.museek/museek/sources/_tmp_workdir/CMakeFiles/CMakeTmp/src.cxx:4: error: invalid conversion from ‘const char**’ to ‘char**’
/dev.museek/museek/sources/_tmp_workdir/CMakeFiles/CMakeTmp/src.cxx:4: error:   initializing argument 2 of ‘size_t libiconv(void*, char**, size_t*, char**, size_t*)’
make[1]: Leaving directory `/dev.museek/museek/sources/_tmp_workdir/CMakeFiles/CMakeTmp'
make[1]: *** [CMakeFiles/cmTryCompileExec3036922332.dir/src.cxx.o] Error 1
make: *** [cmTryCompileExec3036922332/fast] Error 2

Source file was:

  #include <iconv.h>
  int main(int argc, char ** argv)
  { return iconv(0, (const char **)0, 0, (char**)0, 0); }

Performing C++ SOURCE FILE Test ICONV_NON_CONST failed with the following output:
Change Dir: /dev.museek/museek/sources/_tmp_workdir/CMakeFiles/CMakeTmp

Run Build Command:/usr/bin/make "cmTryCompileExec1377213226/fast"
/usr/bin/make -f CMakeFiles/cmTryCompileExec1377213226.dir/build.make CMakeFiles/cmTryCompileExec1377213226.dir/build
make[1]: Entering directory `/dev.museek/museek/sources/_tmp_workdir/CMakeFiles/CMakeTmp'
/usr/bin/cmake -E cmake_progress_report /dev.museek/museek/sources/_tmp_workdir/CMakeFiles/CMakeTmp/CMakeFiles 1
Building CXX object CMakeFiles/cmTryCompileExec1377213226.dir/src.cxx.o
/usr/bin/c++    -L/usr/bin/museek/lib -I/usr/bin/museek/include -I/usr/bin/museek/include/ncursesw -I/usr/bin/museek/include/libxml2 -I/usr/bin/museek/include/libxml2/libxml -I/usr/bin/museek/include/libxml++-2.6 -I/usr/bin/museek/include/libxml++-2.6/libxml++ -I/usr/bin/museek/include/libxml++ -I/usr/bin/museek/include/openssl -I/usr/bin/museek/include/python2.7 -I/usr/bin/museek/include/ogg -I/usr/bin/museek/include/vorbis -I/usr/bin/museek/include/event2 -I/usr/bin/museek/include/giomm-2.4 -I/usr/bin/museek/include/glibmm-2.4 -I/usr/bin/museek/include/event2 -I/usr/bin/museek/include/sigc++-2.0 -I/usr/bin/museek/include/sigc++-2.0   -DICONV_NON_CONST -I/usr/bin/museek/include    -o CMakeFiles/cmTryCompileExec1377213226.dir/src.cxx.o -c /dev.museek/museek/sources/_tmp_workdir/CMakeFiles/CMakeTmp/src.cxx
Linking CXX executable cmTryCompileExec1377213226
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec1377213226.dir/link.txt --verbose=1
/usr/bin/c++    -L/usr/bin/museek/lib -I/usr/bin/museek/include -I/usr/bin/museek/include/ncursesw -I/usr/bin/museek/include/libxml2 -I/usr/bin/museek/include/libxml2/libxml -I/usr/bin/museek/include/libxml++-2.6 -I/usr/bin/museek/include/libxml++-2.6/libxml++ -I/usr/bin/museek/include/libxml++ -I/usr/bin/museek/include/openssl -I/usr/bin/museek/include/python2.7 -I/usr/bin/museek/include/ogg -I/usr/bin/museek/include/vorbis -I/usr/bin/museek/include/event2 -I/usr/bin/museek/include/giomm-2.4 -I/usr/bin/museek/include/glibmm-2.4 -I/usr/bin/museek/include/event2 -I/usr/bin/museek/include/sigc++-2.0 -I/usr/bin/museek/include/sigc++-2.0   -DICONV_NON_CONST   -L/usr/bin/museek/lib CMakeFiles/cmTryCompileExec1377213226.dir/src.cxx.o  -o cmTryCompileExec1377213226 -rdynamic
CMakeFiles/cmTryCompileExec1377213226.dir/src.cxx.o: In function `main':
src.cxx:(.text+0x39): undefined reference to `libiconv'
collect2: ld returned 1 exit status
make[1]: Leaving directory `/dev.museek/museek/sources/_tmp_workdir/CMakeFiles/CMakeTmp'
make[1]: *** [cmTryCompileExec1377213226] Error 1
make: *** [cmTryCompileExec1377213226/fast] Error 2

Source file was:

  #include <iconv.h>
  int main(int argc, char ** argv)
  { return iconv(0, (char **)0, 0, (char**)0, 0); }



So is there any chance to fix it somehow? Thank you!

View

Add a comment

Modify Ticket

Action
as new
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.