Opened 3 years ago
Closed 2 years ago
#65034 closed defect (fixed)
rsync fails to upgrade to @3.2.4 on 10.6.8 when building as ppc error: pointer targets in passing argument 2 of ‘getgroups’ differ in signedness
Reported by: | barracuda156 | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.7.2 |
Keywords: | powerpc, snowleopard, rosetta | Cc: | |
Port: | rsync |
Description
/usr/bin/gcc-4.2 -std=gnu99 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c uidlist.c -o uidlist.o uidlist.c: In function ‘is_in_group’: uidlist.c:210: error: pointer targets in passing argument 2 of ‘getgroups’ differ in signedness uidlist.c:213: warning: comparison between signed and unsigned uidlist.c:232: warning: comparison between signed and unsigned make: *** [uidlist.o] Error 1 make: *** Waiting for unfinished jobs.... token.c: In function ‘send_token’: token.c:921: warning: ‘next_in’ may be used uninitialized in this function token.c:921: note: ‘next_in’ was declared here token.c:920: warning: ‘available_in’ may be used uninitialized in this function token.c:920: note: ‘available_in’ was declared here make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_rsync/rsync/work/rsync-3.2.4' Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_rsync/rsync/work/rsync-3.2.4" && /usr/bin/make -j4 -w all Exit code: 2
Attachments (2)
Change History (15)
Changed 3 years ago by barracuda156
comment:1 Changed 3 years ago by kencu (Ken)
Summary: | rsync fails to upgrade to @3.2.4 on 10.6.8: error: pointer targets in passing argument 2 of ‘getgroups’ differ in signedness → rsync fails to upgrade to @3.2.4 on 10.6.8 when building as ppc using gcc-4.2 error: pointer targets in passing argument 2 of ‘getgroups’ differ in signedness |
---|
comment:2 follow-up: 3 Changed 3 years ago by kencu (Ken)
jftr it builds fine using standard builds on the bots, eg
comment:3 Changed 3 years ago by barracuda156
Replying to kencu:
jftr it builds fine using standard builds on the bots, eg
Yes, it also builds with no problem on 10.6 PPC and on Tiger. I only had this problem on 10.6.8 Rosetta.
comment:4 follow-ups: 7 8 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)
Ok, the log shows this configure output:
:info:configure checking type of array argument to getgroups... int
That's suspicious: getgroups
actually takes a gid_t
which is a __darwin_gid_t
which is a __uint32_t
which is an unsigned integer, vs. int
which is a signed integer, hence the message about differing signedness.
The configure script gets the correct result on my Catalina system and on the buildbot Snow Leopard machines too. Something about your cross-compiling scenario seems to be throwing off the detection. Could you attach your config.log so we can see what happened?
This determination of the type of arguments for getgroups
is implemented in a standard autoconf macro AC_TYPE_GETGROUPS
. There is a comment in the code for that macro that talks about how it will use int
when cross compiling on old systems that lack prototypes. That explanation doesn't make sense for Mac OS X, all versions of which are new enough to have prototypes, so I think some other failure, which the config.log should tell us about, is confusing this check into giving the wrong answer.
comment:5 Changed 3 years ago by barracuda156
It is not a problem of gcc-4.2
though:
---> Building rsync Executing: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_rsync/rsync/work/rsync-3.2.4" && /usr/bin/make -j4 -w all make: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_rsync/rsync/work/rsync-3.2.4' gawk -f ./daemon-parm.awk ./daemon-parm.txt gawk -f ./help-from-md.awk -v hfile=help-rsync.h ./rsync.1.md gawk -f ./help-from-md.awk -v hfile=help-rsyncd.h ./rsync.1.md ./mkgitver gawk -f ./define-from-md.awk -v hfile=default-cvsignore.h ./rsync.1.md gawk -f ./define-from-md.awk -v hfile=default-dont-compress.h ./rsync.1.md sed 's;\@bindir\@;/opt/local/bin;g' <./stunnel-rsyncd.conf.in >stunnel-rsyncd.conf gawk -f ./mkproto.awk ./*.c ./lib/compat.c daemon-parm.h /opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c rsync.c -o rsync.o /opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c generator.c -o generator.o /opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c receiver.c -o receiver.o /opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c cleanup.c -o cleanup.o /opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c sender.c -o sender.o /opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c exclude.c -o exclude.o /opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c util1.c -o util1.o /opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c util2.c -o util2.o /opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c main.c -o main.o /opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c checksum.c -o checksum.o checksum.c: In function 'get_checksum2': checksum.c:227:3: warning: 'MD5_Init' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations] 227 | md5_begin(&m5); | ^~~~~~~~~ In file included from lib/mdigest.h:5, from rsync.h:1149, from checksum.c:29: /opt/local/include/openssl/md5.h:49:27: note: declared here 49 | OSSL_DEPRECATEDIN_3_0 int MD5_Init(MD5_CTX *c); | ^~~~~~~~ checksum.c:231:5: warning: 'MD5_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations] 231 | md5_update(&m5, seedbuf, 4); | ^~~~~~~~~~ In file included from lib/mdigest.h:5, from rsync.h:1149, from checksum.c:29: /opt/local/include/openssl/md5.h:50:27: note: declared here 50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len); | ^~~~~~~~~~ checksum.c:233:4: warning: 'MD5_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations] 233 | md5_update(&m5, (uchar *)buf, len); | ^~~~~~~~~~ In file included from lib/mdigest.h:5, from rsync.h:1149, from checksum.c:29: /opt/local/include/openssl/md5.h:50:27: note: declared here 50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len); | ^~~~~~~~~~ checksum.c:235:4: warning: 'MD5_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations] 235 | md5_update(&m5, (uchar *)buf, len); | ^~~~~~~~~~ In file included from lib/mdigest.h:5, from rsync.h:1149, from checksum.c:29: /opt/local/include/openssl/md5.h:50:27: note: declared here 50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len); | ^~~~~~~~~~ checksum.c:238:5: warning: 'MD5_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations] 238 | md5_update(&m5, seedbuf, 4); | ^~~~~~~~~~ In file included from lib/mdigest.h:5, from rsync.h:1149, from checksum.c:29: /opt/local/include/openssl/md5.h:50:27: note: declared here 50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len); | ^~~~~~~~~~ checksum.c:241:3: warning: 'MD5_Final' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations] 241 | md5_result(&m5, (uchar *)sum); | ^~~~~~~~~~ In file included from lib/mdigest.h:5, from rsync.h:1149, from checksum.c:29: /opt/local/include/openssl/md5.h:51:27: note: declared here 51 | OSSL_DEPRECATEDIN_3_0 int MD5_Final(unsigned char *md, MD5_CTX *c); | ^~~~~~~~~ checksum.c:248:3: warning: 'MD4_Init' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations] 248 | MD4_Init(&m4); | ^~~~~~~~ In file included from lib/mdigest.h:4, from rsync.h:1149, from checksum.c:29: /opt/local/include/openssl/md4.h:50:27: note: declared here 50 | OSSL_DEPRECATEDIN_3_0 int MD4_Init(MD4_CTX *c); | ^~~~~~~~ checksum.c:249:3: warning: 'MD4_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations] 249 | MD4_Update(&m4, (uchar *)buf, len); | ^~~~~~~~~~ In file included from lib/mdigest.h:4, from rsync.h:1149, from checksum.c:29: /opt/local/include/openssl/md4.h:51:27: note: declared here 51 | OSSL_DEPRECATEDIN_3_0 int MD4_Update(MD4_CTX *c, const void *data, size_t len); | ^~~~~~~~~~ checksum.c:253:4: warning: 'MD4_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations] 253 | MD4_Update(&m4, seedbuf, 4); | ^~~~~~~~~~ In file included from lib/mdigest.h:4, from rsync.h:1149, from checksum.c:29: /opt/local/include/openssl/md4.h:51:27: note: declared here 51 | OSSL_DEPRECATEDIN_3_0 int MD4_Update(MD4_CTX *c, const void *data, size_t len); | ^~~~~~~~~~ checksum.c:255:3: warning: 'MD4_Final' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations] 255 | MD4_Final((uchar *)sum, &m4); | ^~~~~~~~~ In file included from lib/mdigest.h:4, from rsync.h:1149, from checksum.c:29: /opt/local/include/openssl/md4.h:52:27: note: declared here 52 | OSSL_DEPRECATEDIN_3_0 int MD4_Final(unsigned char *md, MD4_CTX *c); | ^~~~~~~~~ checksum.c: In function 'file_checksum': checksum.c:379:3: warning: 'MD5_Init' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations] 379 | md5_begin(&m5); | ^~~~~~~~~ In file included from lib/mdigest.h:5, from rsync.h:1149, from checksum.c:29: /opt/local/include/openssl/md5.h:49:27: note: declared here 49 | OSSL_DEPRECATEDIN_3_0 int MD5_Init(MD5_CTX *c); | ^~~~~~~~ checksum.c:382:4: warning: 'MD5_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations] 382 | md5_update(&m5, (uchar *)map_ptr(buf, i, CHUNK_SIZE), CHUNK_SIZE); | ^~~~~~~~~~ In file included from lib/mdigest.h:5, from rsync.h:1149, from checksum.c:29: /opt/local/include/openssl/md5.h:50:27: note: declared here 50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len); | ^~~~~~~~~~ checksum.c:386:4: warning: 'MD5_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations] 386 | md5_update(&m5, (uchar *)map_ptr(buf, i, remainder), remainder); | ^~~~~~~~~~ In file included from lib/mdigest.h:5, from rsync.h:1149, from checksum.c:29: /opt/local/include/openssl/md5.h:50:27: note: declared here 50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len); | ^~~~~~~~~~ checksum.c:388:3: warning: 'MD5_Final' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations] 388 | md5_result(&m5, (uchar *)sum); | ^~~~~~~~~~ In file included from lib/mdigest.h:5, from rsync.h:1149, from checksum.c:29: /opt/local/include/openssl/md5.h:51:27: note: declared here 51 | OSSL_DEPRECATEDIN_3_0 int MD5_Final(unsigned char *md, MD5_CTX *c); | ^~~~~~~~~ checksum.c:396:3: warning: 'MD4_Init' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations] 396 | MD4_Init(&m4); | ^~~~~~~~ In file included from lib/mdigest.h:4, from rsync.h:1149, from checksum.c:29: /opt/local/include/openssl/md4.h:50:27: note: declared here 50 | OSSL_DEPRECATEDIN_3_0 int MD4_Init(MD4_CTX *c); | ^~~~~~~~ checksum.c:399:4: warning: 'MD4_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations] 399 | MD4_Update(&m4, (uchar *)map_ptr(buf, i, CHUNK_SIZE), CHUNK_SIZE); | ^~~~~~~~~~ In file included from lib/mdigest.h:4, from rsync.h:1149, from checksum.c:29: /opt/local/include/openssl/md4.h:51:27: note: declared here 51 | OSSL_DEPRECATEDIN_3_0 int MD4_Update(MD4_CTX *c, const void *data, size_t len); | ^~~~~~~~~~ checksum.c:403:4: warning: 'MD4_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations] 403 | MD4_Update(&m4, (uchar *)map_ptr(buf, i, remainder), remainder); | ^~~~~~~~~~ In file included from lib/mdigest.h:4, from rsync.h:1149, from checksum.c:29: /opt/local/include/openssl/md4.h:51:27: note: declared here 51 | OSSL_DEPRECATEDIN_3_0 int MD4_Update(MD4_CTX *c, const void *data, size_t len); | ^~~~~~~~~~ checksum.c:405:3: warning: 'MD4_Final' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations] 405 | MD4_Final((uchar *)sum, &m4); | ^~~~~~~~~ In file included from lib/mdigest.h:4, from rsync.h:1149, from checksum.c:29: /opt/local/include/openssl/md4.h:52:27: note: declared here 52 | OSSL_DEPRECATEDIN_3_0 int MD4_Final(unsigned char *md, MD4_CTX *c); | ^~~~~~~~~ checksum.c: In function 'sum_init': checksum.c:485:3: warning: 'MD5_Init' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations] 485 | md5_begin(&ctx.m5); | ^~~~~~~~~ In file included from lib/mdigest.h:5, from rsync.h:1149, from checksum.c:29: /opt/local/include/openssl/md5.h:49:27: note: declared here 49 | OSSL_DEPRECATEDIN_3_0 int MD5_Init(MD5_CTX *c); | ^~~~~~~~ checksum.c:489:3: warning: 'MD4_Init' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations] 489 | MD4_Init(&ctx.m4); | ^~~~~~~~ In file included from lib/mdigest.h:4, from rsync.h:1149, from checksum.c:29: /opt/local/include/openssl/md4.h:50:27: note: declared here 50 | OSSL_DEPRECATEDIN_3_0 int MD4_Init(MD4_CTX *c); | ^~~~~~~~ checksum.c: In function 'sum_update': checksum.c:535:3: warning: 'MD5_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations] 535 | md5_update(&ctx.m5, (uchar *)p, len); | ^~~~~~~~~~ In file included from lib/mdigest.h:5, from rsync.h:1149, from checksum.c:29: /opt/local/include/openssl/md5.h:50:27: note: declared here 50 | OSSL_DEPRECATEDIN_3_0 int MD5_Update(MD5_CTX *c, const void *data, size_t len); | ^~~~~~~~~~ checksum.c:539:3: warning: 'MD4_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations] 539 | MD4_Update(&ctx.m4, (uchar *)p, len); | ^~~~~~~~~~ In file included from lib/mdigest.h:4, from rsync.h:1149, from checksum.c:29: /opt/local/include/openssl/md4.h:51:27: note: declared here 51 | OSSL_DEPRECATEDIN_3_0 int MD4_Update(MD4_CTX *c, const void *data, size_t len); | ^~~~~~~~~~ checksum.c: In function 'sum_end': checksum.c:600:3: warning: 'MD5_Final' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations] 600 | md5_result(&ctx.m5, (uchar *)sum); | ^~~~~~~~~~ In file included from lib/mdigest.h:5, from rsync.h:1149, from checksum.c:29: /opt/local/include/openssl/md5.h:51:27: note: declared here 51 | OSSL_DEPRECATEDIN_3_0 int MD5_Final(unsigned char *md, MD5_CTX *c); | ^~~~~~~~~ checksum.c:604:3: warning: 'MD4_Final' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations] 604 | MD4_Final((uchar *)sum, &ctx.m4); | ^~~~~~~~~ In file included from lib/mdigest.h:4, from rsync.h:1149, from checksum.c:29: /opt/local/include/openssl/md4.h:52:27: note: declared here 52 | OSSL_DEPRECATEDIN_3_0 int MD4_Final(unsigned char *md, MD4_CTX *c); | ^~~~~~~~~ /opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c match.c -o match.o /opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c syscall.c -o syscall.o /opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c log.c -o log.o /opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c backup.c -o backup.o /opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c delete.c -o delete.o /opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c options.c -o options.o /opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c io.c -o io.o /opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c compat.c -o compat.o /opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c hlink.c -o hlink.o /opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c token.c -o token.o /opt/local/bin/gcc-mp-10 -I. -I. -I./zlib -pipe -Os -arch ppc -DHAVE_CONFIG_H -Wall -W -pedantic-errors -I/opt/local/include -c uidlist.c -o uidlist.o uidlist.c: In function 'is_in_group': uidlist.c:210:33: error: pointer targets in passing argument 2 of 'getgroups' differ in signedness [-Wpointer-sign] 210 | ngroups = getgroups(ngroups, gidset); | ^~~~~~ | | | int * In file included from rsync.h:353, from uidlist.c:26: /usr/include/unistd.h:452:21: note: expected 'gid_t *' {aka 'unsigned int *'} but argument is of type 'int *' 452 | int getgroups(int, gid_t []); | ^~~~~~~~ uidlist.c:213:18: warning: comparison of integer expressions of different signedness: 'int' and 'gid_t' {aka 'unsigned int'} [-Wsign-compare] 213 | if (gidset[n] == our_gid) | ^~ uidlist.c:232:17: warning: comparison of integer expressions of different signedness: 'int' and 'gid_t' {aka 'unsigned int'} [-Wsign-compare] 232 | if (gidset[n] == gid) | ^~ make: *** [uidlist.o] Error 1 make: *** Waiting for unfinished jobs.... make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_rsync/rsync/work/rsync-3.2.4' Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_rsync/rsync/work/rsync-3.2.4" && /usr/bin/make -j4 -w all Exit code: 2 Error: Failed to build rsync: command execution failed Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_rsync/rsync/main.log for details. Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug. macmini:~ svacchanda$
comment:6 Changed 3 years ago by barracuda156
Summary: | rsync fails to upgrade to @3.2.4 on 10.6.8 when building as ppc using gcc-4.2 error: pointer targets in passing argument 2 of ‘getgroups’ differ in signedness → rsync fails to upgrade to @3.2.4 on 10.6.8 when building as ppc error: pointer targets in passing argument 2 of ‘getgroups’ differ in signedness |
---|
The error is not specific to compiler version.
comment:7 Changed 3 years ago by barracuda156
Replying to ryandesign:
That explanation doesn't make sense for Mac OS X, all versions of which are new enough to have prototypes, so I think some other failure, which the config.log should tell us about, is confusing this check into giving the wrong answer.
I attach config.log below (with gcc10
).
Changed 3 years ago by barracuda156
Attachment: | config.log added |
---|
comment:8 follow-up: 10 Changed 2 years ago by barracuda156
Replying to ryandesign:
Ok, the log shows this configure output:
:info:configure checking type of array argument to getgroups... intThat's suspicious:
getgroups
actually takes agid_t
which is a__darwin_gid_t
which is a__uint32_t
which is an unsigned integer, vs.int
which is a signed integer, hence the message about differing signedness.The configure script gets the correct result on my Catalina system and on the buildbot Snow Leopard machines too. Something about your cross-compiling scenario seems to be throwing off the detection. Could you attach your config.log so we can see what happened?
This determination of the type of arguments for
getgroups
is implemented in a standard autoconf macroAC_TYPE_GETGROUPS
. There is a comment in the code for that macro that talks about how it will useint
when cross compiling on old systems that lack prototypes. That explanation doesn't make sense for Mac OS X, all versions of which are new enough to have prototypes, so I think some other failure, which the config.log should tell us about, is confusing this check into giving the wrong answer.
Any idea how to fix it? The failure still there (installed 10.6.8 Server on a different machine, Macports from scratch, same build error).
comment:9 Changed 2 years ago by barracuda156
Opened a ticket: https://github.com/WayneD/rsync/issues/338
comment:10 follow-up: 11 Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to barracuda156:
Any idea how to fix it?
I was hoping to see some kind of compiler error or warning in the config.log relating to the "checking type of array argument to getgroups" test in the config.log, but I don't see anything like that in there, so no, I don't have any ideas.
As I said earlier, the check for getgroups
is implemented in a standard autoconf macro AC_TYPE_GETGROUPS
, so if it's giving the wrong value, then that's where the fix is needed (in autoconf); it's not something specific to rsync.
We can of course apply a band-aid over the problem in MacPorts by forcing the correct value of this check in the rsync port, but any other ports that use the same check would be affected as well and would then need that same band-aid.
comment:11 Changed 2 years ago by barracuda156
Replying to ryandesign:
Replying to barracuda156:
Any idea how to fix it?
I was hoping to see some kind of compiler error or warning in the config.log relating to the "checking type of array argument to getgroups" test in the config.log, but I don't see anything like that in there, so no, I don't have any ideas.
Thank you for checking!
As I said earlier, the check for
getgroups
is implemented in a standard autoconf macroAC_TYPE_GETGROUPS
, so if it's giving the wrong value, then that's where the fix is needed (in autoconf); it's not something specific to rsync.
For w/e reason, rsync
3.2.3 builds fine though. Nothing else changed, I just took an earlier portfile.
comment:12 Changed 2 years ago by barracuda156
Temporary (likely until 3.2.5) solution from upstream: https://github.com/WayneD/rsync/issues/338#issuecomment-1201403133
comment:13 Changed 2 years ago by barracuda156
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
10.6.8 Server, Xcode 3.2.6