Open portability issues
Open portability issues:
/usr/local should be searched for lib and include for all ports if present
(currently not working, I have libreadline there)
the stream functions on AIX need a size_t for addrlen's in fe-connect.c and pqcomm.c.
lock.c still has an incompatible TPRINTF(flags, args...) definition
the long long int printf format in int8.h is %lld on AIX
AIX 4.2.1 and 4.3.1 need one other simpler Makefile, another template
and must not include dynloader.c
Andreas
PS: all unsigned char problems are gone.
keep it cidr not inet !!
and no, the heaptuple.c fix did not fix the pg_class index problem
sorry i am off to weekend now
begin 600 aix_42
M05)/4%0Z8W)S"D-&3$%'4SHM<6-H87)S/7-I9VYE9" M<6UA>&UE;3TX,3DR
M("UQ:&%L=#UW("UQ<W)C;7-G("UQ8VAE8VL]9&EV>F5R;R M<6QO;F=L;VYG
M"E-(05)%1%],24(Z"D%,3#H*4U)#2%])3D,Z"E-20TA?3$E".@I54T5?3$]#
K04Q%.FYO"D1,4U5&1DE8.BYS;PI91DQ!1U,Z+60*64%#0SH*0T,Z>&QC"D]#
`
end
begin 600 Makefile.aix4
M34M?3D]?3$]21$52/2!T<G5E"@HE)"A$3%-51D9)6"DZ("4N;PH))"A,1"D@
J+4<@+6)E>'!A;&P@+6)N;V5N=')Y("UO("1 ("0\("0H3$1&3$%'4RD*
`
end
begin 600 .similar
M86QP:&$M9&5C+6]S9CUA;'!H80IA;'!H82UU;FMN;W=N+6QI;G5X+6=N=3UL
M:6YU>%]A;'!H80IH<'!A,2XQ+6AP+6AP=7@Q,"XR,#UH<'5X7V-C"FAP<&$Q
M+C$M<W1R871U<RUS>7-V-#US=G(T"FDS.#8M;F5X="UN97AT<W1E<#,];F5X
M='-T97 *:3,X-BUP8RUB<V1I,BXP/6)S9&E?,BXP"FDS.#8M<&,M8G-D:3(N
M,3UB<V1I7S(N,0II,S@V+7!C+6)S9&DS+C ]8G-D:5\S+C *:3,X-BUP8RUL
M:6YU>"UG;G4];&EN=7A?:3,X-@II,S@V+7!C+7-O;&%R:7,R+C8]<V]L87)I
M<U]I,S@V7V=C8PII,S@V+7!C+7-U;F]S-3US;VQA<FES7VDS.#9?9V-C"FDS
M.#8M=6YK;F]W;BUF<F5E8G-D/69R965B<V0*:3,X-BUU;FMN;W=N+6YE=&)S
M9#UN971B<V0*:30X-BUP8RUL:6YU>"UG;G4];&EN=7A?:3,X-@II-3@V+7!C
M+6QI;G5X+6=N=3UL:6YU>%]I,S@V"FDU.#8M<&,M<V-O,RXR=CUS8V\*:38X
M-BUP8RUL:6YU>"UG;G4];&EN=7A?:3,X-@IM:7!S+7-G:2UI<FEX/6ER:7@U
M"G!O=V5R<&,M:6)M+6%I>#,N,BXU/6%I>%\S,C4*<&]W97)P8RUI8FTM86EX
M-"XQ+C0N,#UA:7A?-#$*<&]W97)P8RUI8FTM86EX-"XQ+C4N,#UA:7A?-#$*
M<&]W97)P8RUI8FTM86EX-"XR+C$N,#UA:7A?-#(*<&]W97)P8RUI8FTM86EX
M-"XS+C$N,#UA:7A?-#(*<&]W97)P8RUU;FMN;W=N+6QI;G5X+6=N=3UL:6YU
M>%]P<&,*<W!A<F,M<W5N+7-O;&%R:7,]<V]L87)I<U]S<&%R8U]G8V,*<W!A
M<F,M<W5N+7-U;F]S-#US=6YO<S1?9V-C"G-P87)C+7-U;BUS=6YO<S4]<V]L
M87)I<U]S<&%R8U]G8V,*<W!A<F,M=6YK;F]W;BUL:6YU>"UG;G4];&EN=7A?
&<W!A<F,*
`
end
Open portability issues:
/usr/local should be searched for lib and include for all ports if present
(currently not working, I have libreadline there)
See the INSTALL file for using configure.
--with-includes=DIRS
Include DIRS in list of directories searched
for header files. (Typical use will need
--with-includes=/usr/local/include)
--with-libs=DIRS
--with-libraries=DIRS
Include DIRS in list of directories searched
for archive libraries. (Typical use will need
--with-libraries=/usr/local/lib)
Cheers,
Brook
the long long int printf format in int8.h is %lld on AIX
This is on my list. %lld will work with gcc also, so since we don't have
very many reported successful ports for int8, we should just change it
for now.
- Tom
Open portability issues:
/usr/local should be searched for lib and include for all ports if present
(currently not working, I have libreadline there)the stream functions on AIX need a size_t for addrlen's in fe-connect.c and pqcomm.c.
lock.c still has an incompatible TPRINTF(flags, args...) definition
Please apply this patch:
*** src/backend/storage/lmgr/lock.c.orig Wed Aug 26 09:00:55 1998
--- src/backend/storage/lmgr/lock.c Mon Sep 7 14:44:53 1998
*************** static int WaitOnLock(LOCKMETHOD lockmet
*** 136,153 ****
xidentP->holders[5], \
xidentP->nHolding)
- #define LOCK_TPRINTF(lock, args...) \
- if (((LOCKDEBUG(LOCK_LOCKMETHOD(*(lock))) >= 1) \
- && (lock->tag.relId >= lockDebugOidMin)) \
- || (lock->tag.relId == lockDebugRelation)) \
- TPRINTF(TRACE_ALL, args)
-
#else /* !LOCK_MGR_DEBUG */
#define LOCK_PRINT(where,lock,type)
#define LOCK_PRINT_AUX(where,lock,type)
#define XID_PRINT(where,xidentP)
#define XID_PRINT_AUX(where,xidentP)
- #define LOCK_TPRINTF(lock, args...)
#endif /* !LOCK_MGR_DEBUG */
static char *lock_types[] = {
--- 136,146 ----
*************** LockRelease(LOCKMETHOD lockmethod, LOCKT
*** 1200,1206 ****
}
else
{
! LOCK_TPRINTF(lock, "LockRelease: no wakeup needed");
}
SpinRelease(masterLock);
--- 1193,1202 ----
}
else
{
! if (((LOCKDEBUG(LOCK_LOCKMETHOD(*(lock))) >= 1) \
! && (lock->tag.relId >= lockDebugOidMin)) \
! || (lock->tag.relId == lockDebugRelation))
! TPRINTF(TRACE_ALL, "LockRelease: no wakeup needed");
}
SpinRelease(masterLock);
--
Massimo Dal Zotto
+----------------------------------------------------------------------+
| Massimo Dal Zotto email: dz@cs.unitn.it |
| Via Marconi, 141 phone: ++39-461-534251 |
| 38057 Pergine Valsugana (TN) www: http://www.cs.unitn.it/~dz/ |
| Italy pgp: finger dz@tango.cs.unitn.it |
+----------------------------------------------------------------------+
Patch applied.
[Charset iso-8859-1 unsupported, filtering to ASCII...]
Open portability issues:
/usr/local should be searched for lib and include for all ports if present
(currently not working, I have libreadline there)the stream functions on AIX need a size_t for addrlen's in fe-connect.c and pqcomm.c.
lock.c still has an incompatible TPRINTF(flags, args...) definition
Please apply this patch:
*** src/backend/storage/lmgr/lock.c.orig Wed Aug 26 09:00:55 1998 --- src/backend/storage/lmgr/lock.c Mon Sep 7 14:44:53 1998 *************** static int WaitOnLock(LOCKMETHOD lockmet *** 136,153 **** xidentP->holders[5], \ xidentP->nHolding)- #define LOCK_TPRINTF(lock, args...) \
- if (((LOCKDEBUG(LOCK_LOCKMETHOD(*(lock))) >= 1) \
- && (lock->tag.relId >= lockDebugOidMin)) \
- || (lock->tag.relId == lockDebugRelation)) \
- TPRINTF(TRACE_ALL, args)
-
#else /* !LOCK_MGR_DEBUG */
#define LOCK_PRINT(where,lock,type)
#define LOCK_PRINT_AUX(where,lock,type)
#define XID_PRINT(where,xidentP)
#define XID_PRINT_AUX(where,xidentP)
- #define LOCK_TPRINTF(lock, args...)
#endif /* !LOCK_MGR_DEBUG */static char *lock_types[] = { --- 136,146 ---- *************** LockRelease(LOCKMETHOD lockmethod, LOCKT *** 1200,1206 **** } else { ! LOCK_TPRINTF(lock, "LockRelease: no wakeup needed"); }SpinRelease(masterLock); --- 1193,1202 ---- } else { ! if (((LOCKDEBUG(LOCK_LOCKMETHOD(*(lock))) >= 1) \ ! && (lock->tag.relId >= lockDebugOidMin)) \ ! || (lock->tag.relId == lockDebugRelation)) ! TPRINTF(TRACE_ALL, "LockRelease: no wakeup needed"); }SpinRelease(masterLock);
--
Massimo Dal Zotto+----------------------------------------------------------------------+ | Massimo Dal Zotto email: dz@cs.unitn.it | | Via Marconi, 141 phone: ++39-461-534251 | | 38057 Pergine Valsugana (TN) www: http://www.cs.unitn.it/~dz/ | | Italy pgp: finger dz@tango.cs.unitn.it | +----------------------------------------------------------------------+
--
Bruce Momjian | 830 Blythe Avenue
maillist@candle.pha.pa.us | Drexel Hill, Pennsylvania 19026
+ If your life is a hard drive, | (610) 353-9879(w)
+ Christ can be your backup. | (610) 853-3000(h)
Open portability issues:
/usr/local should be searched for lib and include for all ports if present
(currently not working, I have libreadline there)
I actually us a flag to configure:
--with-includes="/u/readline" \
--with-libraries="/u/readline /usr/contrib/lib"
Should we be poking around in /usr/local by default? Comments?
the stream functions on AIX need a size_t for addrlen's in fe-connect.c and pqcomm.c.
This has come up before. AIX wants size_t for certain structures like
getsockname(). I believe the third parameter on AIX is size_t, while it
used to be int on my machine, but is not socklen_t. Is this correct?
The 'int' code works fine for me, but I can see why AIX is having a
problem, and perhaps it is time for configure to check on the various
types.
getsockname(int s, struct sockaddr *name, socklen_t *namelen);
Can you confirm this?
lock.c still has an incompatible TPRINTF(flags, args...) definition
Massimo has fixed this.
the long long int printf format in int8.h is %lld on AIX
AIX 4.2.1 and 4.3.1 need one other simpler Makefile, another template
and must not include dynloader.c
Done. Files added.
PS: all unsigned char problems are gone.
keep it cidr not inet !!
and no, the heaptuple.c fix did not fix the pg_class index problem
sorry i am off to weekend nowbegin 600 aix_42
M05)/4%0Z8W)S"D-&3$%'4SHM<6-H87)S/7-I9VYE9" M<6UA>&UE;3TX,3DR
M("UQ:&%L=#UW("UQ<W)C;7-G("UQ8VAE8VL]9&EV>F5R;R M<6QO;F=L;VYG
M"E-(05)%1%],24(Z"D%,3#H*4U)#2%])3D,Z"E-20TA?3$E".@I54T5?3$]#
K04Q%.FYO"D1,4U5&1DE8.BYS;PI91DQ!1U,Z+60*64%#0SH*0T,Z>&QC"D]#
`
endbegin 600 Makefile.aix4
M34M?3D]?3$]21$52/2!T<G5E"@HE)"A$3%-51D9)6"DZ("4N;PH))"A,1"D@
J+4<@+6)E>'!A;&P@+6)N;V5N=')Y("UO("1 ("0\("0H3$1&3$%'4RD*
`
endbegin 600 .similar
M86QP:&$M9&5C+6]S9CUA;'!H80IA;'!H82UU;FMN;W=N+6QI;G5X+6=N=3UL
M:6YU>%]A;'!H80IH<'!A,2XQ+6AP+6AP=7@Q,"XR,#UH<'5X7V-C"FAP<&$Q
M+C$M<W1R871U<RUS>7-V-#US=G(T"FDS.#8M;F5X="UN97AT<W1E<#,];F5X
M='-T97 *:3,X-BUP8RUB<V1I,BXP/6)S9&E?,BXP"FDS.#8M<&,M8G-D:3(N
M,3UB<V1I7S(N,0II,S@V+7!C+6)S9&DS+C ]8G-D:5\S+C *:3,X-BUP8RUL
M:6YU>"UG;G4];&EN=7A?:3,X-@II,S@V+7!C+7-O;&%R:7,R+C8]<V]L87)I
M<U]I,S@V7V=C8PII,S@V+7!C+7-U;F]S-3US;VQA<FES7VDS.#9?9V-C"FDS
M.#8M=6YK;F]W;BUF<F5E8G-D/69R965B<V0*:3,X-BUU;FMN;W=N+6YE=&)S
M9#UN971B<V0*:30X-BUP8RUL:6YU>"UG;G4];&EN=7A?:3,X-@II-3@V+7!C
M+6QI;G5X+6=N=3UL:6YU>%]I,S@V"FDU.#8M<&,M<V-O,RXR=CUS8V\*:38X
M-BUP8RUL:6YU>"UG;G4];&EN=7A?:3,X-@IM:7!S+7-G:2UI<FEX/6ER:7@U
M"G!O=V5R<&,M:6)M+6%I>#,N,BXU/6%I>%\S,C4*<&]W97)P8RUI8FTM86EX
M-"XQ+C0N,#UA:7A?-#$*<&]W97)P8RUI8FTM86EX-"XQ+C4N,#UA:7A?-#$*
M<&]W97)P8RUI8FTM86EX-"XR+C$N,#UA:7A?-#(*<&]W97)P8RUI8FTM86EX
M-"XS+C$N,#UA:7A?-#(*<&]W97)P8RUU;FMN;W=N+6QI;G5X+6=N=3UL:6YU
M>%]P<&,*<W!A<F,M<W5N+7-O;&%R:7,]<V]L87)I<U]S<&%R8U]G8V,*<W!A
M<F,M<W5N+7-U;F]S-#US=6YO<S1?9V-C"G-P87)C+7-U;BUS=6YO<S4]<V]L
M87)I<U]S<&%R8U]G8V,*<W!A<F,M=6YK;F]W;BUL:6YU>"UG;G4];&EN=7A?
&<W!A<F,*
`
end
--
Bruce Momjian | 830 Blythe Avenue
maillist@candle.pha.pa.us | Drexel Hill, Pennsylvania 19026
+ If your life is a hard drive, | (610) 353-9879(w)
+ Christ can be your backup. | (610) 853-3000(h)
Open portability issues:
/usr/local should be searched for lib and include for all ports if present
(currently not working, I have libreadline there)
I actually us a flag to configure:
--with-includes="/u/readline" \
--with-libraries="/u/readline /usr/contrib/lib"
Should we be poking around in /usr/local by default? Comments?
No! The configure options (including the /usr/local typical usage)
are clearly outlined in INSTALL and easy to use. In fact, arbitrary
series of space-separated directories can be given as you illustrate.
The configuration stuff works fine now. Why mung it up again? If we
make searching /usr/local a default, we need a way to prevent that if
the wrong stuff is in /usr/local. It makes sense to simply specify
where to look, document what to do, and be done.
Cheers,
Brook
On Wed, 9 Sep 1998, Bruce Momjian wrote:
Open portability issues:
/usr/local should be searched for lib and include for all ports if present
(currently not working, I have libreadline there)I actually us a flag to configure:
--with-includes="/u/readline" \
--with-libraries="/u/readline /usr/contrib/lib"Should we be poking around in /usr/local by default? Comments?
No...unless someone can point me at a package that explicitly goes
out and looking /usr/local. I've yet to have a problem with any package
I've installed not being able to find libraries and include files that are
installed in /usr/local ... if someone is having a problem, they should be
directed to look at *fixing* their system in the first place, as they are
definitely going to have more problems then just with PostgreSQL...
Marc G. Fournier
Systems Administrator @ hub.org
primary: scrappy@hub.org secondary: scrappy@{freebsd|postgresql}.org
Should we be poking around in /usr/local by default? Comments?
I would, since it is pretty much a standard place to put gnu, bsd and other extensions
like perl, bison, readline ... on non BSD or Linux systems.
the stream functions on AIX need a size_t for addrlen's in fe-connect.c and pqcomm.c.
This has come up before. AIX wants size_t for certain structures like
getsockname(). I believe the third parameter on AIX is size_t, while it
used to be int on my machine, but is not socklen_t. Is this correct?
The 'int' code works fine for me, but I can see why AIX is having a
problem, and perhaps it is time for configure to check on the various
types.getsockname(int s, struct sockaddr *name, socklen_t *namelen);
Ok, so this gets tricky. In 4.2.1 it is size_t and in 4.3.1 it is as above with socklen_t :-(
AIX 4.2.1 and 4.3.1 need one other simpler Makefile, another template
and must not include dynloader.cDone. Files added.
Thanks very much :-)
Andreas
Import Notes
Resolved by subject fallback
Should we be poking around in /usr/local by default? Comments?
No...unless someone can point me at a package that explicitly goes
out and looking /usr/local. I've yet to have a problem with any package
I've installed not being able to find libraries and include files that are
installed in /usr/local ... if someone is having a problem, they should be
directed to look at *fixing* their system in the first place, as they are
definitely going to have more problems then just with PostgreSQL...
Ok, just something to grumble on.
1. It did find /usr/local headers with a snapshot from about a month ago but not libs
2. a lot of the templates have SRCH_INC:/usr/local/include SRCH_LIB:/usr/local/lib
why that if it is supposed to be in the compiler config ?
Even if I add those lines to the AIX template, configure won't find my
/usr/local/include/readline/readline.h. (the --with-libs works fine :-)
I think SRCH_INC:/usr/local/include SRCH_LIB:/usr/local/lib must be taken out of template/aix_42
since it is not a standard AIX path, and therefore won't be available on every system (I thought I deleted
those before sending in the file, Sorry)
I don't know how to do the Makefile and dynloader stuff, since $os will be aix
the Makefile.aix and aix.c dynloader will be used which is wrong.
Maybe the dynloader step could be done conditionally only if -ldl is not found by configure ?
Andreas
Import Notes
Resolved by subject fallback