[mpls-linux-devel] Quagga: compilation issue
Status: Beta
Brought to you by:
jleu
From: Ricardo H. G. <ric...@gm...> - 2011-04-18 14:02:58
|
Hi all I'm trying to trying to install MPLS-Linux on my computer. Following the recomendations on [1], i decided to use the RPM packages for Fedora Core 10. More specifically, i installed the following: - kernel-2.6.27.24-170.2.68.fc10.mpls.1.963.i686.rpm - kernel-headers-2.6.27.24-170.2.68.fc10.mpls.1.963.i386.rpm - iproute-2.6.27-2.fc10.mpls.1.963.i386.rpm After to see that all of they work perfectly, I decided to install Quagga with MPLS support. For this, i follow the following steps: git clone git://repo.or.cz/mpls-ldp-portable.git git clone git://repo.or.cz/mpls-quagga.git cd mpls-quagga git checkout -b mpls-master --track origin/mpls-master cd ldpd vi create-links (modify to point to the mpls-ldp-portable source) ./create-links cd .. ./make-rpm-jleu (after fix some problems in the script) The compilation fails returning this error: impl_lock.o: In function `mpls_lock_release': /root/rpmbuild/BUILD/quagga-0.99.15/ldpd/impl_lock.c:22: undefined reference to `mpls_assert' impl_lock.o: In function `mpls_lock_get': /root/rpmbuild/BUILD/quagga-0.99.15/ldpd/impl_lock.c:16: undefined reference to `mpls_assert' impl_mpls.o: In function `mpls_mpls_outsegment_del': /root/rpmbuild/BUILD/quagga-0.99.15/ldpd/impl_mpls.c:115: undefined reference to `mpls_assert' impl_mpls.o: In function `mpls_mpls_outsegment_add': /root/rpmbuild/BUILD/quagga-0.99.15/ldpd/impl_mpls.c:71: undefined reference to `mpls_assert' impl_socket.o: In function `mpls_socket_writelist_add': /root/rpmbuild/BUILD/quagga-0.99.15/ldpd/impl_socket.c:469: undefined reference to `mpls_assert' impl_socket.o:/root/rpmbuild/BUILD/quagga-0.99.15/ldpd/impl_socket.c:471: more undefined references to `mpls_assert' follow collect2: ld returned 1 exit status make[2]: *** [ldpd] Error 1 make[2]: se sale del directorio `/root/rpmbuild/BUILD/quagga-0.99.15/ldpd' make[1]: *** [all-recursive] Error 1 make[1]: se sale del directorio `/root/rpmbuild/BUILD/quagga-0.99.15' make: *** [all] Error 2 I don't know where is the origin of this problem. I tried to compile with GCC 4.3 and also GCC 4.1 with same results. I was looking on "mpls_assert.h" and found this: #define NO_ASSERT_PLEASE #ifdef NO_ASSERT_PLEASE extern void mpls_assert(const char* func, const int line, int condition); #define MPLS_ASSERT(x) mpls_assert(__func__, __LINE__, (int)(x)) #else #define MPLS_ASSERT(x) assert(x) #endif In impl_mpls.c for example, there is a call to MPLS_ASSERT that returns error by GCC: void mpls_lock_get(mpls_lock_handle handle) { MPLS_ASSERT (*handle == 0); (*handle)++; } I don't know where is the problem or how to fix it. Best Regards, Ricardo. [1] http://sourceforge.net/apps/mediawiki/mpls-linux/index.php?title=Main_Page |