saleyn / erlexec

Execute and control OS processes from Erlang/OTP
https://hexdocs.pm/erlexec/readme.html
Other
525 stars 139 forks source link

Erlexec compile fails on FreeBSD 14 #178

Closed seannaswell closed 1 month ago

seannaswell commented 1 month ago

Attempting to update Zotonic, which uses erlexec, and it fails with the messages below.

Had a similar issue previously which was related to Erlexec and FreeBSD support, wondering if the errors below are also related.

FreeBSD 14 Erlang 25.3.2.12

===> Verifying dependencies...                                                                                       
gmake[1]: Entering directory '/usr/home/zotonic/zotonic/_build/default/lib/bcrypt/c_src'                             
gmake[1]: Nothing to be done for 'all'.                                                                              
gmake[1]: Leaving directory '/usr/home/zotonic/zotonic/_build/default/lib/bcrypt/c_src'                              
===> Compiling c_src/eiconv_nif.c 
gmake[1]: Entering directory '/usr/home/zotonic/zotonic/_build/default/lib/erlexec/c_src'                                                                                                                                                      
mkdir -p "/usr/home/zotonic/zotonic/_build/default/lib/erlexec/priv/x86_64-unknown-freebsd14.0/"                       
c++ ei++.o exec.o exec_impl.o  -L/usr/local/lib/erlang/lib/erl_interface-5.3.2.1/lib -lei -o /usr/home/zotonic/zotonic/_build/default/lib/erlexec/priv/x86_64-unknown-freebsd14.0/exec-port                                                    
ld: error: undefined symbol: std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>::compare(char const*) const                                                                                                        
>>> referenced by basic_string.h:3609 (/usr/local/lib/gcc12/include/c++/bits/basic_string.h:3609)                      
>>>               ei++.o:(ei::stringIndex(char const**, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, int, int))                                                                                      

ld: error: undefined symbol: std::basic_ostream<char, std::char_traits<char>>& std::__ostream_insert<char, std::char_traits<char>>(std::basic_ostream<char, std::char_traits<char>>&, char const*, long)                                       
>>> referenced by ostream:620 (/usr/local/lib/gcc12/include/c++/ostream:620)                                                                                                                                                                   
>>>               ei++.o:(ei::Serializer::print(std::ostream&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&))                                                                                         
>>> referenced by basic_string.h:3896 (/usr/local/lib/gcc12/include/c++/bits/basic_string.h:3896)                      
>>>               ei++.o:(ei::Serializer::print(std::ostream&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&))                                                                                         
>>> referenced by ostream:620 (/usr/local/lib/gcc12/include/c++/ostream:620)                                                                                                                                                                   
>>>               ei++.o:(ei::dump(std::ostream&, unsigned char const*, int, bool))                                    
>>> referenced 12 more times                     

Many, many more of the same, finishing with:

ld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors)
c++: error: linker command failed with exit code 1 (use -v to see invocation)              
gmake[1]: *** [Makefile:126: /usr/home/zotonic/zotonic/_build/default/lib/erlexec/priv/x86_64-unknown-freebsd14.0/exec-port] Error 1
gmake[1]: Leaving directory '/usr/home/zotonic/zotonic/_build/default/lib/erlexec/c_src' 
seannaswell commented 1 month ago

It appears the issue is likely related to Zotonic itself, and is not Erlexec specific. Will close this issue, and follow-up if needed with a more specific inquiry.