Jump to content
OMRON Forums

C++ background apps?


pmurcutt

Recommended Posts

Hi shansen

 

thanks for the great tips.

We are converging to a solution, but we still miss something.

 

First, regarding the compilation under the Power Pmac Linux: this is the command that I need to issue to correctly compile with the ZMQ libs and gplib:

 

gcc capp1.c -I/opt/ppmac/libppmac -I/opt/ppmac/rtpmac -L/usr/local/lib -L/usr/local/xenomai-2.5.6/lib -L/var/ftp/ppmaclibs/libppmac -lzmq -lrt -lpthread -lpthread_rt -lppmac

 

I found all the path using the locate function on the linux: there are a lot of path containing the pthread_rt and ppmac libs, I picked up the most appealing path... if they are not the correct ones, please let us know.

To correctly run the executable, I also need to set the $LD_LIBRARY_PATH variable according to the libraries path found above.

 

Anyway, I make it work this way! Obviously, a solution that passes through the IDE and not through ftp + ssh + manual gcc + vim + anything that is needed to do that is very welcome.

 

 

Let's go then to the discussion regarding the compilation under Windows.

 

Here's a couple of clarification for who needs to do this job from the beginning:

1- the correct path for the root dir on the windows pc is:

C:\Program Files (x86)\Delta Tau Data Systems Inc\2.0\Power PMAC Suite\powerpc-460-linux-gnu

2- the cygwin.bat file is not correct (or the installation went wrong): I don't have the system PATH environment variable to point to the cygwin dir. To use the cygwin and all the tools available under it, modify the cygwin.bat file adding the set PATH line as follows (or with your current bash / cygwin path):

 

@echo off
set PATH=C:\Program Files (x86)\Delta Tau Data Systems Inc\2.0\Power PMAC Suite\powerpc-460-linux-gnu\bin;%PATH%
bash --login -i

 

So, back to the real problem: I copied the libs and includes files in a dir under /usr/local/zmq, modified the makefile and then tried to compile, without success. I added in the makefile the "-L/usr/local/zmq -lzmq" and also a "-I/usr/local/zmq" to tell the compiler where to find the include files (not sure this -I is mandatory). Note that if I try to compile under the IDE and the Capp -L -l options correctly set, I got the same compilation errors, copied hereafter:

 

[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `vtable for std::basic_streambuf >@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_ios >::init(std::basic_streambuf >*)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `VTT for std::basic_stringstream, std::allocator >@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::assign(std::basic_string, std::allocator > const&)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::_Rep::_M_destroy(std::allocator const&)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `operator delete(void*)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `operator delete(void*, std::nothrow_t const&)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_ostream >& std::__ostream_insert >(std::basic_ostream >&, char const*, int)@GLIBCXX_3.4.9'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::locale::locale()@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_stringstream, std::allocator >::~basic_stringstream()@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::_Rb_tree_decrement(std::_Rb_tree_node_base*)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_ios >::~basic_ios()@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::_M_leak()@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::locale::~locale()@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::nothrow@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::_Rb_tree_decrement(std::_Rb_tree_node_base const*)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `vtable for __cxxabiv1::__class_type_info@CXXABI_1.3'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `__cxa_end_catch@CXXABI_1.3'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `__cxa_rethrow@CXXABI_1.3'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::compare(std::basic_string, std::allocator > const&) const@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base*)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::assign(char const*, unsigned int)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::ios_base::ios_base()@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::_M_mutate(unsigned int, unsigned int, unsigned int)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `vtable for std::basic_stringbuf, std::allocator >@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::_Rep::_S_empty_rep_storage@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base const*)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `vtable for std::basic_ios >@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `vtable for std::basic_stringstream, std::allocator >@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::~basic_string()@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `__gxx_personality_v0@CXXABI_1.3'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::basic_string(std::basic_string, std::allocator > const&)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::basic_string(std::basic_string, std::allocator > const&, unsigned int, unsigned int)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::find(char const*, unsigned int, unsigned int) const@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::__throw_out_of_range(char const*)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_iostream >::~basic_iostream()@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `operator new(unsigned int, std::nothrow_t const&)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::_Rb_tree_rebalance_for_erase(std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_ostream >& std::basic_ostream >::_M_insert(unsigned long)@GLIBCXX_3.4.9'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::compare(char const*) const@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::basic_string(char const*, std::allocator const&)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `vtable for __cxxabiv1::__si_class_type_info@CXXABI_1.3'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::_Rep::_S_create(unsigned int, unsigned int, std::allocator const&)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::_M_leak_hard()@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_ostream >::operator<<(int)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `__cxa_begin_catch@CXXABI_1.3'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::ios_base::~ios_base()@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `vtable for __cxxabiv1::__vmi_class_type_info@CXXABI_1.3'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `__cxa_pure_virtual@CXXABI_1.3'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::__throw_bad_alloc()@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::basic_string(char const*, unsigned int, std::allocator const&)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `operator new(unsigned int)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::assign(char const*)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::clear()@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : collect2: ld returned 1 exit status
	Build Process For capp1.out has ended.

Done building project "GLT2.ppproj" -- FAILED.

 

These errors seems really strange to me, because it seems a linking problem to basic include files such string.h and so on. In fact, using the bash, I can issue a "make depend" to check dependencies, and what I got is the following (sorry for the layout, the copying from the shell is crappy):

 

makedepend: warning:  capp1.c (reading /opt/eldk-4.2/debian_rootfs/usr/local/xen
omai/include/posix/semaphore.h, line 57): cannot find include file "semaphore.h"

       not in /usr/local/zmq/semaphore.h
makedepend: warning:  /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/status.h:
non-portable whitespace encountered at line 17
makedepend: warning:  /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/status.h:
non-portable whitespace encountered at line 18
makedepend: warning:  /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/status.h:
non-portable whitespace encountered at line 19
makedepend: warning:  /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/status.h:
non-portable whitespace encountered at line 20
makedepend: warning:  /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/status.h:
non-portable whitespace encountered at line 21
makedepend: warning:  capp1.c (reading /opt/eldk-4.2/debian_rootfs/opt/ppmac/lib
ppmac/cmdprocessor.h, line 4): cannot find include file "stdio.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/stdio.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/stdio.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/stdio.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/stdio
.h
       not in /usr/local/zmq/stdio.h
makedepend: warning:  /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/cmdprocesso
r.h:  non-portable whitespace encountered at line 12
makedepend: warning:  capp1.c (reading /opt/eldk-4.2/debian_rootfs/usr/local/xen
omai/include/posix/sys/socket.h, line 24): cannot find include file "sys/socket.
h"
       not in /usr/local/zmq/sys/socket.h
makedepend: warning:  capp1.c (reading /opt/eldk-4.2/debian_rootfs/opt/ppmac/lib
ppmac/modbus.h, line 17): cannot find include file "netinet/in.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/netinet/in.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/netinet/in.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/netinet/in.
h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/netin
et/in.h
       not in /usr/local/zmq/netinet/in.h
makedepend: warning:  capp1.c (reading /opt/eldk-4.2/debian_rootfs/opt/ppmac/lib
ppmac/modbus.h, line 18): cannot find include file "netinet/ip.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/netinet/ip.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/netinet/ip.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/netinet/ip.
h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/netin
et/ip.h
       not in /usr/local/zmq/netinet/ip.h
makedepend: warning:  capp1.c (reading /opt/eldk-4.2/debian_rootfs/opt/ppmac/lib
ppmac/modbus.h, line 19): cannot find include file "netinet/tcp.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/netinet/tcp.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/netinet/tcp.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/netinet/tcp
.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/netin
et/tcp.h
       not in /usr/local/zmq/netinet/tcp.h
makedepend: warning:  capp1.c (reading /opt/eldk-4.2/debian_rootfs/opt/ppmac/lib
ppmac/mbserverlib.h, line 20): cannot find include file "netinet/in.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/netinet/in.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/netinet/in.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/netinet/in.
h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/netin
et/in.h
       not in /usr/local/zmq/netinet/in.h
makedepend: warning:  capp1.c (reading /opt/eldk-4.2/debian_rootfs/opt/ppmac/lib
ppmac/mbserverlib.h, line 21): cannot find include file "netinet/ip.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/netinet/ip.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/netinet/ip.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/netinet/ip.
h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/netin
et/ip.h
       not in /usr/local/zmq/netinet/ip.h
makedepend: warning:  capp1.c (reading /opt/eldk-4.2/debian_rootfs/opt/ppmac/lib
ppmac/mbserverlib.h, line 22): cannot find include file "netinet/tcp.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/netinet/tcp.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/netinet/tcp.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/netinet/tcp
.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/netin
et/tcp.h
       not in /usr/local/zmq/netinet/tcp.h
makedepend: warning:  capp1.c (reading /opt/eldk-4.2/debian_rootfs/opt/ppmac/lib
ppmac/gplib.h, line 47): cannot find include file "sys/ipc.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/sys/ipc.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/sys/ipc.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/sys/ipc.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/sys/i
pc.h
       not in /usr/local/zmq/sys/ipc.h
makedepend: warning:  capp1.c (reading /opt/eldk-4.2/debian_rootfs/opt/ppmac/lib
ppmac/gplib.h, line 48): cannot find include file "sys/shm.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/sys/shm.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/sys/shm.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/sys/shm.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/sys/s
hm.h
       not in /usr/local/zmq/sys/shm.h
makedepend: warning:  capp1.c (reading ../../Include/zmq.h, line 48): cannot fin
d include file "stddef.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/stddef.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/stddef.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/stddef.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/stdde
f.h
       not in /usr/local/zmq/stddef.h
makedepend: warning:  capp1.c (reading ../../Include/zmq.h, line 49): cannot fin
d include file "stdio.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/stdio.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/stdio.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/stdio.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/stdio
.h
       not in /usr/local/zmq/stdio.h
makedepend: warning:  capp1.c (reading ../../Include/zmq.h, line 87): cannot fin
d include file "stdint.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/stdint.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/stdint.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/stdint.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/stdin
t.h
       not in /usr/local/zmq/stdint.h
makedepend: warning:  capp1.c (reading ../../Include/zmq_utils.h, line 23): cann
ot find include file "stdio.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/stdio.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/stdio.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/stdio.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/stdio
.h
       not in /usr/local/zmq/stdio.h
makedepend: warning:  capp1.c (reading ../../Include/zmq_utils.h, line 24): cann
ot find include file "string.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/string.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/string.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/string.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/strin
g.h
       not in /usr/local/zmq/string.h
makedepend: warning:  capp1.c (reading ../../Include/zmq_utils.h, line 25): cann
ot find include file "stdlib.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/stdlib.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/stdlib.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/stdlib.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/stdli
b.h
       not in /usr/local/zmq/stdlib.h
makedepend: warning:  capp1.c (reading ../../Include/zmq_utils.h, line 38): cann
ot find include file "stdint.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/stdint.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/stdint.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/stdint.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/stdin
t.h
       not in /usr/local/zmq/stdint.h
makedepend: warning:  capp1.c, line 40: cannot find include file "stdio.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/stdio.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/stdio.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/stdio.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/stdio
.h
       not in /usr/local/zmq/stdio.h
makedepend: warning:  capp1.c, line 42: cannot find include file "string.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/string.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/string.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/string.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/strin
g.h
       not in /usr/local/zmq/string.h
makedepend: warning:  capp1.c, line 43: cannot find include file "assert.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/assert.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/assert.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/assert.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/asser
t.h
       not in /usr/local/zmq/assert.h

 

So, basically it seems that the compiler cannot reach include files that are however standards and installed on the system.

Any ideas?

 

 

Many many thanks

gigi

Link to comment
Share on other sites

  • Replies 34
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Hi shansen

 

thanks for the great tips.

We are converging to a solution, but we still miss something.

 

First, regarding the compilation under the Power Pmac Linux: this is the command that I need to issue to correctly compile with the ZMQ libs and gplib:

 

gcc capp1.c -I/opt/ppmac/libppmac -I/opt/ppmac/rtpmac -L/usr/local/lib -L/usr/local/xenomai-2.5.6/lib -L/var/ftp/ppmaclibs/libppmac -lzmq -lrt -lpthread -lpthread_rt -lppmac

 

I found all the path using the locate function on the linux: there are a lot of path containing the pthread_rt and ppmac libs, I picked up the most appealing path... if they are not the correct ones, please let us know.

To correctly run the executable, I also need to set the $LD_LIBRARY_PATH variable according to the libraries path found above.

 

Anyway, I make it work this way! Obviously, a solution that passes through the IDE and not through ftp + ssh + manual gcc + vim + anything that is needed to do that is very welcome.

 

 

Let's go then to the discussion regarding the compilation under Windows.

 

Here's a couple of clarification for who needs to do this job from the beginning:

1- the correct path for the root dir on the windows pc is:

C:\Program Files (x86)\Delta Tau Data Systems Inc\2.0\Power PMAC Suite\powerpc-460-linux-gnu

2- the cygwin.bat file is not correct (or the installation went wrong): I don't have the system PATH environment variable to point to the cygwin dir. To use the cygwin and all the tools available under it, modify the cygwin.bat file adding the set PATH line as follows (or with your current bash / cygwin path):

 

@echo off
set PATH=C:\Program Files (x86)\Delta Tau Data Systems Inc\2.0\Power PMAC Suite\powerpc-460-linux-gnu\bin;%PATH%
bash --login -i

 

So, back to the real problem: I copied the libs and includes files in a dir under /usr/local/zmq, modified the makefile and then tried to compile, without success. I added in the makefile the "-L/usr/local/zmq -lzmq" and also a "-I/usr/local/zmq" to tell the compiler where to find the include files (not sure this -I is mandatory). Note that if I try to compile under the IDE and the Capp -L -l options correctly set, I got the same compilation errors, copied hereafter:

 

[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `vtable for std::basic_streambuf >@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_ios >::init(std::basic_streambuf >*)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `VTT for std::basic_stringstream, std::allocator >@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::assign(std::basic_string, std::allocator > const&)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::_Rep::_M_destroy(std::allocator const&)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `operator delete(void*)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `operator delete(void*, std::nothrow_t const&)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_ostream >& std::__ostream_insert >(std::basic_ostream >&, char const*, int)@GLIBCXX_3.4.9'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::locale::locale()@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_stringstream, std::allocator >::~basic_stringstream()@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::_Rb_tree_decrement(std::_Rb_tree_node_base*)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_ios >::~basic_ios()@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::_M_leak()@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::locale::~locale()@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::nothrow@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::_Rb_tree_decrement(std::_Rb_tree_node_base const*)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `vtable for __cxxabiv1::__class_type_info@CXXABI_1.3'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `__cxa_end_catch@CXXABI_1.3'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `__cxa_rethrow@CXXABI_1.3'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::compare(std::basic_string, std::allocator > const&) const@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base*)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::assign(char const*, unsigned int)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::ios_base::ios_base()@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::_M_mutate(unsigned int, unsigned int, unsigned int)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `vtable for std::basic_stringbuf, std::allocator >@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::_Rep::_S_empty_rep_storage@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base const*)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `vtable for std::basic_ios >@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `vtable for std::basic_stringstream, std::allocator >@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::~basic_string()@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `__gxx_personality_v0@CXXABI_1.3'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::basic_string(std::basic_string, std::allocator > const&)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::basic_string(std::basic_string, std::allocator > const&, unsigned int, unsigned int)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::find(char const*, unsigned int, unsigned int) const@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::__throw_out_of_range(char const*)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_iostream >::~basic_iostream()@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `operator new(unsigned int, std::nothrow_t const&)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::_Rb_tree_rebalance_for_erase(std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_ostream >& std::basic_ostream >::_M_insert(unsigned long)@GLIBCXX_3.4.9'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::compare(char const*) const@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::basic_string(char const*, std::allocator const&)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `vtable for __cxxabiv1::__si_class_type_info@CXXABI_1.3'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::_Rep::_S_create(unsigned int, unsigned int, std::allocator const&)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::_M_leak_hard()@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_ostream >::operator<<(int)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `__cxa_begin_catch@CXXABI_1.3'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::ios_base::~ios_base()@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `vtable for __cxxabiv1::__vmi_class_type_info@CXXABI_1.3'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `__cxa_pure_virtual@CXXABI_1.3'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::__throw_bad_alloc()@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::basic_string(char const*, unsigned int, std::allocator const&)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `operator new(unsigned int)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::assign(char const*)@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : /usr/local/zmq/libzmq.so: undefined reference to `std::basic_string, std::allocator >::clear()@GLIBCXX_3.4'
[...]GLT2.ppproj(171,5): Error : collect2: ld returned 1 exit status
	Build Process For capp1.out has ended.

Done building project "GLT2.ppproj" -- FAILED.

 

These errors seems really strange to me, because it seems a linking problem to basic include files such string.h and so on. In fact, using the bash, I can issue a "make depend" to check dependencies, and what I got is the following (sorry for the layout, the copying from the shell is crappy):

 

makedepend: warning:  capp1.c (reading /opt/eldk-4.2/debian_rootfs/usr/local/xen
omai/include/posix/semaphore.h, line 57): cannot find include file "semaphore.h"

       not in /usr/local/zmq/semaphore.h
makedepend: warning:  /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/status.h:
non-portable whitespace encountered at line 17
makedepend: warning:  /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/status.h:
non-portable whitespace encountered at line 18
makedepend: warning:  /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/status.h:
non-portable whitespace encountered at line 19
makedepend: warning:  /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/status.h:
non-portable whitespace encountered at line 20
makedepend: warning:  /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/status.h:
non-portable whitespace encountered at line 21
makedepend: warning:  capp1.c (reading /opt/eldk-4.2/debian_rootfs/opt/ppmac/lib
ppmac/cmdprocessor.h, line 4): cannot find include file "stdio.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/stdio.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/stdio.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/stdio.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/stdio
.h
       not in /usr/local/zmq/stdio.h
makedepend: warning:  /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/cmdprocesso
r.h:  non-portable whitespace encountered at line 12
makedepend: warning:  capp1.c (reading /opt/eldk-4.2/debian_rootfs/usr/local/xen
omai/include/posix/sys/socket.h, line 24): cannot find include file "sys/socket.
h"
       not in /usr/local/zmq/sys/socket.h
makedepend: warning:  capp1.c (reading /opt/eldk-4.2/debian_rootfs/opt/ppmac/lib
ppmac/modbus.h, line 17): cannot find include file "netinet/in.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/netinet/in.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/netinet/in.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/netinet/in.
h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/netin
et/in.h
       not in /usr/local/zmq/netinet/in.h
makedepend: warning:  capp1.c (reading /opt/eldk-4.2/debian_rootfs/opt/ppmac/lib
ppmac/modbus.h, line 18): cannot find include file "netinet/ip.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/netinet/ip.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/netinet/ip.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/netinet/ip.
h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/netin
et/ip.h
       not in /usr/local/zmq/netinet/ip.h
makedepend: warning:  capp1.c (reading /opt/eldk-4.2/debian_rootfs/opt/ppmac/lib
ppmac/modbus.h, line 19): cannot find include file "netinet/tcp.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/netinet/tcp.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/netinet/tcp.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/netinet/tcp
.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/netin
et/tcp.h
       not in /usr/local/zmq/netinet/tcp.h
makedepend: warning:  capp1.c (reading /opt/eldk-4.2/debian_rootfs/opt/ppmac/lib
ppmac/mbserverlib.h, line 20): cannot find include file "netinet/in.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/netinet/in.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/netinet/in.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/netinet/in.
h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/netin
et/in.h
       not in /usr/local/zmq/netinet/in.h
makedepend: warning:  capp1.c (reading /opt/eldk-4.2/debian_rootfs/opt/ppmac/lib
ppmac/mbserverlib.h, line 21): cannot find include file "netinet/ip.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/netinet/ip.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/netinet/ip.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/netinet/ip.
h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/netin
et/ip.h
       not in /usr/local/zmq/netinet/ip.h
makedepend: warning:  capp1.c (reading /opt/eldk-4.2/debian_rootfs/opt/ppmac/lib
ppmac/mbserverlib.h, line 22): cannot find include file "netinet/tcp.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/netinet/tcp.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/netinet/tcp.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/netinet/tcp
.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/netin
et/tcp.h
       not in /usr/local/zmq/netinet/tcp.h
makedepend: warning:  capp1.c (reading /opt/eldk-4.2/debian_rootfs/opt/ppmac/lib
ppmac/gplib.h, line 47): cannot find include file "sys/ipc.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/sys/ipc.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/sys/ipc.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/sys/ipc.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/sys/i
pc.h
       not in /usr/local/zmq/sys/ipc.h
makedepend: warning:  capp1.c (reading /opt/eldk-4.2/debian_rootfs/opt/ppmac/lib
ppmac/gplib.h, line 48): cannot find include file "sys/shm.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/sys/shm.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/sys/shm.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/sys/shm.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/sys/s
hm.h
       not in /usr/local/zmq/sys/shm.h
makedepend: warning:  capp1.c (reading ../../Include/zmq.h, line 48): cannot fin
d include file "stddef.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/stddef.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/stddef.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/stddef.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/stdde
f.h
       not in /usr/local/zmq/stddef.h
makedepend: warning:  capp1.c (reading ../../Include/zmq.h, line 49): cannot fin
d include file "stdio.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/stdio.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/stdio.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/stdio.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/stdio
.h
       not in /usr/local/zmq/stdio.h
makedepend: warning:  capp1.c (reading ../../Include/zmq.h, line 87): cannot fin
d include file "stdint.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/stdint.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/stdint.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/stdint.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/stdin
t.h
       not in /usr/local/zmq/stdint.h
makedepend: warning:  capp1.c (reading ../../Include/zmq_utils.h, line 23): cann
ot find include file "stdio.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/stdio.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/stdio.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/stdio.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/stdio
.h
       not in /usr/local/zmq/stdio.h
makedepend: warning:  capp1.c (reading ../../Include/zmq_utils.h, line 24): cann
ot find include file "string.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/string.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/string.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/string.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/strin
g.h
       not in /usr/local/zmq/string.h
makedepend: warning:  capp1.c (reading ../../Include/zmq_utils.h, line 25): cann
ot find include file "stdlib.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/stdlib.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/stdlib.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/stdlib.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/stdli
b.h
       not in /usr/local/zmq/stdlib.h
makedepend: warning:  capp1.c (reading ../../Include/zmq_utils.h, line 38): cann
ot find include file "stdint.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/stdint.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/stdint.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/stdint.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/stdin
t.h
       not in /usr/local/zmq/stdint.h
makedepend: warning:  capp1.c, line 40: cannot find include file "stdio.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/stdio.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/stdio.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/stdio.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/stdio
.h
       not in /usr/local/zmq/stdio.h
makedepend: warning:  capp1.c, line 42: cannot find include file "string.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/string.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/string.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/string.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/strin
g.h
       not in /usr/local/zmq/string.h
makedepend: warning:  capp1.c, line 43: cannot find include file "assert.h"
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/rtpmac/assert.h
       not in /opt/eldk-4.2/debian_rootfs/opt/ppmac/libppmac/assert.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/assert.h
       not in /opt/eldk-4.2/debian_rootfs/usr/local/xenomai/include/posix/asser
t.h
       not in /usr/local/zmq/assert.h

 

So, basically it seems that the compiler cannot reach include files that are however standards and installed on the system.

Any ideas?

 

 

Many many thanks

gigi

Link to comment
Share on other sites

piefum:

 

We are definitely getting closer to a solution here!

 

First of all, you should be using bash.exe in the powerpc-460-linux-gnu/bin directory, not cygwin.bat. The Delta Tau IDE isn't using a full Cygwin installation, instead it's a custom installation that has been modified with the correct paths.

 

After opening bash.exe, you should be able to type "mount" and see the two mount points that Delta Tau set up for / and for /opt.

 

If you can get this far, then try navigating to the Capp folder of your project. As far as Linux paths go, in Cygwin you should use /cygdrive/c/ to get to your computer's C drive (don't use Windows paths like C:\Program Files (x86)\...).

 

First, use the unmodified makefile (Delta Tau standard) and issue a "make" command. This is how the IDE compiles code, so this should succeed. If it doesn't succeed, then we need to figure out why before proceeding.

 

Secondly, modify the makefile and try to compile again. All paths must match what is on your PC, and this may be slightly different than what is on the Power PMAC! For example, /var/ftp/ppmaclibs does not exist on your PC, so you will need to use /usr/local/ppmaclibs.

 

If you are still having problems you could try cross-compiling zmq from scratch on your PC via Cygwin, and then compile your Capp against the cross-compiled zmq binary. Again, you will need to modify your gcc/makefile flags so the paths match what is on your PC.

Link to comment
Share on other sites

piefum:

 

We are definitely getting closer to a solution here!

 

First of all, you should be using bash.exe in the powerpc-460-linux-gnu/bin directory, not cygwin.bat. The Delta Tau IDE isn't using a full Cygwin installation, instead it's a custom installation that has been modified with the correct paths.

 

After opening bash.exe, you should be able to type "mount" and see the two mount points that Delta Tau set up for / and for /opt.

 

If you can get this far, then try navigating to the Capp folder of your project. As far as Linux paths go, in Cygwin you should use /cygdrive/c/ to get to your computer's C drive (don't use Windows paths like C:\Program Files (x86)\...).

 

First, use the unmodified makefile (Delta Tau standard) and issue a "make" command. This is how the IDE compiles code, so this should succeed. If it doesn't succeed, then we need to figure out why before proceeding.

 

Secondly, modify the makefile and try to compile again. All paths must match what is on your PC, and this may be slightly different than what is on the Power PMAC! For example, /var/ftp/ppmaclibs does not exist on your PC, so you will need to use /usr/local/ppmaclibs.

 

If you are still having problems you could try cross-compiling zmq from scratch on your PC via Cygwin, and then compile your Capp against the cross-compiled zmq binary. Again, you will need to modify your gcc/makefile flags so the paths match what is on your PC.

Link to comment
Share on other sites

piefum:

 

I forgot that in order to use the bash shell in Cygwin, you will may need to set your Windows "Path" environment variable before opening bash.exe.

 

Specifically, you need to add the following two paths to the PATH variable:

 

C:\Program Files (x86)\Delta Tau Data Systems Inc\2.0\Power PMAC Suite\powerpc-460-linux-gnu\bin

 

C:\Program Files (x86)\Delta Tau Data Systems Inc\2.0\Power PMAC Suite\powerpc-460-linux-gnu\usr\local\bin

 

After adding these paths, you should be able to use bash.exe.

Link to comment
Share on other sites

piefum:

 

I forgot that in order to use the bash shell in Cygwin, you will may need to set your Windows "Path" environment variable before opening bash.exe.

 

Specifically, you need to add the following two paths to the PATH variable:

 

C:\Program Files (x86)\Delta Tau Data Systems Inc\2.0\Power PMAC Suite\powerpc-460-linux-gnu\bin

 

C:\Program Files (x86)\Delta Tau Data Systems Inc\2.0\Power PMAC Suite\powerpc-460-linux-gnu\usr\local\bin

 

After adding these paths, you should be able to use bash.exe.

Link to comment
Share on other sites

Hi shansen

 

many thanks for all the clarification.

Unfortunately, I need to move to another part of the project, so I don't have time now to make work the compilation under the windows machine. I will get back there in a couple of weeks, I hope. For the moment, I will keep going with the direct compilation of the code under the linux machine.

 

Many thanks to everyone!

gigi

 

 

 

piefum:

 

I forgot that in order to use the bash shell in Cygwin, you will may need to set your Windows "Path" environment variable before opening bash.exe.

 

Specifically, you need to add the following two paths to the PATH variable:

 

C:\Program Files (x86)\Delta Tau Data Systems Inc\2.0\Power PMAC Suite\powerpc-460-linux-gnu\bin

 

C:\Program Files (x86)\Delta Tau Data Systems Inc\2.0\Power PMAC Suite\powerpc-460-linux-gnu\usr\local\bin

 

After adding these paths, you should be able to use bash.exe.

Link to comment
Share on other sites

Hi shansen

 

many thanks for all the clarification.

Unfortunately, I need to move to another part of the project, so I don't have time now to make work the compilation under the windows machine. I will get back there in a couple of weeks, I hope. For the moment, I will keep going with the direct compilation of the code under the linux machine.

 

Many thanks to everyone!

gigi

 

 

 

piefum:

 

I forgot that in order to use the bash shell in Cygwin, you will may need to set your Windows "Path" environment variable before opening bash.exe.

 

Specifically, you need to add the following two paths to the PATH variable:

 

C:\Program Files (x86)\Delta Tau Data Systems Inc\2.0\Power PMAC Suite\powerpc-460-linux-gnu\bin

 

C:\Program Files (x86)\Delta Tau Data Systems Inc\2.0\Power PMAC Suite\powerpc-460-linux-gnu\usr\local\bin

 

After adding these paths, you should be able to use bash.exe.

Link to comment
Share on other sites

  • 4 weeks later...

Hi All

the application (compiled under the PMAC) is working fine; the time for this project is running out, so I don't think I will have time to spent to compile it under the windows machine.

 

Now I'd like to start the application automatically as a background process, at the startup of the PMAC.

 

Is there any particular way to start this application, or should I go with the classic init.d scripts? What does it do the "Run At Startup" flag on the IDE?

 

 

--edit:

I found the answer here:

http://forums.deltatau.com/showthread.php?tid=1574&highlight=startup

 

 

thanks

gigi

Link to comment
Share on other sites

Hi All

the application (compiled under the PMAC) is working fine; the time for this project is running out, so I don't think I will have time to spent to compile it under the windows machine.

 

Now I'd like to start the application automatically as a background process, at the startup of the PMAC.

 

Is there any particular way to start this application, or should I go with the classic init.d scripts? What does it do the "Run At Startup" flag on the IDE?

 

 

--edit:

I found the answer here:

http://forums.deltatau.com/showthread.php?tid=1574&highlight=startup

 

 

thanks

gigi

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

×
×
  • Create New...