pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pkg/52318: expat-2.2.1 fails to build on Solaris 10



The following reply was made to PR pkg/52318; it has been noted by GNATS.

From: Leonardo Taccari <leot%NetBSD.org@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: 
Subject: Re: pkg/52318: expat-2.2.1 fails to build on Solaris 10
Date: Tue, 20 Jun 2017 12:44:11 +0200

 Hello Hiroshi!
 
 hako%affrc.go.jp@localhost writes:
 > [...]
 > >Description:
 > expat-2.2.1 fails to build on Solaris 10.
 > expat-2.2.0 is OK.
 > =
 
 > lib/xmlparse.c:721:9: warning: implicit declaration of function 'getrand=
 om' [-Wimplicit-function-declaration]
 >          getrandom(currentTarget, bytesToWrite, getrandomFlags);
 >          ^
 > =
 
 > ......
 > =
 
 > libtool: link: gcc -std=3Dgnu99 -I./lib -I. -O3 -mcpu=3Dultrasparc3 -mtu=
 ne=3Dultrasparc3 -I/usr/pkgsrc/textproc/expat/work/.buildlink/include -Wal=
 l -Wmissing-prototypes -Wstrict-prototypes -fexceptions -fno-strict-aliasi=
 ng -DHAVE_EXPAT_CONFIG_H -Wl,-rpath -Wl,/usr/pkg/gcc49/lib/gcc/sparc-sun-s=
 olaris2.10/4.9.4 -Wl,-rpath -Wl,/usr/pkg/gcc49/lib -Wl,-rpath -Wl,/usr/pkg=
 /lib -fno-strict-aliasing -o xmlwf/.libs/xmlwf xmlwf/xmlwf.o xmlwf/xmlfile=
 .o xmlwf/codepage.o xmlwf/unixfilemap.o  -L/usr/pkg/gcc49/lib/gcc/sparc-su=
 n-solaris2.10/4.9.4 -L/usr/pkg/gcc49/lib -L/usr/pkgsrc/textproc/expat/work=
 /.buildlink/lib ./.libs/libexpat.so -R/usr/pkg/lib
 > Undefined                       first referenced
 >  symbol                             in file
 > getrandom                           ./.libs/libexpat.so
 > ld: fatal: symbol referencing errors. No output written to xmlwf/.libs/x=
 mlwf
 > collect2: error: ld returned 1 exit status
 > *** Error code 1
 > [...]
 
 Can you please share relevant lines of config.log please, i.e. here on
 NetBSD I can see:
 
  configure:16332: checking for getrandom (Linux 3.17+, glibc 2.25+)
  configure:16344: gcc -c -O2 -pipe -O2 -march=3Dhaswell -Wall -Wmissing-pr=
 ototypes -Wstrict-prototypes -fexceptions -fno-strict-aliasing  conftest.c=
  >&5
  conftest.c:28:26: fatal error: sys/random.h: No such file or directory
  compilation terminated.
  configure:16344: $? =3D 1
  configure: failed program was:
  | /* confdefs.h */
  | #define PACKAGE_NAME "expat"
  | #define PACKAGE_TARNAME "expat"
  | #define PACKAGE_VERSION "2.2.1"
  | #define PACKAGE_STRING "expat 2.2.1"
  | #define PACKAGE_BUGREPORT "expat-bugs%libexpat.org@localhost"
  | #define PACKAGE_URL ""
  | #define STDC_HEADERS 1
  | #define HAVE_SYS_TYPES_H 1
  | #define HAVE_SYS_STAT_H 1
  | #define HAVE_STDLIB_H 1
  | #define HAVE_STRING_H 1
  | #define HAVE_MEMORY_H 1
  | #define HAVE_STRINGS_H 1
  | #define HAVE_INTTYPES_H 1
  | #define HAVE_STDINT_H 1
  | #define HAVE_UNISTD_H 1
  | #define HAVE_DLFCN_H 1
  | #define LT_OBJDIR ".libs/"
  | #define STDC_HEADERS 1
  | #define BYTEORDER 1234
  | #define HAVE_MEMMOVE 1
  | #define HAVE_BCOPY 1
  | #define HAVE_ARC4RANDOM_BUF 1
  | /* end confdefs.h.  */
  | =
 
  |   #include <stdlib.h>  /* for NULL */
  |   #include <sys/random.h>
  |   int main() {
  |     return getrandom(NULL, 0U, 0U);
  |   }
  | =
 
  configure:16354: result: no
  configure:16357: checking for syscall SYS_getrandom (Linux 3.17+)
  configure:16371: gcc -o conftest -O2 -pipe -O2 -march=3Dhaswell -Wall -Wm=
 issing-prototypes -Wstrict-prototypes -fexceptions -fno-strict-aliasing  -=
 Wl,-R/usr/pkg/lib -fno-strict-aliasing conftest.c  >&5
  conftest.c:30:11: warning: function declaration isn't a prototype [-Wstri=
 ct-prototypes]
         int main() {
             ^
  conftest.c: In function 'main':
  conftest.c:31:17: error: 'SYS_getrandom' undeclared (first use in this fu=
 nction)
           syscall(SYS_getrandom, NULL, 0, 0);
                   ^
  conftest.c:31:17: note: each undeclared identifier is reported only once =
 for each function it appears in
  configure:16371: $? =3D 1
  configure: failed program was:
  | /* confdefs.h */
  | #define PACKAGE_NAME "expat"
  | #define PACKAGE_TARNAME "expat"
  | #define PACKAGE_VERSION "2.2.1"
  | #define PACKAGE_STRING "expat 2.2.1"
  | #define PACKAGE_BUGREPORT "expat-bugs%libexpat.org@localhost"
  | #define PACKAGE_URL ""
  | #define STDC_HEADERS 1
  | #define HAVE_SYS_TYPES_H 1
  | #define HAVE_SYS_STAT_H 1
  | #define HAVE_STDLIB_H 1
  | #define HAVE_STRING_H 1
  | #define HAVE_MEMORY_H 1
  | #define HAVE_STRINGS_H 1
  | #define HAVE_INTTYPES_H 1
  | #define HAVE_STDINT_H 1
  | #define HAVE_UNISTD_H 1
  | #define HAVE_DLFCN_H 1
  | #define LT_OBJDIR ".libs/"
  | #define STDC_HEADERS 1
  | #define BYTEORDER 1234
  | #define HAVE_MEMMOVE 1
  | #define HAVE_BCOPY 1
  | #define HAVE_ARC4RANDOM_BUF 1
  | /* end confdefs.h.  */
  | =
 
  |       #include <stdlib.h>  /* for NULL */
  |       #include <unistd.h>  /* for syscall */
  |       #include <sys/syscall.h>  /* for SYS_getrandom */
  |       int main() {
  |         syscall(SYS_getrandom, NULL, 0, 0);
  |         return 0;
  |       }
  | =
 
  configure:16381: result: no
 
 Probably it will help to spot why getrandom() is recognized while it
 probably shouldn't.
 
 
 Thank you!
 


Home | Main Index | Thread Index | Old Index