By default, Bugzilla does not search the list of RESOLVED bugs.
You can force it to do so by putting the upper-case word ALL in front of your search query, e.g.: ALL tdelibs
We recommend searching for bugs this way, as you may discover that your bug has already been resolved and fixed in a later release.

Bug 2494

Summary: Build issue: tdebindings (smoke) FTBFS when not using TDE hwlib
Product: TDE Reporter: Francois Andriot <albator78>
Component: non-core programsAssignee: Michele Calgaro <michele.calgaro>
Status: RESOLVED FIXED    
Severity: normal CC: albator78, be4youcome, bugwatch, michele.calgaro, slavek.banko
Priority: P5    
Version: R14.0.x [Trinity]   
Hardware: Other   
OS: Linux   
See Also: http://bugs.pearsoncomputing.net/show_bug.cgi?id=2706
Compiler Version: TDE Version String:
Application Version: Application Name:
Bug Depends on:    
Bug Blocks: 3190    
Attachments: tdelibs : disable non-existent class headers when tdehwlib is disabled

Description Francois Andriot 2015-08-01 09:12:31 CDT
Hello, when tdelibs is built without tdehwlib, there is a FTBFS in smoke:

52s] x_12.cpp: In function 'void xcall_TDEIO__NetAccess(short int, void*, Smoke::StackItem*)':
[  752s] x_12.cpp:2109: warning: unused variable 'xself'
[  753s] x_12.cpp: In member function 'void x_TDEInstance::x_8(Smoke::StackItem*) const':
[  753s] x_12.cpp:17352: error: 'const class x_TDEInstance' has no member named 'hardwareDevices'
[  753s] x_12.cpp: In member function 'void x_TDEInstance::x_9(Smoke::StackItem*) const':
[  753s] x_12.cpp:17357: error: 'const class x_TDEInstance' has no member named 'networkManager'
[  754s] make[1]: *** [x_12.lo] Error 1
[  754s] make[1]: Leaving directory `/usr/src/redhat/BUILD/trinity-tdebindings-14.0.1/smoke/tde'
[  754s] make: *** [all-recursive] Error 1
Comment 1 Francois Andriot 2015-08-01 09:15:08 CDT
Created attachment 2547 [details]
tdelibs : disable non-existent class headers when tdehwlib is disabled

A first problem exists in tdelibs: the classes "TDEHardwareDevices" and "TDEGlobalNetworkManager" should be conditional in "tdecore/tdeglobal.h".
See attached patch.
Comment 2 Francois Andriot 2015-08-01 10:24:10 CDT
Alas, it looks the smoke code is autogenerated using the "kalyptus" utility, which is itself provided in tdebindings.

It looks like kalyptus is reading all include files in /opt/trinity/include/tde/*.h , and ignores the potential #ifdef .
So, even adding "#ifdef __TDE_HAVE_TDEHWLIB" will not do the trick...


For now, I have to hack in tdelibs post-installation to delete the code during package build:

sed -i "tdecore/kinstance.h" \
    -i "tdecore/tdeglobal.h" \
    -e "/#ifdef __TDE_HAVE_TDEHWLIB/,/#endif/d"
Comment 3 Slávek Banko 2016-10-16 13:44:50 CDT
I'm afraid that for this problem at this moment there is no good solution available, but only "hack", as stated in comment 2. The solution should be rework tdehw library, as proposed in the bug 2706.
Comment 4 Michele Calgaro 2022-04-28 09:19:44 CDT
Proposed fix here:
https://mirror.git.trinitydesktop.org/gitea/TDE/tdebindings/pulls/10
Comment 5 Michele Calgaro 2022-05-03 02:09:10 CDT
This has been resolved in the PR linked above.

@Francois: please test and confirm. If you still have issues, please reopen this bug report.