| Summary: | Build issue: Git tdelibs FTBFS | ||
|---|---|---|---|
| Product: | TDE | Reporter: | Darrell <darrella> |
| Component: | tdelibs | Assignee: | Slávek Banko <slavek.banko> |
| Status: | RESOLVED FIXED | ||
| Severity: | blocker | CC: | bugwatch, darrella, kb9vqf, michele.calgaro, slavek.banko |
| Priority: | P5 | ||
| Version: | R14.0.1 [Trinity] | ||
| Hardware: | Other | ||
| OS: | Linux | ||
| Compiler Version: | TDE Version String: | ||
| Application Version: | Application Name: | ||
| Bug Depends on: | |||
| Bug Blocks: | 2247 | ||
| Attachments: |
Proposed patch to fix build failure
tdebase build log Fix FTBFS due to missing KSSL_HAVE_SSL definition Fix FTBFS due to missing KSSL_HAVE_SSL definition (1) tdepowersave: fix FTBFS due to conflict in Success identifie |
||
(In reply to Darrell from comment #0) > Seems tdelibs has not been tested with the above cmake build options set to > OFF. This is a true statement. I am working on stabilizing the system with the options on before worrying too much about fixing builds with them off. This should be fixed in GIT hash d4b7e6e (tdelibs). Please test and let me know if you still experience problems. Thanks! tdelibs now builds but tdebase FTBFS: /opt/trinity/include/tdestoragedevice.h:160:2: error: expected identifier before numeric constant /opt/trinity/include/tdestoragedevice.h:160:2: error: expected '}' before numeric constant /opt/trinity/include/tdestoragedevice.h:160:2: error: expected unqualified-id before numeric constant /opt/trinity/include/tdestoragedevice.h:167:1: error: expected declaration before '}' token (In reply to Darrell from comment #3) > tdelibs now builds but tdebase FTBFS: > > /opt/trinity/include/tdestoragedevice.h:160:2: error: expected identifier > before numeric constant > /opt/trinity/include/tdestoragedevice.h:160:2: error: expected '}' before > numeric constant > /opt/trinity/include/tdestoragedevice.h:160:2: error: expected > unqualified-id before numeric constant > /opt/trinity/include/tdestoragedevice.h:167:1: error: expected declaration > before '}' token This particular failure affected tdebase whether or not the cryptsetup/pkcs options were enabled. Fixed in GIT hash c73eb5f (tdebase). tdebase FTBFS: /dev/shm/tdebase/kcontrol/hwmanager/devicepropsdlg.cpp:980: undefined reference to `TDECryptographicCardDevice::createNewSecretRSAKeyFromCertificate(TQMemArray<char>&, TQMemArray<char>&, x509_st*)' (In reply to Darrell from comment #5) > tdebase FTBFS: > > /dev/shm/tdebase/kcontrol/hwmanager/devicepropsdlg.cpp:980: undefined > reference to > `TDECryptographicCardDevice:: > createNewSecretRSAKeyFromCertificate(TQMemArray<char>&, TQMemArray<char>&, > x509_st*)' This looks like a mismatch between your installed tdelibs and source tdebase version. Can you verify that you have the latest tdelibs installed? Thanks! I did a git pull and rebuild of tdelibs before building tdebase. Also did a full repo sync and rebuilt all core packages. Same error for several days. Created attachment 2571 [details]
tdebase build log
Created attachment 2572 [details]
Fix FTBFS due to missing KSSL_HAVE_SSL definition
I found a potential problem. When building tdelibs KSSL_HAVE_SSL is defined in config.h. But while using tdecryptographiccarddevice.h outside the building tdelibs value is not determined. Therefore, it may be vary and affect API.
Please, try attached patch for tdelibs.
/dev/shm/tdelibs/tdecore/tdehw/tdecryptographiccarddevice.h:22:28: fatal error: ksslconfig.h: No such file or directory The previous error message is caused by a missing ksslconfig.h. That header file is compiled when building tdelibs and is not a static file. The file is not being compiled on my system. The proposed patch in attachment 2572 [details] requires ksslconfig.h, which has not yet been compiled at this stage of building tdelibs.
(In reply to Darrell from comment #12) > The previous error message is caused by a missing ksslconfig.h. That header > file is compiled when building tdelibs and is not a static file. The file is > not being compiled on my system. The proposed patch in attachment 2572 [details] > [details] requires ksslconfig.h, which has not yet been compiled at this > stage of building tdelibs. Yes, thank you for reminding me. In recent days I have had too little time to devote himself to this problem. I'll prepare a new patch as soon as I can find enough time. Created attachment 2576 [details]
Fix FTBFS due to missing KSSL_HAVE_SSL definition (1)
Patch updated.
Please, try again.
Patch in attachment 2576 [details] seems to resolve the problem.
(In reply to Darrell from comment #15) > Patch in attachment 2576 [details] seems to resolve the problem. Completely both - tdelibs and also tdebase? >Completely both - tdelibs and also tdebase? Yes. tdepowersave fails to build with messages similar to those in comment3. kdbus-notification fails to build too: daemon.moc.cpp:48:15: error: 'NotificationContainer' has not been declared daemon.moc.cpp:60:34: error: 'TDEPassivePopupStackContainer' has not been declared I haven't filed bug reports. Created attachment 2583 [details]
tdepowersave: fix FTBFS due to conflict in Success identifie
Please, try attached patch for tdepowersave.
I fear that the conflict identifier 'Success' can occur even in other applications. Probably it wanted a better deal.
>Please, try attached patch for tdepowersave.
Patch works, no build failure with tdepowersave.
So can we close this bug? Or is there something else left to do? tdepowersave patch was pushed to git in commit 7eac381 (R14.1) and commit 530c292 (R14.0). This resolves the bug. (In reply to Michele Calgaro from comment #21) > tdepowersave patch was pushed to git in commit 7eac381 (R14.1) and commit > 530c292 (R14.0). This resolves the bug. For clarity - FTBFS occurred after integrating crypto devices to tdehwlib. These are not part of r14.0.x branch => patch for tdepowersave in r14.0.x branch was not needed :) However, there is no reason to revert it. ah ok, I thought you had just forgot to push to R14.0. My bad ;-) |
Created attachment 2570 [details] Proposed patch to fix build failure Latest git, updated today. Slackware 14.1. I added the following to the build script: -DWITH_PCSC=OFF \ -DWITH_PKCS=OFF \ -DWITH_CRYPTSETUP=OFF \ -DWITH_LOGINDPOWER=OFF \ The build fails with the following: /dev/shm/tdelibs/tdecore/tdehw/tdestoragedevice.cpp:191:27: error: 'crypt_memory_lock' was not declared in this scope Proposed patch attached. Yet tdelibs still fails to build with errors such as the following: /dev/shm/tdelibs/tdecore/tdehw/tdecryptographiccarddevice.cpp:790:2: error: 'EVP_PKEY' was not declared in this scope /dev/shm/tdelibs/tdecore/tdehw/tdecryptographiccarddevice.cpp:790:12: error: 'x509_pubkey' was not declared in this scope /dev/shm/tdelibs/tdecore/tdehw/tdecryptographiccarddevice.cpp:791:2: error: 'RSA' was not declared in this scope /dev/shm/tdelibs/tdecore/tdehw/tdecryptographiccarddevice.cpp:791:7: error: 'rsa_pubkey' was not declared in this scope /dev/shm/tdelibs/tdecore/tdehw/tdecryptographiccarddevice.cpp:792:43: error: 'X509_get_pubkey' was not declared in this scope Seems tdelibs has not been tested with the above cmake build options set to OFF.