#44921 closed defect (fixed)
libgpg-error upgrade fails during build phase on leopard (10.5.8) on PowerBook G4 (PPC 7450)
Reported by: | zzanderr | Owned by: | Schamschula (Marius Schamschula) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.3.1 |
Keywords: | Cc: | udbraumann, ctreleaven (Craig Treleaven), mndavidoff (Monte Davidoff), raramayo (Rodolfo Aramayo), vikingjs@…, ryandesign (Ryan Carsten Schmidt) | |
Port: | libgpg-error |
Description
This is probably a duplicate as I accidentally forgot to specify the affected port.
libgpg-error/main.log is attached. I will try deactivating the old libgpg-error, reinstalling and then report the results.
Attachments (1)
Change History (28)
Changed 10 years ago by zzanderr
comment:1 follow-up: 4 Changed 10 years ago by zzanderr
No, it still fails with the old libgpg-error deactivated, and then attempting fresh install after port clean --all libgpg-error
comment:5 follow-up: 8 Changed 10 years ago by Schamschula (Marius Schamschula)
I have reported this issue upstream:
comment:7 Changed 10 years ago by mf2k (Frank Schima)
Cc: | mschamschula@… removed |
---|---|
Keywords: | upgrade build failure removed |
Owner: | changed from macports-tickets@… to mschamschula@… |
comment:8 Changed 10 years ago by udbraumann
Replying to mschamschula@…:
I have reported this issue upstream:
Any personal guess why 10.5. and 10.6 fail, but 10.7 and 10.8 work?
What I have tried on 10.6.8 is to test all available compilers (apple-gcc, gcc, llvm-gcc, clang) in various versions, but none could handle the lines 825 ff. in gpg-error.h
comment:9 Changed 10 years ago by Schamschula (Marius Schamschula)
A quick inspection of main.log seems to indicate that there is an issue with system header files. More specifically "ssize_t" may not have been declared. Adding
#include <stdlib.h>
to gpg-error.h may solve the issue.
Also see:
comment:11 Changed 10 years ago by zzanderr
I just added
#include <stdlib.h>
to gpg-error.h before configuring, as mschamschula suggested. Still it fails. Could it possibly require both the editing of the header and an alternate compiler?
leopard 10.5.8 PowerBook G4, PPC 7450 XCode 3.14
comment:13 Changed 10 years ago by Schamschula (Marius Schamschula)
I just did a bit more digging:
Under OS X 10.9 I find that ssize_t is defined in <sys/types.h>. This may not be the case for the older OS versions. I the back of my mind I remember running into the following patch:
http://notmuchmail.org/pipermail/notmuch/2009/000272.html
which defines ssize_t.
comment:14 Changed 10 years ago by larryv (Lawrence Velázquez)
Cc: | raramayo@… added |
---|
comment:15 Changed 10 years ago by zzanderr
I understand you to be referring to the file
/usr/include/sys/types.h
On my system, this file contains the lines:
#ifndef _SIZE_T #define _SIZE_T /* DO NOT REMOVE THIS COMMENT: fixincludes needs to see * _GCC_SIZE_T */ typedef __darwin_size_t size_t; #endif #ifndef _SSIZE_T #define _SSIZE_T typedef __darwin_ssize_t ssize_t; #endif
I am running leopard (10.5.8) on a PowerBook G4 (PPC 7450)
comment:16 Changed 10 years ago by zzanderr
Oops. Sorry about the formatting, I tried to use the code block feature...
comment:17 Changed 10 years ago by Schamschula (Marius Schamschula)
Can you try adding
<sys/types.h>
to gpg-error.h rather than
#include <stdlib.h>
?
comment:20 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ryandesign@… added |
---|
On my Tiger system, the error I got was basically that off_t
was not defined. off_t
is defined by the POSIX standard to be defined in sys/types.h. sys/types.h is not included by src/gpg-error.h. Adding #include <sys/types.h>
to src/gpg-error.h works for me on Tiger. I'll test on a few other systems before committing.
comment:21 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | new → closed |
Also fixed the build on Snow Leopard so I committed it in r125206.
comment:22 Changed 10 years ago by zzanderr
Oh, so you added
#include <sys/types.h>
to
gpg-error.h.in
I mistakenly added it to
gpg-error.h
I still don't understand all the in's and out's of makefiles, etc...
comment:24 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
Usually, if there is a file foo.in, then the file foo will be generated from it by the process of running ./configure
or possibly by running make
.
comment:25 follow-up: 26 Changed 10 years ago by zzanderr
One of these days, hopefully soon, I'm going to read the Gnu Make Manual. Thanks again!
comment:26 Changed 10 years ago by larryv (Lawrence Velázquez)
Replying to zanderpower@…:
One of these days, hopefully soon, I'm going to read the Gnu Make Manual.
That won’t tell you about .in
files and makefile generation (although you should still read it). You want the Autotools manuals:
libgpg-error main.log