-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Andreas Dittrich wrote: | Am 22.06.2005 um 19:08 schrieb Matthew Sachs: | |> On Jun 22, 2005, at 05:05, Andreas Dittrich wrote: |> |> |>> I have a problem compiling pwlib. There is a duplicate typedef which |>> is different in |>> /usr/include/sys/socket.h |>> than in |>> ./pwlib/include/ptlib/unix/ptlib/pmachdep.h |>> of the package. The one in the package defines int as the type of |>> the socketlen |>> |> |> Prior to Tiger, our system headers did not define socklen_t. |> Packages that needed socklen_t defined it themselves as int. Now on |> Tiger, we have socklen_t. However, some packages which had socklen_t |> definitions inserted are still using those definitions on Tiger, |> either because they're coming in from a patchscript/ SetCFLAGS or |> because the upstream developers assumed "if it's Darwin, we need to |> define socklen_t". |> |> The solution is to remove the socklen_t definitions from the package |> or conditionalize them on the MacOS version. In the case of pwlib, |> there's no mention of socklen_t in the info or patch file. Grepping |> the source for socklen_t, the most likely candidate for where the |> define is coming from is include/ptlib/unix/ptlib/ pmachdep.h. There |> are several defines of socklen_t in that file, conditionalized on |> various macros. To fix the package, figure out which one is applying |> on Darwin, and wrap it with the following: |> |> #ifdef __APPLE__ |> #include <AvailabilityMacros.h> |> #if MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_3 |> typedef int socklen_t; |> #endif |> #endif | | | I guess its the one in Line 448. Changed and adjusted the .info - it | begins to compile now but stops like this: | | g++3 -DP_MACOSX=810 -DNO_LONG_DOUBLE -D_REENTRANT -Wall - | DPHAS_TEMPLATES -I/sw/src/fink.build/pwlib-1.5.2-12/pwlib/include/ | ptlib/unix -I/usr/include/pwlib -I/sw/src/fink.build/pwlib-1.5.2-12/ | pwlib/include -O2 -DNDEBUG -I/sw/include -fno-common -dynamic -fno- | common -dynamic -DPTRACING=1 -x c++ -c udll.cxx -o /sw/src/fink.build/ | pwlib-1.5.2-12/pwlib/lib/obj_Darwin_ppc_r/udll.o | udll.cxx: In function `void* dlopen(const char*, int)': | make: *** [opt] Error 2 | ### execution of make failed, exit code 2 | | Sounds like some more Tiger-worries?
They really should be using dlopen() on tiger. Yeah, mach-o/dyld.h changed a bunch of stuff because it was assuming 32 bit pointers before. Change udll.cxx so that it uses void* etc. Peter - -- Peter O'Gorman - http://www.pogma.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (Darwin) iQCVAwUBQrqrAriDAg3OZTLPAQKabAP/euVSLSzaNkKc3BXlkqk+mMGyFypwYNMh LMz5vKSyst4qxR/ZK42zG1/ZXf5DmDsKJfDNrTNpC2yXZPkARGYW2QPxJdQejIzl OlToET7bjuEgci0t67r6+HbaR+jFBPL9eOwIbYRCs6r+Zx9hZyjTPdvJFsDrERS+ IKp/ZphZwc0= =LKG3 -----END PGP SIGNATURE----- ------------------------------------------------------- SF.Net email is sponsored by: Discover Easy Linux Migration Strategies from IBM. Find simple to follow Roadmaps, straightforward articles, informative Webcasts and more! Get everything you need to get up to speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click _______________________________________________ Fink-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/fink-devel
