Hey, I am happy to see the Urjtag is still up and running after 13 years after my first compile. I was pretty confident that I can make it running in one day when I started 2 days ago. Looks like Cygwin64 is no more supported and breaks for ioperm after disabling python bindings
It compiles to exe, but breaks for ioperm.
Tried IOPERM from openwince but failed
config.guess timestamp = 2002-01-02
uname -m = x86_64
uname -r = 3.4.9-1.x86_64
uname -s = CYGWIN_NT-10.0-19045
uname -v = 2023-09-06 11:19 UTC
/usr/bin/uname -p = unknown
/bin/uname -X =
hostinfo =
/bin/universe =
/usr/bin/arch -k =
/bin/arch = x86_64
/usr/bin/oslevel =
/usr/convex/getsysinfo =
UNAME_MACHINE = x86_64
UNAME_RELEASE = 3.4.9-1.x86_64
UNAME_SYSTEM = CYGWIN_NT-10.0-19045
UNAME_VERSION = 2023-09-06 11:19 UTC
configure: error: cannot guess build type; you must specify one
On Sun, Oct 29, 2023 at 09:53:09PM -0000, Johnichan wrote:
Feed that line to DuckDuckGo or whatever search aid you have.
Thanks for quick response. Thinking that ioperm is very old, I thought it will never considering ioperm is very old. Now it goes upto little more and waiting for checking the maximum length of command line arguments...
Let me see it after an hour or a retry.
I found the stackoverflow to use x86_64-unknown-linux-gnu
$ ./configure --build=x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for gcc... gcc
checking for C compiler default output... a.exe
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... .exe
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for a sed that does not truncate output... /usr/bin/sed
checking for egrep... grep -E
checking for ld used by GCC... /usr/x86_64-pc-cygwin/bin/ld.exe
checking if the linker (/usr/x86_64-pc-cygwin/bin/ld.exe) is GNU ld... yes
checking for /usr/x86_64-pc-cygwin/bin/ld.exe option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
checking how to recognise dependent libraries... file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for g77... no
checking for f77... no
checking for xlf... no
checking for frt... no
checking for pgf77... no
checking for fl32... no
checking for af77... no
checking for fort77... no
checking for f90... no
checking for xlf90... no
checking for pgf90... no
checking for epcf90... no
checking for f95... no
checking for fort... no
checking for xlf95... no
checking for lf95... no
checking for g95... no
checking whether we are using the GNU Fortran 77 compiler... no
checking whether accepts -g... no
checking the maximum length of command line arguments...
Does not looks good even after fixing the above issue by changing config.guess from automake 11.7 & adding popt to the cygwin
https://stackoverflow.com/questions/23210522/undefined-references-cygwin-posix-to-win32-path-list-and-cygwin-posix-to-win32
$ make
Making all in admin
make[1]: Entering directory '/cygdrive/f/urjtag/drvr/ioperm-0.4/admin'
if gcc -DPACKAGE_NAME=\"ioperm\" -DPACKAGE_TARNAME=\"ioperm\" -DPACKAGE_VERSION=\"0.4\" -DPACKAGE_STRING=\"ioperm\ 0.4\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ioperm\" -DVERSION=\"0.4\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_LIBPOPT=1 -I. -I. -DPREFIX=\"/usr/local\" -g -O2 -Wall -MT ioperm.o -MD -MP -MF ".deps/ioperm.Tpo" \
-c -o ioperm.o
test -f 'ioperm.c' || echo './'ioperm.c; \then mv ".deps/ioperm.Tpo" ".deps/ioperm.Po"; \
else rm -f ".deps/ioperm.Tpo"; exit 1; \
fi
if gcc -DPACKAGE_NAME=\"ioperm\" -DPACKAGE_TARNAME=\"ioperm\" -DPACKAGE_VERSION=\"0.4\" -DPACKAGE_STRING=\"ioperm\ 0.4\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ioperm\" -DVERSION=\"0.4\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_LIBPOPT=1 -I. -I. -DPREFIX=\"/usr/local\" -g -O2 -Wall -MT install.o -MD -MP -MF ".deps/install.Tpo" \
-c -o install.o
test -f 'install.c' || echo './'install.c; \then mv ".deps/install.Tpo" ".deps/install.Po"; \
else rm -f ".deps/install.Tpo"; exit 1; \
fi
install.c: In function ‘install’:
install.c:71:9: warning: implicit declaration of function ‘cygwin_conv_to_full_win32_path’ [-Wimplicit-function-declaration]
71 | cygwin_conv_to_full_win32_path( PREFIX "/bin/ioperm.sys", drv_path );
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if gcc -DPACKAGE_NAME=\"ioperm\" -DPACKAGE_TARNAME=\"ioperm\" -DPACKAGE_VERSION=\"0.4\" -DPACKAGE_STRING=\"ioperm\ 0.4\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"ioperm\" -DVERSION=\"0.4\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_LIBPOPT=1 -I. -I. -DPREFIX=\"/usr/local\" -g -O2 -Wall -MT uninstall.o -MD -MP -MF ".deps/uninstall.Tpo" \
-c -o uninstall.o
test -f 'uninstall.c' || echo './'uninstall.c; \then mv ".deps/uninstall.Tpo" ".deps/uninstall.Po"; \
else rm -f ".deps/uninstall.Tpo"; exit 1; \
fi
/bin/sh ../libtool --mode=link gcc -g -O2 -Wall -o ioperm.exe ioperm.o install.o uninstall.o -lpopt
mkdir .libs
gcc -g -O2 -Wall -o ioperm.exe ioperm.o install.o uninstall.o -lpopt
/usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: install.o: in function
install': /cygdrive/f/urjtag/drvr/ioperm-0.4/admin/install.c:71:(.text+0x110): undefined reference tocygwin_conv_to_full_win32_path'/usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: /cygdrive/f/urjtag/drvr/ioperm-0.4/admin/install.c:71:(.text+0x22c): undefined reference to `cygwin_conv_to_full_win32_path'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:242: ioperm.exe] Error 1
make[1]: Leaving directory '/cygdrive/f/urjtag/drvr/ioperm-0.4/admin'
make: *** [Makefile:238: all-recursive] Error 1
Let me try Debian on a Pi before worrying toomuch about cygwin drivers