Filip,

> On Feb 26, 2016, at 1:07 AM, Filip Pytloun <[email protected]> wrote:
> 
> Hello,
> 
> I am trying to build contrail for Raspbian Jessie using
> contrail-packages and qemu cross-compilation.
> 
> I hit several issues and ended on one currently fatal while fixed all
> others. I am going to mention all as it may be useful for someone else:
> 
> - libtbb package is not available in Raspbian
> 
>   - this is because ARM build of libtbb is failing [1] on:
>       #error compilation requires an ARMv7-a architecture.
>   - can be fixed by appropriate CXXFLAGS:
>       -DTBB_USE_GCC_BUILTINS=1', '-D__TBB_64BIT_ATOMICS=0
>   - my fixed package is available here [2]
> 
> - there was no libipfix-dev but I have build one for raspbian with no
>   issue [3]
> 
> - finally, build is failing on same issue as libtbb so I set CPPFLAGS
>   in global SConsfile [4] which worked fine
> 
> - incomplete type issue with tbb:
>     ‘tbb::internal::atomic_impl<T>::my_storage’ has incomplete type
>   - already discussed on mailing list [5]
>   - fixed by replacing uint64_t by uint32_t
>       grep -R 'tbb::atomic<uint64_t>' controller | cut -d : -f 1 | sort -u | 
> while read i; do sed -i 's,tbb::atomic<uint64_t>,tbb::atomic<uint32_t>,g' $i; 
> done
> 
> 
> And now I am stucked with wierd boost-related issue:
> 
>  /usr/include/boost/random/detail/seed_impl.hpp:306:83: error: exception 
> handling disabled, use -fexceptions to enable
>                   throw std::invalid_argument("Not enough elements in call to 
> seed.");
>                                                                               
>       ^
>  scons: *** [build/debug/vnsw/agent/cfg/cfg_mirror.o] Error 1
> 
> ..which I am currently unable to solve.

The immediate problem is just as the compiler says: You are trying to compile 
with -fno-exceptions enabled on the command line but the header files pulled 
are pulling in code that throws exceptions.

The background here is that, when we started the project we tried to get the 
code to compile without exceptions. That was achieved by modifying the boost 
library to not throw exceptions (and commenting out the variants of some APIs 
that used exceptions). However it became increasingly hard to maintain that… On 
ubuntu 12.04, we still compile with the old modified boost library, in newer 
platforms we compile using the system provided boost library and the scons 
Sconscript files no longer add -fno-exception to the compiler flags.

My guess here is that you don’t have all those settings alined… you are 
probably using one of the newer non-modifying boost libraries without updating 
the -fno-exception flags  appropriately.

> 
> Beside of this, I am also trying to build vrouter packages alone, but
> it's tightly bound to controller and third_party so it's not so trivial
> to split. I will let know when I succeed.
> 
> Has anyone some ideas on the error mentioned above?
> 
> ---
> [1] 
> http://buildd.raspbian.org/status/fetch.php?pkg=tbb&arch=armhf&ver=4.2~20140122-1.1&stamp=1410324360
> [2] http://apt.tcpcloud.eu/raspbian/pool/extra/t/tbb/
> [3] http://apt.tcpcloud.eu/raspbian/pool/extra/libi/libipfix/
> [4] 
> https://github.com/tcpcloud/contrail-packages/commit/0f596e2f3fc4190cf71f7e30a6f45c108f92759c
> [5] 
> http://lists.opencontrail.org/pipermail/dev_lists.opencontrail.org/2015-September/002432.html
> 
> -- 
> Filip Pytloun
> Cloud Architect
> 
> [tcp ◕ cloud]
> 
> tcp cloud a.s.
> Thamova 16, 180 00  Prague 8
> 
> Mobile: +420 776 004 323
> E-mail: [email protected]
> GPG ID: 9C72E61B
> Web:    http://www.opentcpcloud.org/
> _______________________________________________
> Dev mailing list
> [email protected]
> http://lists.opencontrail.org/mailman/listinfo/dev_lists.opencontrail.org

_______________________________________________
Dev mailing list
[email protected]
http://lists.opencontrail.org/mailman/listinfo/dev_lists.opencontrail.org

Reply via email to