Error Loading Shared Library (glew) - linux

I compiled the library GLEW. It seemed to work fine, here is the output of make install:
install -d -m 0755 "/usr/include/GL"
install -m 0644 include/GL/wglew.h "/usr/include/GL/"
install -m 0644 include/GL/glew.h "/usr/include/GL/"
install -m 0644 include/GL/glxew.h "/usr/include/GL/"
sed \
-e "s|#prefix#|/usr|g" \
-e "s|#libdir#|/usr/lib64|g" \
-e "s|#exec_prefix#|/usr/bin|g" \
-e "s|#includedir#|/usr/include/GL|g" \
-e "s|#version#|1.11.0|g" \
-e "s|#cflags#||g" \
-e "s|#libname#|GLEW|g" \
-e "s|#requireslib#|glu|g" \
< glew.pc.in > glew.pc
install -d -m 0755 "/usr/lib64"
install -m 0644 lib/libGLEW.so.1.11.0 "/usr/lib64/"
ln -sf libGLEW.so.1.11.0 "/usr/lib64/libGLEW.so.1.11"
ln -sf libGLEW.so.1.11.0 "/usr/lib64/libGLEW.so"
install -m 0644 lib/libGLEW.a "/usr/lib64/"
install -d -m 0755 "/usr/lib64"
install -d -m 0755 "/usr/lib64/pkgconfig"
install -m 0644 glew.pc "/usr/lib64/pkgconfig/"
Now I wanted to use it on a KDevelop project. I created my CMakeLists.txt and linked the library there using find_package:
cmake_minimum_required( VERSION 2.6 )
project(openglengine)
include_directories(headers)
set(SOURCE_FILES src/main.cpp)
set(CMAKE_CXX_FLAGS "--pedantic-errors -Wall -std=gnu++11")
add_executable(openglengine ${SOURCE_FILES} ${HEADER_FILES})
find_package(PkgConfig REQUIRED)
pkg_search_module(GLFW REQUIRED glfw3)
include_directories(${GLFW_INCLUDE_DIRS})
target_link_libraries(openglengine ${GLFW_STATIC_LIBRARIES})
find_package(GLEW)
if (GLEW_FOUND)
include_directories(${GLEW_INCLUDE_DIRS})
target_link_libraries (openglengine ${GLEW_LIBRARIES})
endif (GLEW_FOUND)
install(TARGETS openglengine RUNTIME DESTINATION ~/projects/OpenGLEngine/bin)
I get no build errors.
When I try to run the program here is the output:
error while loading shared libraries: libGLEW.so.1.11: cannot open shared object file: No such file or directory
Any help will be appreciated.
EDIT:
Using the command locate libGLEW I get this output:
/home/lhahn/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libGLEW.so.1.10
/home/lhahn/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libGLEW.so.1.10.0
/home/lhahn/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libGLEW.so.1.6
/home/lhahn/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libGLEW.so.1.6.0
/home/lhahn/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libGLEW.so.1.10
/home/lhahn/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libGLEW.so.1.10.0
/home/lhahn/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libGLEW.so.1.6
/home/lhahn/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libGLEW.so.1.6.0
/home/lhahn/.local/share/Trash/files/glew/lib/libGLEW.a
/home/lhahn/.local/share/Trash/files/glew/lib/libGLEW.so
/home/lhahn/.local/share/Trash/files/glew/lib/libGLEW.so.1.11
/home/lhahn/.local/share/Trash/files/glew/lib/libGLEW.so.1.11.0
/home/lhahn/.local/share/Trash/files/glew/lib/libGLEWmx.a
/home/lhahn/.local/share/Trash/files/glew/lib/libGLEWmx.so
/home/lhahn/.local/share/Trash/files/glew/lib/libGLEWmx.so.1.11
/home/lhahn/.local/share/Trash/files/glew/lib/libGLEWmx.so.1.11.0
/home/lhahn/Documents/OpenGL-Utils/GLEW/glew-1.11.0/lib/libGLEW.a
/home/lhahn/Documents/OpenGL-Utils/GLEW/glew-1.11.0/lib/libGLEW.so
/home/lhahn/Documents/OpenGL-Utils/GLEW/glew-1.11.0/lib/libGLEW.so.1.11
/home/lhahn/Documents/OpenGL-Utils/GLEW/glew-1.11.0/lib/libGLEW.so.1.11.0
/home/lhahn/Documents/OpenGL-Utils/GLEW/glew-1.11.0/lib/libGLEWmx.a
/home/lhahn/Documents/OpenGL-Utils/GLEW/glew-1.11.0/lib/libGLEWmx.so
/home/lhahn/Documents/OpenGL-Utils/GLEW/glew-1.11.0/lib/libGLEWmx.so.1.11
/home/lhahn/Documents/OpenGL-Utils/GLEW/glew-1.11.0/lib/libGLEWmx.so.1.11.0
/usr/lib64/libGLEW.a
/usr/lib64/libGLEW.so
/usr/lib64/libGLEW.so.1.11
/usr/lib64/libGLEW.so.1.11.0
Which show that I have the library. Does that mean that the command find_package may be not working? Which is strange because I get no link errors.

So, I managed to make it work by creating a symbolic link in /usr/lib/ for the library that was in /usr/lib64.
sudo ln -s /usr/lib64/libGLEW.so.1.11 /usr/lib/libGLEW.so.1.11
Now it works fine. Since I am no expert on linux I don't know if that will bring me problems in the future.

I don't know if the answer by #Ihahn will have any issues but, if the some program is not finding your shared libraries, then first find the folder that your library was installed and is not in your shared library folder and then run sudo ldconfig <location_where_your_library_or_program_was_installed>. Sometimes this happens when you're installing/building programs via make install.Reference here..

Related

Set env variable for HSL so IPOPT can use the solver `ma57`

I am sorry but I am not good at setting environment variables / manual builds. I have downloaded the HSL solvers for IPOPT and I believe that I successfully install the whole package but I cannot set the environment variables so I can use it from IPOPT. I am getting this error message:
Exception message: Selected linear solver MA57 not available.
Tried to obtain MA57 from shared library "libhsl.so", but the following error occured:
libhsl.so: cannot open shared object file: No such file or directory
I went according this advice https://stackoverflow.com/a/67655434/12312879 but I am not sure what to do next. The last command sudo make install printed this:
libtool: install: /usr/bin/install -c .libs/libcoinhsl.so.2.2.1 /usr/local/lib/libcoinhsl.so.2.2.1
libtool: install: (cd /usr/local/lib && { ln -s -f libcoinhsl.so.2.2.1 libcoinhsl.so.2 || { rm -f libcoinhsl.so.2 && ln -s libcoinhsl.so.2.2.1 libcoinhsl.so.2; }; })
libtool: install: (cd /usr/local/lib && { ln -s -f libcoinhsl.so.2.2.1 libcoinhsl.so || { rm -f libcoinhsl.so && ln -s libcoinhsl.so.2.2.1 libcoinhsl.so; }; })
libtool: install: /usr/bin/install -c .libs/libcoinhsl.lai /usr/local/lib/libcoinhsl.la
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/sbin" ldconfig -n /usr/local/lib
----------------------------------------------------------------------
Libraries have been installed in:
/usr/local/lib
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the 'LD_RUN_PATH' environment variable
during linking
- use the '-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to '/etc/ld.so.conf'
If you have a current (3.14) Ipopt, then try setting Ipopt option hsllib to /usr/local/lib/libcoinhsl.so.
If Ipopt is older, then it doesn't have the hsllib option. You can try copying your libcoinhsl.so.2.2.1 to libhsl.so and ensure that Ipopt finds it (e.g., by having its path in LD_LIBRARY_PATH).
I you build Ipopt from source, then the preferred way would be to provide HSL at buildtime, see also https://coin-or.github.io/Ipopt/INSTALL.html#DOWNLOAD_HSL.

Tp-Link T2600G-28TS GPL Source Code Compiling Error

i am trying to build t2600g-28ts switch's u-boot and buildroot linux
to get bootloader for modifying device my next goal is flashing OpenWRT.
It is a bcm53547 based board
I have tried build instructions below and no lucks.
I think may toolchains are the problem so how can i solve the problem .
any help would be appreciated thanks..
T2600-28TS GPL Codes
https://static.tp-link.com/resources/gpl/t2600g-28ts_gpl_20181206.tar.gz
Build Instructions
1. All build targets are in "t2600g-28ts_gpl/tplink/buildroot-wolfhound2/" and "t2600g-28ts_gpl/ldk/XLDK_4.2.1/bootloader/uboot-2016.01", you should enter the directory to build components.
2. Toolchain binary is avaliable in this package. The directory is "t2600g-28ts_gpl/tplink/buildroot-wolfhound2/host/usr/bin/".
3. Building steps:
1) put t2600g-28ts_gpl in directory /project/trunk
2) export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/project/trunk/t2600g-28ts_gpl/tplink/buildroot-wolfhound2/host/usr/lib"
3) cd /project/trunk/t2600g-28ts_gpl/tplink/buildroot-wolfhound2
3) make O=./build/t2600g-28ts tplink-t2600g-28ts_defconfig
4) make O=./build/t2600g-28ts
After step4 completed, The linux kernel image, rootfs filesystem will be found in directory "t2600g-28ts_gpl/tplink/buildroot-wolfhound2/build/t2600g-28ts/images".
5) cd /project/trunk/t2600g-28ts_gpl/ldk/XLDK_4.2.1/bootloader/uboot-2016.01
6) export CROSS_COMPILE=/project/trunk/t2600g-28ts_gpl/tplink/buildroot-wolfhound2/host/usr/bin/arm-linux-
7) export ARCH=arm
8) export PATH="$PATH:/project/trunk/t2600g-28ts_gpl/tplink/buildroot-wolfhound2/host/usr/bin"
9) make O=./build-output bcm953547k_defconfig
10) make O=./build-output all
After step11 completed, uboot will be found in directory "t2600g-28ts_gpl/ldk/XLDK_4.2.1/bootloader/uboot-2016.01".
My work
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:~/t2600g-28ts_gpl/tplink/buildroot-wolfhound2/host/usr/lib"
cd ~/t2600g-28ts_gpl/tplink/buildroot-wolfhound2
make O=./build/t2600g-28ts tplink-t2600g-28ts_defconfig
Build Debugs
/usr/bin/install -d -m 0755 /home/topcu/t2600g-28ts_gpl/tplink/buildroot-wolfhound2/build/t2600g-28ts/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/bin
/usr/bin/install -d -m 0755 /home/topcu/t2600g-28ts_gpl/tplink/buildroot-wolfhound2/build/t2600g-28ts/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/sbin
/usr/bin/install -d -m 0755 /home/topcu/t2600g-28ts_gpl/tplink/buildroot-wolfhound2/build/t2600g-28ts/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/include
/usr/bin/install -d -m 0755 /home/topcu/t2600g-28ts_gpl/tplink/buildroot-wolfhound2/build/t2600g-28ts/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/bin
/usr/bin/install -d -m 0755 /home/topcu/t2600g-28ts_gpl/tplink/buildroot-wolfhound2/build/t2600g-28ts/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/sbin
/usr/bin/install -d -m 0755 /home/topcu/t2600g-28ts_gpl/tplink/buildroot-wolfhound2/build/t2600g-28ts/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/lib
ln -snf lib /home/topcu/t2600g-28ts_gpl/tplink/buildroot-wolfhound2/build/t2600g-28ts/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/lib32
ln -snf lib /home/topcu/t2600g-28ts_gpl/tplink/buildroot-wolfhound2/build/t2600g-28ts/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib32
>>> skeleton undefined Fixing libtool files
>>> skeleton undefined Installing to target
rsync -a --ignore-times --chmod=u=rwX,go=rX --exclude .empty --exclude '*~' board/broadcom/iproc/skeleton/ /home/topcu/t2600g-28ts_gpl/tplink/buildroot-wolfhound2/build/t2600g-28ts/target/
/usr/bin/install -d -m 0755 /home/topcu/t2600g-28ts_gpl/tplink/buildroot-wolfhound2/build/t2600g-28ts/target/bin
/usr/bin/install -d -m 0755 /home/topcu/t2600g-28ts_gpl/tplink/buildroot-wolfhound2/build/t2600g-28ts/target/sbin
/usr/bin/install -d -m 0755 /home/topcu/t2600g-28ts_gpl/tplink/buildroot-wolfhound2/build/t2600g-28ts/target/lib
ln -snf lib /home/topcu/t2600g-28ts_gpl/tplink/buildroot-wolfhound2/build/t2600g-28ts/target/lib32
ln -snf lib /home/topcu/t2600g-28ts_gpl/tplink/buildroot-wolfhound2/build/t2600g-28ts/target/usr/lib32
/usr/bin/install -m 0644 support/misc/target-dir-warning.txt /home/topcu/t2600g-28ts_gpl/tplink/buildroot-wolfhound2/build/t2600g-28ts/target/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM
>>> toolchain-external undefined Extracting
>>> toolchain-external undefined Patching
>>> toolchain-external undefined Configuring
Cannot execute cross-compiler '/home/topcu/t2600g-28ts_gpl/tplink/buildroot-wolfhound2/host/usr/bin/arm-linux-gcc.br_real'
make[1]: *** [package/pkg-generic.mk:189: /home/topcu/t2600g-28ts_gpl/tplink/buildroot-wolfhound2/build/t2600g-28ts/build/toolchain-external-undefined/.stamp_configured] Error 1
make: *** [Makefile:36: _all] Error 2
I have the same problem. I managed to solve it by compiling on CentOS 6.10, but I had to install GCC and some python dependencies first. Now I'm trying to upload as image in EVE-NG

rust: building a statically linked binary including external C libraries

I'm trying to statically build my rust application, using MUSL.
My application uses sqlcipher. This means a statically built executable must include the openssl and sqlcipher C libraries.
I'm using https://github.com/emk/rust-musl-builder, so I wrote a Dockerfile which starts with their dockerfile, which already provides a MUSL environment including a statically built musl-enabled openssl.
So "all I need" is to build sqlcipher and then my rust application. Unfortunately this has a proven very complicated for me.
Here is my current docker file:
FROM ekidd/rust-musl-builder
# sqlcipher requirements
ENV TZ=Europe/Ljubljana
RUN sudo sh -c "ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone"
RUN sudo apt update
RUN sudo apt install tcl -y
# sqlcipher
RUN VERS=4.4.1 && \
cd /home/rust/libs && \
curl -LO https://github.com/sqlcipher/sqlcipher/archive/v$VERS.tar.gz && \
tar xzf v$VERS.tar.gz && cd sqlcipher-$VERS && \
CC=musl-gcc ./configure --host=x86_64-pc-linux-gnu --target=x86_64-linux-musl --prefix=/usr/local/musl --disable-tcl --disable-shared --with-crypto-lib=none --enable-static=yes --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC -DSQLCIPHER_CRYPTO_OPENSSL -I/usr/include/x86_64-linux-musl -I/usr/local/musl/include -I/usr/local/musl/include/openssl" LDFLAGS=" /usr/local/musl/lib/libcrypto.a" && \
make && sudo make install && \
cd .. && rm -rf v$VERS.tar.gz sqlcipher-$VERS
# bring in my rust source
ADD --chown=rust:rust ./ .
# build my rust code
ENV RUSTFLAGS='-L/usr/local/musl/lib -L/usr/lib/x86_64-linux-musl -L/lib/x86_64-linux-musl -C linker=musl-gcc -Clink-arg=/usr/local/musl/lib/libcrypto.a -Clink-arg=/usr/local/musl/lib/libsqlcipher.a -C link-arg=/lib/ld-musl-x86_64.so.1 -Clink-arg=/usr/lib/x86_64-linux-musl/libc.a -Ctarget-feature=-crt-static -Clink-arg=-no-pie -C target-feature=+crt-static'
ENV PKG_CONFIG_ALLOW_CROSS=1
ENV PKG_CONFIG_ALL_STATIC=true
ENV OPENSSL_STATIC=true
ENV LIBZ_SYS_STATIC=1
CMD cargo build --target x86_64-unknown-linux-musl --release --bin projectpad-cli && cp /home/rust/src/target/x86_64-unknown-linux-musl/release/projectpad-cli /host
(my rust source is at https://github.com/emmanueltouzery/projectpad2)
This succeeds entirely and generates a binary, but it's not statically linked:
ldd projectpad-cli
/lib/ld-musl-x86_64.so.1 => /lib64/ld-linux-x86-64.so.2 (0x00007f56d6749000)
linux-vdso.so.1 (0x00007fff301f7000)
file projectpad-cli
projectpad-cli: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-musl-x86_64.so.1, with debug_info, not stripped
Attempting to run this binary crashes in malloc_usable_size () from /lib/ld-musl-x86_64.so.1.
I believe it's because my system doesn't have the MUSL linker and so it uses the glibc/gcc one, and this causes issues.
I'm thinking that if I could manage to produce a really static binary, that wouldn't have references to the linker, this would possibly work.
Any idea what I'm doing wrong? I experimented with some builder.rs printlns, but I currently don't have any.
OK, I found it...
I'm pretty sure the problem was the -C link-arg=/lib/ld-musl-x86_64.so.1 flag. This more or less forced a dynamic executable I think. Removing it fixed the issue :-)
# -*- mode: dockerfile -*-
#
# An example Dockerfile showing how to add new static C libraries using
# musl-gcc.
FROM ekidd/rust-musl-builder
# https://rtfm.co.ua/en/docker-configure-tzdata-and-timezone-during-build/
ENV TZ=Europe/Ljubljana
RUN sudo sh -c "ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone"
RUN sudo apt update
RUN sudo apt install tcl -y
# Build a static copy of sqlcipher.
# https://github.com/sqlcipher/sqlcipher/issues/132#issuecomment-122908672
# also related https://discuss.zetetic.net/t/cross-compile-sqlicipher-for-arm/2104/4
# https://github.com/sqlcipher/sqlcipher/issues/276
# https://github.com/rust-lang/rust/issues/40049
RUN VERS=4.4.1 && \
cd /home/rust/libs && \
curl -LO https://github.com/sqlcipher/sqlcipher/archive/v$VERS.tar.gz && \
tar xzf v$VERS.tar.gz && cd sqlcipher-$VERS && \
CC=musl-gcc ./configure --host=x86_64-pc-linux-gnu --target=x86_64-linux-musl --prefix=/usr/local/musl --disable-tcl --disable-shared --with-crypto-lib=none --enable-static=yes --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC -DSQLCIPHER_CRYPTO_OPENSSL -I/usr/include/x86_64-linux-musl -I/usr/local/musl/include -I/usr/local/musl/include/openssl" LDFLAGS=" /usr/local/musl/lib/libcrypto.a" && \
make && sudo make install && \
cd .. && rm -rf v$VERS.tar.gz sqlcipher-$VERS
ADD --chown=rust:rust ./ .
# https://stackoverflow.com/questions/40695010/how-to-compile-a-static-musl-binary-of-a-rust-project-with-native-dependencies
# https://github.com/rust-lang/rust/issues/54243
ENV RUSTFLAGS='-L/usr/local/musl/lib -L/usr/lib/x86_64-linux-musl -L/lib/x86_64-linux-musl -C linker=musl-gcc -Clink-arg=/usr/local/musl/lib/libcrypto.a -Clink-arg=/usr/local/musl/lib/libsqlcipher.a -Clink-arg=/usr/lib/x86_64-linux-musl/libc.a'
ENV PKG_CONFIG_ALLOW_CROSS=1
ENV PKG_CONFIG_ALL_STATIC=true
ENV OPENSSL_STATIC=true
ENV LIBZ_SYS_STATIC=1
CMD cargo build --target x86_64-unknown-linux-musl --release --bin projectpad-cli && cp /home/rust/src/target/x86_64-unknown-linux-musl/release/projectpad-cli /host

How do I alias python2 to python3 in a docker container?

I am trying to set the default python in my docker container to be python3 and have set the aliases in the dockerfile. When I open the .bashrc file, they show up. As far as I can tell, it should work but the default python version is still 2.7. if I run which python, it will still point to usr/bin/python rather than python3. Same with pip. Can anyone tell me what the problem is? Here is the command I'm using to alias:
RUN \
echo 'alias python="/usr/bin/python3"' >> /root/.bashrc && \
echo 'alias pip="/usr/bin/pip3"' >> /root/.bashrc
Does this look right? I am using ubuntu 17.10
You try to create a symlink for python bin
RUN ln -s /usr/bin/python3 /usr/bin/python & \
ln -s /usr/bin/pip3 /usr/bin/pip
other option is use update-alternatives for more visit this site
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3
and another option is trying source the bashrc file after updating
RUN \
echo 'alias python="/usr/bin/python3"' >> /root/.bashrc && \
echo 'alias pip="/usr/bin/pip3"' >> /root/.bashrc && \
source /root/.bashrc
I recommend seeing all options of python images on Docker Hub
Tip: use anaconda or conda for managing your python versions (conda site)
The answer above is great, except it should be as follows:
RUN ln -s /usr/bin/python3 /usr/bin/python && \
ln -s /usr/bin/pip3 /usr/bin/pip
Perhaps they typo-ed by writing ls which just lists the contents of the directory, rather than using ln which actually creates symlinks.

Eclipse can't find 32bit ncurses library

I am running Ubuntu and need to use a 32 bit version of ncurses with my program. I downloaded ncurses-5.9 using wget from http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz. I then entered:
gzip -dc < ncurses-5.9.tar.gz | tar -xf -
cd ncurses-5.9
At this point I followed all the instructions listed here (I have listed them below as well:
CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" \
./configure --prefix=/usr --libdir=/lib \
--with-shared --without-debug --enable-widec \
--with-manpage-format=normal \
--with-default-terminfo-dir=/usr/share/terminfo
make
make install
mv -v /usr/bin/ncursesw5-config{,-32}
mv -v /lib/lib{panelw,menuw,formw,ncursesw,ncurses++w}.a /usr/lib
rm -v /lib/lib{ncursesw,menuw,panelw,formw}.so
ln -svf ../../lib/libncursesw.so.5 /usr/lib/libncursesw.so
ln -svf ../../lib/libmenuw.so.5 /usr/lib/libmenuw.so
ln -svf ../../lib/libpanelw.so.5 /usr/lib/libpanelw.so
ln -svf ../../lib/libformw.so.5 /usr/lib/libformw.so
All of these commands executed successfully. When I go to run my program however, I use the appropriate flag -lncurses yet I get back the error: /usr/bin/ld: cannot find -lncurses
From the terminal I can see that libncurses libncurses++w.a libncursesw.a libncursesw.so are all in /usr/lib and ncurses5-config ncursesw5-config-32
are in /usr/lib.
Please advise as to what I should try to change, thanks much!

Resources