EFL build failed on FreeBSD 14 #20

Open
opened 8 months ago by Peter2121 · 4 comments

EFL port build failed on FreeBSD 14.
The version of EFL in ports tree is 1.26.3.

../src/lib/eina/eina_debug_bt.c:342:19: error: incompatible integer to pointer conversion passing 'Eina_Thread' (aka 'unsigned long') to parameter of type 'pthread_t' (aka 'struct pthread *') [-Wint-conversion]
      _collect_bt(_eina_debug_thread_active[i].thread);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/lib/eina/eina_debug_bt.c:296:23: note: passing argument to parameter 'pth' here
_collect_bt(pthread_t pth)
                      ^

Full log is here:

https://pkg-status.freebsd.org/beefy18/data/main-amd64-default/p58633340e9ed_s5636590214/logs/efl-1.26.3_3.log

EFL port build failed on FreeBSD 14. The version of EFL in ports tree is 1.26.3. ``` ../src/lib/eina/eina_debug_bt.c:342:19: error: incompatible integer to pointer conversion passing 'Eina_Thread' (aka 'unsigned long') to parameter of type 'pthread_t' (aka 'struct pthread *') [-Wint-conversion] _collect_bt(_eina_debug_thread_active[i].thread); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../src/lib/eina/eina_debug_bt.c:296:23: note: passing argument to parameter 'pth' here _collect_bt(pthread_t pth) ^ ``` Full log is here: [https://pkg-status.freebsd.org/beefy18/data/main-amd64-default/p58633340e9ed_s5636590214/logs/efl-1.26.3_3.log](https://pkg-status.freebsd.org/beefy18/data/main-amd64-default/p58633340e9ed_s5636590214/logs/efl-1.26.3_3.log)
Poster

The point key is LLVM 15 (default in FreeBSD 14). If I install LLVM 15 on FreeBSD 13.1 and force to use it for EFL build - I get the same error.

https://github.com/llvm/llvm-project/commit/7068aa98412a

Please, fix it!

The point key is LLVM 15 (default in FreeBSD 14). If I install LLVM 15 on FreeBSD 13.1 and force to use it for EFL build - I get the same error. [https://github.com/llvm/llvm-project/commit/7068aa98412a](https://github.com/llvm/llvm-project/commit/7068aa98412a) Please, fix it!
Owner

Can you try this:

diff --git a/src/lib/eina/eina_debug_bt.c b/src/lib/eina/eina_debug_bt.c
index 34623d05fd..9e64f3f526 100644
--- a/src/lib/eina/eina_debug_bt.c
+++ b/src/lib/eina/eina_debug_bt.c
@@ -293,12 +293,14 @@ _signal_shutdown(void)
 }

 static void
-_collect_bt(pthread_t pth)
+_collect_bt(Eina_Thread th)
 {
    // this async signals the thread to switch to the deebug signal handler
    // and collect a backtrace and other info from inside the thread
 #ifndef _WIN32
-   pthread_kill(pth, SIG);
+   pthread_kill((pthread_t)th, SIG); // we can cast Eina_Thread -> pthread_t
+#else
+   (th); // silenmce unused warn
 #endif
 }

Can you try this: ``` diff --git a/src/lib/eina/eina_debug_bt.c b/src/lib/eina/eina_debug_bt.c index 34623d05fd..9e64f3f526 100644 --- a/src/lib/eina/eina_debug_bt.c +++ b/src/lib/eina/eina_debug_bt.c @@ -293,12 +293,14 @@ _signal_shutdown(void) } static void -_collect_bt(pthread_t pth) +_collect_bt(Eina_Thread th) { // this async signals the thread to switch to the deebug signal handler // and collect a backtrace and other info from inside the thread #ifndef _WIN32 - pthread_kill(pth, SIG); + pthread_kill((pthread_t)th, SIG); // we can cast Eina_Thread -> pthread_t +#else + (th); // silenmce unused warn #endif } ```
raster self-assigned this 8 months ago
Poster

@raster,
The patch fixed the problem. Could you, please, commit it? Is it possible to create a minor release of EFL? With the actual release EFL is broken on FreeBSD 14. If in the current state of EFL you cannot release it - I'll create the patch inside the ports tree.

@raster, The patch fixed the problem. Could you, please, commit it? Is it possible to create a minor release of EFL? With the actual release EFL is broken on FreeBSD 14. If in the current state of EFL you cannot release it - I'll create the patch inside the ports tree.
Poster

Fixed in FreeBSD ports tree.
I propose to leave the ticket open and close it after the next release of EFL which will fix the problem definitively.

Fixed in FreeBSD ports tree. I propose to leave the ticket open and close it after the next release of EFL which will fix the problem definitively.
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date

No due date set.

Dependencies

No dependencies set.

Reference: enlightenment/efl#20
Loading…
There is no content yet.