unable to build binutils for my cross compiler - operating-system

i am trying to build binutils 2.19.1 with mingw/msys using following commands:
export PREFIX=/usr/local/cross
export TARGET=i586-elf
cd /usr/src
mkdir build-binutils
cd /usr/src/build-binutils
../binutils-x.xx/configure --target=$TARGET --prefix=$PREFIX --disable-nls
make all
make install
and im getting following errors:
/bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../../binuti
ls-2.19.1/bfd -I. -D__USE_MINGW_FSEEK -I. -I../../binutils-2.19.1/bfd -I../..
/binutils-2.19.1/bfd/../include -W -Wall -Wstrict-prototypes -Wmissing-proto
types -Wno-format -Werror -g -O2 -D__USE_MINGW_ACCESS -c -o archive.lo ../../bin
utils-2.19.1/bfd/archive.c
./libtool: line 2258: cygpath: command not found
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../../binutils-2.19.1/bfd -I. -D__U
SE_MINGW_FSEEK -I. -I../../binutils-2.19.1/bfd -I../../binutils-2.19.1/bfd/../in
clude -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-format -Werror -g -
O2 -D__USE_MINGW_ACCESS -c "" -o archive.o
gcc.exe: error: : No such file or directory
gcc.exe: fatal error: no input files
compilation terminated.
make[3]: *** [archive.lo] Error 1
make[3]: Leaving directory `/usr/src/build-binutils/bfd'
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory `/usr/src/build-binutils/bfd'
make[1]: *** [install-bfd] Error 2
make[1]: Leaving directory `/usr/src/build-binutils'
make: *** [install] Error 2
/x.sh: line 8: ../gcc-4.5.0/configure: No such file or directory
make: *** No rule to make target `all-gcc'. Stop.
make: *** No rule to make target `install-gcc'. Stop.
i am getting the same error even for the diff binutils version,i have tried binutils-2.19.1, 2.22.0, 2.23.1
so what can be the problem ??
also my mingw's gcc compiler version is 4.6.2
i've also tried the command
make CFLAGS="-Os -w"
bt still the same problem persists

I'm getting a similar error ("cygpath: command not found"), but with newer versions. FWICT there is a line within binutils that assumes that Cygwin is present, although I didn't see any notes in the build instructions saying that Cygwin was required (I might have missed it, though).
I suppose the correct approach would be to install Cygwin, but I'm not sure if that will interfere with Mingw in other ways. It looks like binutils is just trying to use cygpath to convert between O/S path naming conventions, so I got around this problem by creating a little dummy cygpath shell script:
#options described at http://cygwin-lite.sourceforge.net/html/cygpath.html
#echo "MISSING CYGPATH"
if [ "x$1" == "x-w" ]
then
echo $2 #just echo path name back as-is
else
read -p "MISSING CYGPATH. PARAMS WERE: 1=$1 2=$2 3=$3 4=$4 5=$5"
fi
I placed this on the PATH so binutils could find it, instead of getting an error during the build. This script just echoes the path name back as-is (for the path renaming scenario), since Windows seems to be able to understand Unix-style paths anyways these days (and I was running on Windows). For anything else, this script will pause and display the first few command line parameters, to provide some hints as to what further functionality is needed.
HTH someone get a little farther

Related

Error installing postgresql with homebrew

When I run brew install postgresql I get this as an error message:
Last 15 lines from /Users/admin/Library/Logs/Homebrew/icu4c/02.make:
./formatted_string_builder.h:227:9: note: subexpression not valid in a constant expression
U_ASSERT(category <= 0xf),
^
../common/uassert.h:35:26: note: expanded from macro 'U_ASSERT'
# define U_ASSERT(exp) void()
^
./formatted_string_builder.h:240:64: note: in call to 'Field(0, 1)'
constexpr FormattedStringBuilder::Field kGeneralNumericField = {UFIELD_CATEGORY_UNDEFINED, 1};
^
3 errors generated.
*** Failed compilation command follows: ----------------------------------------------------------
clang++ -DU_ATTRIBUTE_DEPRECATED= -DU_I18N_IMPLEMENTATION -DU_HAVE_STRTOD_L=1 -DU_HAVE_XLOCALE_H=1 -I. -I../common -O2 -W -Wall -pedantic -Wpointer-arith -Wwrite-strings -Wno-long-long -std=c++11 -Qunused-arguments -Wno-parentheses-equality -Wglobal-constructors -fvisibility=hidden -fno-common -c -MMD -MT numfmt.d numfmt.o numfmt.ao -o numfmt.ao numfmt.cpp
--- ( rebuild with "/Library/Developer/CommandLineTools/usr/bin/make VERBOSE=1 all" to show all parameters ) --------
make[1]: *** [numfmt.ao] Error 1
make: *** [all-recursive] Error 2
Do not report this issue to Homebrew/brew or Homebrew/core!
These open issues may also help:
icu4c 67.1 (make C++14 compatible) https://github.com/Homebrew/homebrew-core/pull/59540
Error: You are using macOS 10.10.
We (and Apple) do not provide support for this old version.
You will encounter build failures with some formulae.
Please create pull requests instead of asking for help on Homebrew's GitHub,
Discourse, Twitter or IRC. You are responsible for resolving any issues you
experience while you are running this old version.
I have tried brew update (I am already up to date), and the only issue brew doctor gives me is that there are unexpected header files.
I am using
OSX Yosemite 10.10.5
Homebrew 2.4.12

Netbeans Msys2 make Cygwin1.dll issue

I'm using Netbeans 11 and MSYS2 MINGW64 G++.
Here's a screenshot of my toolchains:
When I try to run a simple Hello World c++ I get the following errors:
0 [main] cppapplication_2_cygwin_try (19728) D:\Program-Workspaces\netbean
s11\CppApplication_2_Cygwin_Try\dist\Debug\MinGW_2-Windows\cppapplication_2_cygw
in_try.exe: *** fatal error - cygheap base mismatch detected - 0x180343408/0x180
347408.
This problem is probably due to using incompatible versions of the cygwin DLL.
Search for cygwin1.dll using the Windows Start->Find/Search facility
and delete all but the most recent version. The most recent version *should*
reside in x:\cygwin\bin, where 'x' is the drive on which you have
installed the cygwin distribution. Rebooting is also suggested if you
are unable to find another cygwin DLL.
In other cases like when using the CLANG++ compiler, everything compiles well with the make.exe.
Could someone help on this please?
Thanks.
EDIT: Adding the NB11 messages:
cd 'D:\Program-Workspaces\netbeans11\CppApplication_2_Cygwin_Try'
D:\Programs\msys64\usr\bin\make.exe -f Makefile CONF=Debug
"/D/Programs/msys64/usr/bin/make.exe" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make[1]: Entering directory '/d/Program-Workspaces/netbeans11/CppApplication_2_Cygwin_Try'
"/D/Programs/msys64/usr/bin/make.exe" -f nbproject/Makefile-Debug.mk dist/Debug/MinGW_2-Windows/cppapplication_2_cygwin_try.exe
make[2]: Entering directory '/d/Program-Workspaces/netbeans11/CppApplication_2_Cygwin_Try'
mkdir -p build/Debug/MinGW_2-Windows
rm -f "build/Debug/MinGW_2-Windows/main.o.d"
g++ -std=c++2a -c -g -MMD -MP -MF "build/Debug/MinGW_2-Windows/main.o.d" -o build/Debug/MinGW_2-Windows/main.o main.cpp
mkdir -p dist/Debug/MinGW_2-Windows
g++ -std=c++2a -o dist/Debug/MinGW_2-Windows/cppapplication_2_cygwin_try build/Debug/MinGW_2-Windows/main.o
make[2]: Leaving directory '/d/Program-Workspaces/netbeans11/CppApplication_2_Cygwin_Try'
make[1]: Leaving directory '/d/Program-Workspaces/netbeans11/CppApplication_2_Cygwin_Try'
BUILD SUCCESSFUL (total time: 17s)
cd 'D:\Program-Workspaces\netbeans11\CppApplication_2_Cygwin_Try'
D:\Programs\msys64\usr\bin\make.exe -f Makefile CONF=Debug
"/D/Programs/msys64/usr/bin/make.exe" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make[1]: Entering directory '/d/Program-Workspaces/netbeans11/CppApplication_2_Cygwin_Try'
"/D/Programs/msys64/usr/bin/make.exe" -f nbproject/Makefile-Debug.mk dist/Debug/MinGW_2-Windows/cppapplication_2_cygwin_try.exe
make[2]: Entering directory '/d/Program-Workspaces/netbeans11/CppApplication_2_Cygwin_Try'
make[2]: 'dist/Debug/MinGW_2-Windows/cppapplication_2_cygwin_try.exe' is up to date.
make[2]: Leaving directory '/d/Program-Workspaces/netbeans11/CppApplication_2_Cygwin_Try'
make[1]: Leaving directory '/d/Program-Workspaces/netbeans11/CppApplication_2_Cygwin_Try'
BUILD SUCCESSFUL (total time: 3s)
0 [main] cppapplication_2_cygwin_try (17884) D:\Program-Workspaces\netbean
s11\CppApplication_2_Cygwin_Try\dist\Debug\MinGW_2-Windows\cppapplication_2_cygw
in_try.exe: *** fatal error - cygheap base mismatch detected - 0x180343408/0x180
347408.
This problem is probably due to using incompatible versions of the cygwin DLL.
Search for cygwin1.dll using the Windows Start->Find/Search facility
and delete all but the most recent version. The most recent version *should*
reside in x:\cygwin\bin, where 'x' is the drive on which you have
installed the cygwin distribution. Rebooting is also suggested if you
are unable to find another cygwin DLL.
RUN FAILED (exit value 127, total time: 1s)

Error while compiling uuid-ossp packages on postgresql11

whenever i am trying to compile the uuid-ossp packege i am getting error.
I have tried to install packages in REDHAt os rpm -qa | grep lib64ossp
lib64ossp-uuid16-1.6.2-10.x86_64
$:/optware/postgres/postgresql-11.2/contrib/uuid-ossp>make
make -C ../../src/backend generated-headers
make[1]: Entering directory `/optware/postgres/postgresql-11.2/src/backend'
make -C catalog distprep generated-header-symlinks
make[2]: Entering directory `/optware/postgres/postgresql-11.2/src/backend/catalog'
make[2]: Nothing to be done for `distprep'.
make[2]: Nothing to be done for `generated-header-symlinks'.
make[2]: Leaving directory `/optware/postgres/postgresql-11.2/src/backend/catalog'
make -C utils distprep generated-header-symlinks
make[2]: Entering directory `/optware/postgres/postgresql-11.2/src/backend/utils'
make[2]: Nothing to be done for `distprep'.
make[2]: Nothing to be done for `generated-header-symlinks'.
make[2]: Leaving directory `/optware/postgres/postgresql-11.2/src/backend/utils'
make[1]: Leaving directory `/optware/postgres/postgresql-11.2/src/backend'
gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -O2 -fPIC -I../../contrib/pgcrypto -I. -I. -I../../src/include -D_GNU_SOURCE -c -o uuid-ossp.o uuid-ossp.c
uuid-ossp.c:37:2: error: #error "please use configure's --with-uuid switch to select a UUID library"
#error "please use configure's --with-uuid switch to select a UUID library"
^
uuid-ossp.c: In function âuuid_generate_internalâ:
uuid-ossp.c:282:5: error: unknown type name âuuid_tâ
uuid_t uu;
^
uuid-ossp.c:283:23: error: âuuid_s_okâ undeclared (first use in this function)
uint32_t status = uuid_s_ok;
^
If you are not building a contrib module with the source tree it is part of, you have to set USE_PGXS:
PATH=/path/to/postgres/binaries:$PATH make USE_PGXS=1
The path must contain the pg_config executable.
To be sure it works, use the contrib source from the same major version as the installed PostgreSQL.

Libtool - Mismatch version

I try to install USBIP on Centos 5.11 (Kernel 2.6.18-409.el5) but I always have this error when I type "make" :
make[1]: Entering directory "/root/Downloads/usbip-0.1.7/src"
Making all in lib
make[2]: Entering directory "/root/Downloads/usbip-0.1.7/src/lib"
if /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -Wall -W -Wstrict-prototypes -std=gnu99 -DUSBIDS_FILE='"/usr/local/share/usbip/usb.ids"' -g -O2 -MT libusbip_la-names.lo -MD -MP -MF ".deps/libusbip_la-names.Tpo" -c -o libusbip_la-names.lo "test -f "names.c" || echo './'"names.c; \
then mv -f ".deps/libusbip_la-names.Tpo" ".deps/libusbip_la-names.Plo"; else rm -f ".deps/libusbip_la-names.Tpo"; exit 1; fi
libtool: Version mismatch error. This is libtool 1.9b, but the
libtool: definition of this LT_INIT comes from an older release.
libtool: You should recreate aclocal.m4 with macros from libtool 1.9b
libtool: and run autoconf again.
make[2]: [libusbip_la-names.lo] Error 1
make[2]: Leaving directory "/root/Downloads/usbip-0.1.7/src/lib"
make[1]: [all-recursive] Error 1
make[1]: Leaving directory "/root/Downloads/usbip-0.1.7/src"
make: *** [all] Error 2
I saw several solution on forums, like "autoreconf -vfi" but it does not work for me.
I currently try to reinstall libtool to have the last version but I can't. When I type "yum remove libtool", I'm always able to type "libtool --version" :
[tuk#VM01 Downloads]# libtool --version
ltmain.sh (GNU libtool) 1.9b
Written by Gordon Matzigkeit <gord#gnu.ai.mit.edu>, 1996
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
And binaries are always here :
[tuk#VM01 Downloads]# find / -name "libtool*"
/opt/share/man/man1/libtoolize.1
/opt/share/man/man1/libtool.1
/opt/share/aclocal/libtool.m4
/opt/share/info/libtool.info-1
/opt/share/info/libtool.info-2
/opt/share/info/libtool.info
/opt/share/libtool
/opt/bin/libtool
/opt/bin/libtoolize
/usr/local/share/man/man1/libtoolize.1
/usr/local/share/man/man1/libtool.1
/usr/local/share/aclocal/libtool.m4
/usr/local/share/info/libtool.info-1
/usr/local/share/info/libtool.info-2
/usr/local/share/info/libtool.info
/usr/local/share/libtool
/usr/local/bin/libtool
/usr/local/bin/libtoolize
/usr/share/automake-1.9/am/libtool.am
Is there any solution fro me to install USBIP ? Thanks you
Solved !
I haved several binaries for libtool :
[root#SVSLOFLEX2 ~]# which -a libtool
/usr/local/bin/libtool
/usr/bin/libtool
The version of /usr/local/bin is the 1.9b (and it don't work)
I added this line to use another version of libtool (by default) :
export PATH=/usr/bin:$PATH
The version of /usr/bin is the 1.5.22, and it work, USBIP is now installed.

How do I fix "gcc: winrespp.rc: No such file or directory" during compiling PAR::Packer on Cygwin?

I have tried to install PAR::Packer in Cygwin for Windows on a 32 bit machine, so I executed cpan pp.
I am facing the following problem.
gcc-4 -c -DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -g -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -I/usr/lib/perl5/5.14/i686-cygwin-threads-64int/CORE -DPARL_EXE=\parl.exe\ -O3 main.c windres -F pei-i386 -i winres\pp.rc -o winres\pp.res
gcc: winrespp.rc: No such file or directory
gcc: warning: '-x c' after last input file has no effect
gcc: no input files
windres: preprocessing failed.
Makefile:735: recipe for target ppresource.coff failed
make[1]: *** [ppresource.coff] Error 1
make[1]: Leaving directory /home/prabhakaran.srinivas/.cpan/build/PAR-Packer-1.013-eTAwxL/myldr
Makefile:594: recipe for target subdirs failed
make: *** [subdirs] Error 2
RSCHUPP/PAR-Packer-1.013.tar.gz
make -- NOT OK
CPAN: YAML loaded ok (v0.81)
Running make test
Can't test without successful make
Running make install
Make had returned bad status, install seems impossible
The problem is in myldr/Makefile.PL:
$pre_res = qq(winres\\pp.res);
$rt_cmd = qq(windres -F pei-i386 -i winres\\pp.rc -o $pre_res);
$res_cmd = qq(windres -o ppresource.coff $pre_res);
$res_section = $res;
and, later,
$res_section:
$rt_cmd
$res_cmd
Under Cygwin's bash, winres\pp.rc would be interpreted as winrespp.rc instead of winres/pp.rc. The correct way would be
$pre_res = catfile(winres => 'pp.res');
$rt_cmd = join ' ' => qw(windres -F pei-i386 -i), catfile(winres => 'pp.rc'), '-o', $pre_res;
etc.