[MDEV-7440] Build fails in libgroonga on Solaris Created: 2015-01-12  Updated: 2021-11-09  Resolved: 2021-11-09

Status: Closed
Project: MariaDB Server
Component/s: Compiling, Storage Engine - Mroonga
Affects Version/s: 10.0
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Nayuta Yanagisawa (Inactive)
Resolution: Won't Fix Votes: 0
Labels: buildbot, compile, mroonga

Issue Links:
Relates
relates to MDEV-7069 Fix buildbot failures in main server ... Stalled

 Description   

http://buildbot.askmonty.org/buildbot/builders/sol10-64/builds/3411/steps/compile/logs/stdio

/export/home/buildbot/maria-slave/solaris10-x86/build/mariadb-10.0.16/storage/mroonga/vendor/groonga/lib/com.c: In function `grn_com_send':
/export/home/buildbot/maria-slave/solaris10-x86/build/mariadb-10.0.16/storage/mroonga/vendor/groonga/lib/com.c:723: error: structure has no member named `msg_control'
/export/home/buildbot/maria-slave/solaris10-x86/build/mariadb-10.0.16/storage/mroonga/vendor/groonga/lib/com.c:724: error: structure has no member named `msg_controllen'
/export/home/buildbot/maria-slave/solaris10-x86/build/mariadb-10.0.16/storage/mroonga/vendor/groonga/lib/com.c:725: error: structure has no member named `msg_flags'
/export/home/buildbot/maria-slave/solaris10-x86/build/mariadb-10.0.16/storage/mroonga/vendor/groonga/lib/com.c:726: warning: assignment from incompatible pointer type
/export/home/buildbot/maria-slave/solaris10-x86/build/mariadb-10.0.16/storage/mroonga/vendor/groonga/lib/com.c: In function `grn_com_copen':
/export/home/buildbot/maria-slave/solaris10-x86/build/mariadb-10.0.16/storage/mroonga/vendor/groonga/lib/com.c:947: error: `TCP_NODELAY' undeclared (first use in this function)
/export/home/buildbot/maria-slave/solaris10-x86/build/mariadb-10.0.16/storage/mroonga/vendor/groonga/lib/com.c:947: error: (Each undeclared identifier is reported only once
/export/home/buildbot/maria-slave/solaris10-x86/build/mariadb-10.0.16/storage/mroonga/vendor/groonga/lib/com.c:947: error: for each function it appears in.)
/export/home/buildbot/maria-slave/solaris10-x86/build/mariadb-10.0.16/storage/mroonga/vendor/groonga/lib/com.c: In function `grn_com_sopen':
/export/home/buildbot/maria-slave/solaris10-x86/build/mariadb-10.0.16/storage/mroonga/vendor/groonga/lib/com.c:1063: error: `TCP_NODELAY' undeclared (first use in this function)
gmake[2]: *** [storage/mroonga/vendor/groonga/lib/CMakeFiles/libgroonga.dir/com.c.o] Error 1
gmake[2]: Leaving directory `/export/home/buildbot/maria-slave/solaris10-x86/build/mariadb-10.0.16'
gmake[1]: *** [storage/mroonga/vendor/groonga/lib/CMakeFiles/libgroonga.dir/all] Error 2

Should Mroonga be disabled for Solaris?



 Comments   
Comment by Kentoku Shiba (Inactive) [ 2015-01-16 ]

Please disable it for now.

Comment by Predrag Zečević [ 2015-02-05 ]

HI,
I have spent some time trying to compile it and at the end managed with (most challenging was to find how to disable mroonga):

a) gcc 3.4 (4.x is not working yet)
b) dtrace disabled
c) mroonga disabled

Commands used on directory where source were unpacked:
$ CFLAGS="-m${MY_ARCH} -O3" CXXFLAGS="-m${MY_ARCH}" LDFLAGS="-m${MY_ARCH}" PKG_CONFIG_PATH="/usr/lib/pkgconfig" \
cmake . -DCMAKE_INSTALL_PREFIX=${MY_PREFIX} -DDTRACE=off -DWITHOUT_MROONGA_STORAGE_ENGINE=1
$ nice gmake -j1
$ pfexec gmake install DESTDIR=/

Where:
MY_ARCH=

{32,64}

MY_PREFIX=/some/path

Regards.

Comment by Alexander Barkov [ 2015-05-05 ]

Definition of "struct msghdr" on Linux:

struct msghdr {
  void         *msg_name;       /* optional address */
  socklen_t     msg_namelen;    /* size of address */
  struct iovec *msg_iov;        /* scatter/gather array */
  size_t        msg_iovlen;     /* # elements in msg_iov */
  void         *msg_control;    /* ancillary data, see below */
  size_t        msg_controllen; /* ancillary data buffer len */
  int           msg_flags;      /* flags on received message */
};

Definition of "struct msghdr" on SunOS:

struct msghdr {
  void            *msg_name;              /* optional address */
  socklen_t       msg_namelen;            /* size of address */
  struct iovec    *msg_iov;               /* scatter/gather array */
  int             msg_iovlen;             /* # elements in msg_iov */
#if defined(_XPG4_2) || defined(_KERNEL)
  void            *msg_control;           /* ancillary data */
  socklen_t       msg_controllen;         /* ancillary data buffer len */
  int             msg_flags;              /* flags on received message */
#else
  caddr_t         msg_accrights;  /* access rights sent/received */
  int             msg_accrightslen;
#endif  /* defined(_XPG4_2) || defined(_KERNEL) */
};

Comment by Alexander Barkov [ 2015-05-05 ]

Adding this into storage/mrooga/vendor/groonga/CMakeLists.txt:

if(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
  add_definitions(-D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1 -D__EXTENSIONS__)
  add_definitions(-DHAVE_NETINET_TCP_H)
endif()

fixes the reported problem, but compilation starts to fail with more other symptoms.

Comment by Alexander Barkov [ 2015-05-05 ]

Kentoku, I temporarily disabled Mroonga in the "10.0" git branch due to compilation failures.
Please address. Thanks.

Comment by Kouhei Sutou [ 2015-05-06 ]

Groonga at master is buildable on Solaris. This issue will be fixed when new Groonga version (It'll be released at 2015-05-29) is bundled into MariaDB.

Comment by Aurélien LEQUOY [ 2015-06-12 ]

it's fail too on Rasberry Pi 1 version B on Rasbian (tested with 10.0.19)

Comment by Elena Stepanova [ 2015-06-12 ]

Aurelien_LEQUOY,
See MDEV-7076 - we had to increase the amount of memory in our build machines from 2Gb to 3Gb just so Groonga could build. I doubt Rasberry has much chance.

Comment by Nayuta Yanagisawa (Inactive) [ 2021-11-09 ]

We don't build on Solaris anymore. So, I close the issue.

Generated at Thu Feb 08 07:19:36 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.