arm-linux-gnueabihf-g++ arm-linux-gnueabihf/bin/ld.exe: cannot find -llibxxx - linux

I try to cross-compile for raspberry with arm-linux-gnueabihf-g++ under Windows. I succefuly try a "Hello Word" sample, but when I try to use pylon librarie "libpylonbase.so",
The compilation seem to be ok, but the linker tell that it doesn't find the "libpylonbase.so".
I have add the absolute path to the library with -L, but it doesn't work. Why ld say that it don't find the library ?
Here is the command and the result:
C:\SysGCC>raspberry\bin\arm-linux-gnueabihf-g++.exe -IC:\SysGCC\raspberry\arm-linux-gnueabihf\sysroot\opt\pylon5\include
-L"C:\SysGCC\raspberry\arm-linux-gnueabihf\sysroot\opt\pylon5\lib" -llibpylonbase.so -ggdb C:\DevCrossSoft\Grab_CameraEvents.cpp -o C:\DevCrossSoft\Grab_CameraEvents
In file included from c:\sysgcc\raspberry\arm-linux-gnueabihf\include\c++\6/vector:63:0,
from C:\SysGCC\raspberry\arm-linux-gnueabihf\sysroot\opt\pylon5\include/GenApi/Autovector.h:36,
from C:\SysGCC\raspberry\arm-linux-gnueabihf\sysroot\opt\pylon5\include/GenApi/Types.h:37,
from C:\SysGCC\raspberry\arm-linux-gnueabihf\sysroot\opt\pylon5\include/GenApi/IValue.h:35,
from C:\SysGCC\raspberry\arm-linux-gnueabihf\sysroot\opt\pylon5\include/GenApi/IEnumEntry.h:36,
from C:\SysGCC\raspberry\arm-linux-gnueabihf\sysroot\opt\pylon5\include/GenApi/IEnumeration.h:36,
from C:\SysGCC\raspberry\arm-linux-gnueabihf\sysroot\opt\pylon5\include/GenApi/Pointer.h:36,
from C:\SysGCC\raspberry\arm-linux-gnueabihf\sysroot\opt\pylon5\include/GenApi/GenApi.h:38,
from C:\SysGCC\raspberry\arm-linux-gnueabihf\sysroot\opt\pylon5\include/pylon/PylonIncludes.h:61,
from C:\DevCrossSoft\Grab_CameraEvents.cpp:38:
c:\sysgcc\raspberry\arm-linux-gnueabihf\include\c++\6/bits/stl_uninitialized.h: In function '_ForwardIterator std::__uninitialized_move_if_noexcept_a(_InputIterator,
_InputIterator, _ForwardIterator, _Allocator&) [with _InputIterator = long long int*; _ForwardIterator = long long int*; _Allocator = std::allocator<long long int>]':
c:\sysgcc\raspberry\arm-linux-gnueabihf\include\c++\6/bits/stl_uninitialized.h:304:69: note: parameter passing for argument of type 'std::move_iterator<long long int*>'
will change in GCC 7.1
_GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR(__last), __result, __alloc);
.....
c:/sysgcc/raspberry/bin/../lib/gcc/arm-linux-gnueabihf/6/../../../../arm-linux-gnueabihf/bin/ld.exe: cannot find -llibpylonbase.so
collect2.exe: error: ld returned 1 exit status
So I try to make Dir of this path, and the library is here. So why ld don't find it ?
C:\SysGCC>dir C:\SysGCC\raspberry\arm-linux-gnueabihf\sysroot\opt\pylon5\lib\libpylonbase.*
Le volume dans le lecteur C s'appelle WIN7
Le numéro de série du volume est 0A4E-F0C9
Répertoire de C:\SysGCC\raspberry\arm-linux-gnueabihf\sysroot\opt\pylon5\lib
07/11/2018 08:30 1 604 756 libpylonbase.so
1 fichier(s) 1 604 756 octets
0 Rép(s) 5 874 581 504 octets libres

In fact, to link correctly this library, I deleted the 'lib' prefix:
To link "libpylonbase.so", the directive is "-lpylonbase".
I hope it will be useful to many people...

Related

How can I change the CONFIG_ARCH_OPTIONAL_KERNEL_RWX value? by changing arch/Kconfig file directly?

I had asked a quesion at kernelnewbies email list and later I thought I found the answer (I thought I can put it in my defconfig). But then later found it was my mistake. So I still have the question and I ask it here to get answer.
This is what I see when I search “KERNEL_RWX” during “make menuconfig” for arm64 kernel(5-10.0-rc5).
The Kconfig file says CONFIG_STRICT_KERNEL_RWX is for setting text and rodata read-only.
Symbol: ARCH_OPTIONAL_KERNEL_RWX [=n]
Type : bool
Defined at arch/Kconfig:928
Symbol: ARCH_OPTIONAL_KERNEL_RWX_DEFAULT [=n]
Type : bool
Defined at arch/Kconfig:931
Symbol: STRICT_KERNEL_RWX [=y]
Type : bool
Defined at arch/Kconfig:937
Prompt: Make kernel text and rodata read-only
Depends on: ARCH_HAS_STRICT_KERNEL_RWX [=y]
Visible if: ARCH_HAS_STRICT_KERNEL_RWX [=y] && ARCH_OPTIONAL_KERNEL_RWX [=n]
Location:
(1) -> General architecture-dependent options
I wanted to try setting STRICT_KERNEL_RWX to =n. The 'Visible if' descriptionn says this option is visible when ARCH_OPTIONAL_KERNEL_RWX is =y which is now =n. (The STRICT_KERNEL_RWX menu didn't appear as a configurable menu in the menuconfig at this time). This is the lines in arch/Kconfig.
config ARCH_OPTIONAL_KERNEL_RWX
def_bool n
So I modified to ARCH_OPTIONAL_KERNEL_RWX=y in arch/Kconfig line 928. (BTW, This is question : is it correct to modify this Kconfig file directly? I’m not sure at the moment)
Then I could see the STRICT_KERNEL_RWX menu in the menuconfig and I set it to =n as I wanted.
But when I build the kernel, I see this errors.
ckim#ckim-ubuntu:~/ProjX/LinuxDevDrv/kernel-release-RD-INFRA-2020.11.30$ makeit
CALL scripts/atomic/check-atomics.sh
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
CC arch/arm64/mm/mmu.o
arch/arm64/mm/mmu.c: In function 'parse_rodata':
arch/arm64/mm/mmu.c:595:28: error: 'rodata_enabled' undeclared (first use in this function)
595 | int ret = strtobool(arg, &rodata_enabled);
| ^~~~~~~~~~~~~~
arch/arm64/mm/mmu.c:595:28: note: each undeclared identifier is reported only once for each function it appears in
arch/arm64/mm/mmu.c: In function 'map_entry_trampoline':
arch/arm64/mm/mmu.c:614:18: error: 'rodata_enabled' undeclared (first use in this function)
614 | pgprot_t prot = rodata_enabled ? PAGE_KERNEL_ROX : PAGE_KERNEL_EXEC;
| ^~~~~~~~~~~~~~
arch/arm64/mm/mmu.c: In function 'map_kernel':
arch/arm64/mm/mmu.c:669:23: error: 'rodata_enabled' undeclared (first use in this function)
669 | pgprot_t text_prot = rodata_enabled ? PAGE_KERNEL_ROX : PAGE_KERNEL_EXEC;
| ^~~~~~~~~~~~~~
make[2]: *** [scripts/Makefile.build:283: arch/arm64/mm/mmu.o] Error 1
make[1]: *** [scripts/Makefile.build:500: arch/arm64/mm] Error 2
make: *** [Makefile:1799: arch/arm64] Error 2
variable “rodata_enabled” is defined in init/main.c as below.
#if defined(CONFIG_STRICT_KERNEL_RWX) || defined(CONFIG_STRICT_MODULE_RWX)
bool rodata_enabled __ro_after_init = true;
static int __init set_debug_rodata(char *str)
{
return strtobool(str, &rodata_enabled);
}
__setup("rodata=", set_debug_rodata);
#endif
But now that CONFIG_STRICT_KERNEL_RWX=n, the above lines are not compiled here (CONFIG_STRICT_MODULE_RWX=n too). However, arch/arm64/mm/mmu.c code is still using rodata_enabled. Is this a bug of the code? Or am I missing something?
I can modify init/main.c and include/linux/init.h so that this rodata_enabled and related functions be defined regardless of these CONFIG values and make the errors go away, but I’m curious if this a kind of kernel bug raising compiler error.
So again my question is how should I change ARCH_OPTIONAL_KERNEL_RWX value? I tried setting it in my defconfig file but when I do make xxx_defonfig, the .config file shows still ARCH_OPTIONAL_KERNEL_RWX=n. Should I edit the arch/Kconfig file really?

Error during installation UHD on BeagleBone (Debian 10)

I followed instrucions from: https://files.ettus.com/manual/page_build_guide.html
I can't build and install uhd and .cpp files for uhd on my Debian. I have error after make command.
cmake .. is ok. The problem is with something called NEON I think.
Processor info:
cat /proc/cpuinfo
processor : 0
model name : ARMv7 Processor rev 2 (v7l)
BogoMIPS : 995.32
Features : half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpd32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x3
CPU part : 0xc08
CPU revision : 2
Hardware : Generic AM33XX (Flattened Device Tree)
Revision : 0000
Serial : 4219BBBK05E9
Release:
lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster
Installation:
root#beaglebone:/home/debian/uhd/host/build# make
[ 2%] Built target uhd_rpclib
[ 2%] Built target uhd-resources
[ 3%] Building CXX object lib/CMakeFiles/uhd.dir/convert/convert_with_neon.cpp.o
In file included from /home/debian/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h: In member function ‘virtual void __convert_fc32_1_sc16_item32_le_1_PRIORITY_SIMD::operator()(const input_type&, const output_type&, size_t)’:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:6740:1: error: inlining failed in call to always_inline ‘float32x4_t vdupq_n_f32(float32_t)’: target specific option mismatch
vdupq_n_f32 (float32_t __a)
^~~~~~~~~~~
/home/debian/uhd/host/lib/convert/convert_with_neon.cpp:27:33: note: called from here
float32x4_t Q0 = vdupq_n_f32(float(scale_factor));
~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /home/debian/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:10844:1: error: inlining failed in call to always_inline ‘void vst1_s16(int16_t*, int16x4_t)’: target specific option mismatch
vst1_s16 (int16_t * __a, int16x4_t __b)
^~~~~~~~
/home/debian/uhd/host/lib/convert/convert_with_neon.cpp:50:17: note: called from here
vst1_s16((reinterpret_cast<int16_t*>(&output[i + 4])), D13);
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/debian/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:7440:1: error: inlining failed in call to always_inline ‘int32x4_t vcvtq_s32_f32(float32x4_t)’: target specific option mismatch
vcvtq_s32_f32 (float32x4_t __a)
^~~~~~~~~~~~~
/home/debian/uhd/host/lib/convert/convert_with_neon.cpp:47:39: note: called from here
int32x4_t Q9 = vcvtq_s32_f32(Q8);
~~~~~~~~~~~~~^~~~
In file included from /home/debian/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:1172:1: error: inlining failed in call to always_inline ‘float32x4_t vmulq_f32(float32x4_t, float32x4_t)’: target specific option mismatch
vmulq_f32 (float32x4_t __a, float32x4_t __b)
^~~~~~~~~
/home/debian/uhd/host/lib/convert/convert_with_neon.cpp:46:35: note: called from here
float32x4_t Q8 = vmulq_f32(Q7, Q0);
~~~~~~~~~^~~~~~~~
In file included from /home/debian/uhd/host/lib/convert/convert_with_neon.cpp:10:
/usr/lib/gcc/arm-linux-gnueabihf/8/include/arm_neon.h:10392:1: error: inlining failed in call to always_inline ‘float32x4_t vld1q_f32(const float32_t*)’: target specific option mismatch
vld1q_f32 (const float32_t * __a)
^~~~~~~~~
/home/debian/uhd/host/lib/convert/convert_with_neon.cpp:29:36: note: called from here
float32x4_t Q1 = vld1q_f32(reinterpret_cast<const float*>(&input[i]));
~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [lib/CMakeFiles/uhd.dir/build.make:502: lib/CMakeFiles/uhd.dir/convert/convert_with_neon.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:129: lib/CMakeFiles/uhd.dir/all] Error 2
make: *** [Makefile:163: all] Error 2
What I can do now?
Edit file CMakeCache.txt located in uhd/host/build/.
//Use NEON SIMD instuctions, if applicable
NEON_SIMD_ENABLE:BOOL=OFF
Then use:
make
It solve the problem.

rt2870.o/rt2870.ko usb wireless adupter installation issue

i am using parrot Linux the latest version . i want to install/use a nano adapter (802.11n) USB
i tried several ways but i failed
tried 1
after trying this i found no other way to ask for help
the following error i am getting while using make && make install
└──╼ #sudo make && make install
make -C tools
make[1]: Entering directory '/home/ano/Downloads/linux/tools'
gcc -g bin2h.c -o bin2h
make[1]: Leaving directory '/home/ano/Downloads/linux/tools'
/home/ano/Downloads/linux/tools/bin2h
cp -f os/linux/Makefile.6 /home/ano/Downloads/linux/os/linux/Makefile
make -C /lib/modules/4.1.8-parrot-686-pae/build SUBDIRS=/home/ano/Downloads/linux/os/linux modules
make[1]: Entering directory '/usr/src/linux-headers-4.1.8-parrot-686-pae'
CC [M] /home/ano/Downloads/linux/os/linux/../../os/linux/rt_profile.o
/home/ano/Downloads/linux/os/linux/../../os/linux/rt_profile.c: In function ‘announce_802_3_packet’:
/home/ano/Downloads/linux/os/linux/../../os/linux/rt_profile.c:331:16: warning: unused variable ‘pAd’ [-Wunused-variable]
RTMP_ADAPTER *pAd = (RTMP_ADAPTER *)pAdSrc;
^
CC [M] /home/ano/Downloads/linux/os/linux/../../sta/assoc.o
CC [M] /home/ano/Downloads/linux/os/linux/../../sta/auth.o
CC [M] /home/ano/Downloads/linux/os/linux/../../sta/auth_rsp.o
CC [M] /home/ano/Downloads/linux/os/linux/../../sta/sync.o
/home/ano/Downloads/linux/os/linux/../../sta/sync.c: In function ‘PeerBeacon’:
/home/ano/Downloads/linux/os/linux/../../sta/sync.c:2180:12: warning: passing argument 8 of ‘StaAddMacTableEntry’ from incompatible pointer type
ie_list,
^
In file included from /home/ano/Downloads/linux/include/rt_config.h:59:0,
from /home/ano/Downloads/linux/os/linux/../../sta/sync.c:28:
/home/ano/Downloads/linux/include/rtmp.h:7892:9: note: expected ‘struct IE_LISTS *’ but argument is of type ‘struct BCN_IE_LIST *’
BOOLEAN StaAddMacTableEntry(
^
CC [M] /home/ano/Downloads/linux/os/linux/../../sta/sanity.o
CC [M] /home/ano/Downloads/linux/os/linux/../../sta/rtmp_data.o
/home/ano/Downloads/linux/os/linux/../../sta/rtmp_data.c: In function ‘STAHandleRxDataFrame’:
/home/ano/Downloads/linux/os/linux/../../sta/rtmp_data.c:523:33: warning: passing argument 2 of ‘MacTableLookup’ from incompatible pointer type
pEntry = MacTableLookup(pAd, &pHeader->Addr2);
^
In file included from /home/ano/Downloads/linux/include/rt_config.h:59:0,
from /home/ano/Downloads/linux/os/linux/../../sta/rtmp_data.c:28:
/home/ano/Downloads/linux/include/rtmp.h:8429:18: note: expected ‘UCHAR *’ but argument is of type ‘UCHAR (*)[6]’
MAC_TABLE_ENTRY *MacTableLookup(RTMP_ADAPTER *pAd, UCHAR *pAddr);
^
CC [M] /home/ano/Downloads/linux/os/linux/../../sta/connect.o
CC [M] /home/ano/Downloads/linux/os/linux/../../sta/wpa.o
CC [M] /home/ano/Downloads/linux/os/linux/../../sta/sta_cfg.o
/home/ano/Downloads/linux/os/linux/../../sta/sta_cfg.c: In function ‘RTMPIoctlRF’:
/home/ano/Downloads/linux/os/linux/../../sta/sta_cfg.c:5306:7: warning: format ‘%X’ expects argument of type ‘unsigned int’, but argument 5 has type ‘LONG’ [-Wformat=]
sprintf(msg+strlen(msg), "BANK%d_R%02d:%02X ", bank_Id, rfId, rfValue);
^
/home/ano/Downloads/linux/os/linux/../../sta/sta_cfg.c:5359:27: warning: passing argument 2 of ‘RtmpDrvAllRFPrint’ from incompatible pointer type
RtmpDrvAllRFPrint(NULL, msg, strlen(msg));
^
In file included from /home/ano/Downloads/linux/include/rt_config.h:64:0,
from /home/ano/Downloads/linux/os/linux/../../sta/sta_cfg.c:28:
/home/ano/Downloads/linux/include/rt_os_util.h:668:6: note: expected ‘UINT32 *’ but argument is of type ‘PSTRING’
VOID RtmpDrvAllRFPrint(
^
/home/ano/Downloads/linux/os/linux/../../sta/sta_cfg.c:5209:22: warning: unused variable ‘rf_bank’ [-Wunused-variable]
UCHAR regRF = 0, rf_bank = 0;
^
/home/ano/Downloads/linux/os/linux/../../sta/sta_cfg.c: In function ‘RTMPIoctlShow’:
/home/ano/Downloads/linux/os/linux/../../sta/sta_cfg.c:5766:85: error: macro "__DATE__" might prevent reproducible builds [-Werror=date-time]
snprintf(extra, size, "Driver version-%s, %s %s\n", STA_DRIVER_VERSION, __DATE__, __TIME__ );
^
/home/ano/Downloads/linux/os/linux/../../sta/sta_cfg.c:5766:95: error: macro "__TIME__" might prevent reproducible builds [-Werror=date-time]
snprintf(extra, size, "Driver version-%s, %s %s\n", STA_DRIVER_VERSION, __DATE__, __TIME__ );
^
/home/ano/Downloads/linux/os/linux/../../sta/sta_cfg.c: In function ‘RtmpIoctl_rt_ioctl_siwgenie’:
/home/ano/Downloads/linux/os/linux/../../sta/sta_cfg.c:7610:13: warning: assignment from incompatible pointer type
eid_ptr = pAd->StaCfg.pWpaAssocIe;
^
cc1: some warnings being treated as errors
scripts/Makefile.build:258: recipe for target '/home/ano/Downloads/linux/os/linux/../../sta/sta_cfg.o' failed
make[2]: *** [/home/ano/Downloads/linux/os/linux/../../sta/sta_cfg.o] Error 1
Makefile:1384: recipe for target '_module_/home/ano/Downloads/linux/os/linux' failed
make[1]: *** [_module_/home/ano/Downloads/linux/os/linux] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.1.8-parrot-686-pae'
Makefile:394: recipe for target 'LINUX' failed
make: *** [LINUX] Error 2
can one please check and help me on it ....
I got that error, too, on a fresh Debian installation, despite being able to make that driver flawlessly a few times before.
Some problems were gone when I edited the os/linux/config.mk file as per the README file included in the driver folder, but then, new ones occured, considering something about the DATE and TIME functions.
I found that the solution is to install package firmware-ralink that also contains drivers for your USB Wireless dongle.
On my Debian Jessie installation, it said that firmware-ralink package is now included in the firmware-non-free package.

node-gyp fedora 21 build node-libtorrent won t work

I'm running fedora 21 OS, with enabled "Development tools and creative suite" module.
Linux maboiteaspam 3.17.8-300.fc21.x86_64 #1 SMP Thu Jan 8 23:32:49 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
I've specifically installed rb_libtorrent-devel via yum
Paquets installés
Nom : rb_libtorrent-devel
Architecture : x86_64
Version : 1.0.2
Révision : 1.fc21
Taille : 3.8 M
Dépôt : installed
Depuis le dépôt : fedora
Résumé : Development files for rb_libtorrent
URL : http://www.rasterbar.com/products/libtorrent/
Licence : BSD and zlib and Boost
Description : The rb_libtorrent-devel package contains libraries and header files for
: developing applications that use rb_libtorrent.
:
: The various source and header files included in this package are licensed
: under the revised BSD, zlib/libpng, and Boost Public licenses. See the various
: COPYING files in the included documentation for the full text of these
: licenses, as well as the comments blocks in the source code for which license
: a given source or header file is released under.
I'm running node and node-gyp,
maboiteaspam [14:07:20] ~ node -v
v0.10.35
maboiteaspam [14:07:23] ~ node-gyp -v
v1.0.2
When i try to install node-libtorrent, which can be found here https://github.com/fanatid/node-libtorrent,
npm i fanatid/node-libtorrent
I'm facing error messages like:
make: Entering directory '/home/maboiteaspam/Bureau/the-public-network/node_modules/node-libtorrent/build'
CXX(target) Release/obj.target/libtorrent/src/module.o
CXX(target) Release/obj.target/libtorrent/src/add_torrent_params.o
../src/add_torrent_params.cpp: In function ‘libtorrent::add_torrent_params nodelt::add_torrent_params_from_object(v8::Local<v8::Object>)’:
../src/add_torrent_params.cpp:48:21: erreur: no match for ‘operator=’ (operand types are ‘std::vector<char>’ and ‘std::vector<char>*’)
p.resume_data =& rd;
^
../src/add_torrent_params.cpp:48:21: note: candidate is:
In file included from /usr/include/c++/4.9.2/vector:69:0,
from /usr/include/libtorrent/add_torrent_params.hpp:37,
from ../src/add_torrent_params.cpp:4:
/usr/include/c++/4.9.2/bits/vector.tcc:167:5: note: std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = char; _Alloc = std::allocator<char>]
vector<_Tp, _Alloc>::
^
/usr/include/c++/4.9.2/bits/vector.tcc:167:5: note: no known conversion for argument 1 from ‘std::vector<char>*’ to ‘const std::vector<char>&’
../src/add_torrent_params.cpp:57:25: erreur: no match for ‘operator=’ (operand types are ‘std::vector<unsigned char>’ and ‘std::vector<unsigned char>*’)
p.file_priorities =& fp;
^
../src/add_torrent_params.cpp:57:25: note: candidate is:
In file included from /usr/include/c++/4.9.2/vector:69:0,
from /usr/include/libtorrent/add_torrent_params.hpp:37,
from ../src/add_torrent_params.cpp:4:
/usr/include/c++/4.9.2/bits/vector.tcc:167:5: note: std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = unsigned char; _Alloc = std::allocator<unsigned char>]
vector<_Tp, _Alloc>::
^
/usr/include/c++/4.9.2/bits/vector.tcc:167:5: note: no known conversion for argument 1 from ‘std::vector<unsigned char>*’ to ‘const std::vector<unsigned char>&’
libtorrent.target.mk:100: recipe for target 'Release/obj.target/libtorrent/src/add_torrent_params.o' failed
make: *** [Release/obj.target/libtorrent/src/add_torrent_params.o] Error 1
make: Leaving directory '/home/maboiteaspam/Bureau/the-public-network/node_modules/node-libtorrent/build'
How can I overcome those problems and use rb libtorrent via the node bindings ?

Android NDK: Linking "error: undefined reference to" GLES functions

So I have the following on my Android.mk....
...
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include /Users/myname/Development/Android/android-ndk-r8c/platforms/android-14/arch-arm/usr/include
...
LOCAL_LDLIBS := -ldl -lGLESv1_CM -llog
However, when I try running ndk-build I get the following....
/Users/myname/Development/Android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/libSDL.a(SDL_render_gles.o): in function GLES_CreateRenderer:jni/SDL/src/render/opengles/SDL_render_gles.c:189: error: undefined reference to 'glDisableClientState'
collect2: ld returned 1 exit status
This of course appears to be an issue linking, however, the compiler worked just fine. I am confused as to why the linking wouldn't work but the compilation would. Anyonw know how I could fix it?
From ndk-build V=1 >Build.log Output
UPDATE:
Ok so I am taking the code found here this compiles fine, however, I am trying to upgrade to PRBoom+ so I dl the code from here and tweak the Android.mk to include the new classes. Once this is done it seems to compile fine, however, it fails to properly link. There are two main errors I see...
First is involving multiple definitions, however, the original (compiled linked fine) code had the same multiple definitions....
/Users/me/Development/Android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: error: ./obj/local/armeabi/objs-debug/prboom_jni/w_mmap.o: multiple definition of 'W_InitCache'
The other type is the OpenGL issues...
/Users/me/Development/Android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/libSDL.a(SDL_render_gles.o): in function GLES_ResetState:/Users/jackiegleason/Development/Code/prboom4android-base/jni/SDL/src/render/opengles/SDL_render_gles.c:181: error: undefined reference to 'glDisable'
If I copy everything back (using the prboom4android code) everything compiles and links just fine.
Here is a diff of the 2 Android.mk files...
< LOCAL_C_INCLUDES:= $(LOCAL_PATH) $(LOCAL_PATH)/include $(LOCAL_PATH)/../SDL_net/include $(LOCAL_PATH)/../SDL/include $(LOCAL_PATH)/MUSIC $(LOCAL_PATH)/MUSIC/include $(LOCAL_PATH)/TEXTSCREEN $(LOCAL_PATH)/TEXTSCREEN/include
---
> LOCAL_C_INCLUDES:= $(LOCAL_PATH) $(LOCAL_PATH)/include $(LOCAL_PATH)/../SDL_net/include $(LOCAL_PATH)/../SDL/include
28c28
< f_finale.c p_enemy.c p_spec.c r_plane.c w_mmap.c i_capture.c \
---
> f_finale.c p_enemy.c p_spec.c r_plane.c w_mmap.c \
31,36c31,33
< m_bbox.c p_inter.c p_tick.c r_things.c z_zone.c s_advsound.c memio.c \
< d_client.c i_video.c i_network.c i_system.c PCSOUND/pcsound.c PCSOUND/pcsound_sdl.c SDL/i_sshot.c \
< i_main.c sc_man.c SDL/i_sound.c jni_doom.c mus2mid.c pcm2wav.c e6y.c SDL/i_joy.c \
< r_screenmultiply.c hu_tracers.c i_smp.c g_overflow.c i_pcsound.c \
< MUSIC/dbopl.c MUSIC/flplayer.c MUSIC/portmidiplayer.c MUSIC/midifile.c MUSIC/opl_queue.c MUSIC/vorbisplayer.c MUSIC/dumbplayer.c MUSIC/oplplayer.c MUSIC/madplayer.c MUSIC/opl.c \
< TEXTSCREEN/txt_button.c TEXTSCREEN/txt_separator.c TEXTSCREEN/txt_gui.c TEXTSCREEN/txt_widget.c TEXTSCREEN/txt_checkbox.c TEXTSCREEN/txt_radiobutton.c TEXTSCREEN/txt_inputbox.c TEXTSCREEN/txt_spinctrl.c TEXTSCREEN/txt_window.c TEXTSCREEN/txt_desktop.c TEXTSCREEN/txt_scrollpane.c TEXTSCREEN/txt_io.c TEXTSCREEN/txt_strut.c TEXTSCREEN/txt_window_action.c TEXTSCREEN/txt_dropdown.c TEXTSCREEN/txt_sdl.c TEXTSCREEN/txt_label.c TEXTSCREEN/txt_table.c
---
> m_bbox.c p_inter.c p_tick.c r_things.c z_zone.c \
> d_client.c i_video.c i_network.c i_system.c \
> i_main.c i_sound.c jni_doom.c mmus2mid.c pcm2wav.c
Yes, I could download your Build.log.
Your build uses APP_PLATFORM = android-3, which does not have the necessary GL libraries. You can set APP_PLATFORM = android-14 in your Application.mk, or set the target platform for your Android project (Eclipse will update the project.properties file).
You should not add the android-14 includes manually in your Android.mk. When you have correct APP_PLATFORM, the include path will be adjusted accordingly.

Resources