Bug 69926
Summary: | Infinite recursion in <ptlib.h> | ||
---|---|---|---|
Product: | [Retired] Red Hat Raw Hide | Reporter: | Alec Voropay <alec> |
Component: | pwlib | Assignee: | Alexander Larsson <alexl> |
Status: | CLOSED NOTABUG | QA Contact: | |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 1.0 | CC: | alec |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | i386 | ||
OS: | Linux | ||
URL: | http://www.openh323.org/code.html | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2002-08-01 12:35:41 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Bug Depends On: | |||
Bug Blocks: | 67218 |
Description
Alec Voropay
2002-07-26 14:45:56 UTC
Pay attention to files included in "/usr/include/ptlib.h" For example line 142: #include <ptlib/ptime.h> This file ""/usr/include/ptlib/ptime.h" RECURSIVELY calls himself. Look at the end : // Include platform dependent part of class #include <ptlib/ptime.h> This line should call PLATFORM DEPENDENT .h !!! #include <ptlib/unix/ptlib/ptime.h> There is another way : to do full set of symlinks in PWLIBDIR directory. Changed pwlib.spec (I've added -m644 permission for include/*.h) ======================================= %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT/usr/bin mkdir -p $RPM_BUILD_ROOT/usr/lib mkdir -p $RPM_BUILD_ROOT/usr/include/ptclib mkdir -p $RPM_BUILD_ROOT/usr/include/ptlib/unix/ptlib mkdir -p $RPM_BUILD_ROOT/%{_datadir}/%{name}/make cp -d lib/*so* $RPM_BUILD_ROOT/usr/lib install -m 644 include/ptlib.h $RPM_BUILD_ROOT/usr/include install -m 644 include/ptlib/*.h $RPM_BUILD_ROOT/usr/include/ptlib/ install -m 644 include/ptlib/*.inl $RPM_BUILD_ROOT/usr/include/ptlib/ install -m 644 include/ptlib/unix/ptlib/*.h $RPM_BUILD_ROOT/usr/include/ptlib/unix/ptli b install -m 644 include/ptlib/unix/ptlib/*.inl $RPM_BUILD_ROOT/usr/include/ptlib/unix/pt lib install -m 644 include/ptclib/*.h $RPM_BUILD_ROOT/usr/include/ptclib/ install tools/asnparser/obj_linux_*/asnparser $RPM_BUILD_ROOT/usr/bin ln -s $RPM_BUILD_ROOT/%{_datadir}/%{name}/include /usr/include ln -s $RPM_BUILD_ROOT/%{_datadir}/%{name}/lib /usr/lib ln -s $RPM_BUILD_ROOT/%{_datadir}/%{name}/bin /usr/bin mkdir $RPM_BUILD_ROOT/%{_datadir}/%{name}/tools ln -s $RPM_BUILD_ROOT/%{_datadir}/%{name}/tools/asnparser /usr/bin Sorry, ln -s src dst ..... ln -s /usr/include $RPM_BUILD_ROOT/%{_datadir}/%{name}/include ln -s /usr/lib $RPM_BUILD_ROOT/%{_datadir}/%{name}/lib ln -s /usr/bin $RPM_BUILD_ROOT/%{_datadir}/%{name}/bin mkdir $RPM_BUILD_ROOT/%{_datadir}/%{name}/tools ln -s /usr/bin $RPM_BUILD_ROOT/%{_datadir}/%{name}/tools/asnparser Due to stupid naming on the part of the pwlib team you need to list -I/usr/include/ptlib/unix/ before /usr/include (which is last by default). "g++ -I/usr/include/ptlib/unix/ a.cxx" works for me. |