Comments (25)
Should now be fixed, could you please
re-try?
from fdpp.
Build instructions are now also updated.
from fdpp.
Hm, it tells "meson: not found"
But I cloned nasm-segelf from https://git.launchpad.net/nasm-segelf and creating the binary was no problem.
Then running make for fdpp was successful.
However, trying to start dosemu gives an error:
ERROR: /usr/local/lib/dosemu/libplugin_fdpp.so: /usr/local/lib/dosemu/libplugin_fdpp.so: undefined symbol: FdppKernelLoad
ERROR: can't load fdpp
...
from fdpp.
You need to do make clean
in
either entire dosemu tree, or only
in src/plugin/fdpp
and rebuild
the plugin.
from fdpp.
But I cloned nasm-segelf
Have you checked that my patch
improved an error msg first?
Cause I didn't. :)
from fdpp.
Have you checked that my patch improved an error msg first?
No - I wasn't aware of that nasm variant unil an hour ago.
make clean didn't help, still FdppKernelLoad isn't found.
from fdpp.
Please show the full session of
make clean && make
inside
src/plugin/fdpp
.
from fdpp.
Is it possible that you had fdpp
sometime installed from ppa, and
didn't uninstall?
from fdpp.
possible that you had fdppsometime installed from ppa, and didn't uninstall?
Surely not.
from fdpp.
show the full session of make clean && make inside src/plugin/fdpp.
xxx@xxx-desktop:~/dosemu2/src/plugin/fdpp$ make clean
rm -f *.o ../../../2.0-pre9/lib/libplugin_fdpp.a *.d fdppconf.hh configure *~
rm -f _fdppconf.h
xxx@xxx-desktop:~/dosemu2/src/plugin/fdpp$ make
/home/sam/dosemu2/scripts/aconf.sh /home/sam/dosemu2 /home/sam/dosemu2/src/plugin/fdpp
autoreconf: export WARNINGS=
autoreconf: Entering directory '.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal -I /home/sam/dosemu2/m4
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: configure.ac: not using Intltool
autoreconf: configure.ac: not using Gtkdoc
autoreconf: running: /usr/bin/autoconf --include=/home/sam/dosemu2/m4
autoreconf: running: /usr/bin/autoheader --include=/home/sam/dosemu2/m4
autoreconf: configure.ac: not using Automake
autoreconf: Leaving directory '.'
./configure
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for FDPP... yes
checking for VALGRIND... no
configure: valgrind support disabled
configure: creating ./config.status
config.status: creating Makefile.conf
config.status: creating _fdppconf.h
gcc -c -imacros config.hh -MD -DCFLAGS_STR=" -fplan9-extensions -Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fms-extensions -pthread -Wno-unused-result -Wcast-qual -Wwrite-strings -Wstrict-aliasing=2 -Wundef -Wno-address-of-packed-member -ggdb3 -fpie -O2 " -I../../../src/include -I../../../src/plugin/include -I/home/sam/dosemu2/src/base/bios/x86 -I/home/sam/dosemu2/src/include -I/home/sam/dosemu2/src/base/lib -iquote . -fplan9-extensions -Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fms-extensions -pthread -Wno-unused-result -Wcast-qual -Wwrite-strings -Wstrict-aliasing=2 -Wundef -Wno-address-of-packed-member -ggdb3 -fpie -O2 -fPIC -fPIC -o fdpp.o fdpp.c
gcc -c -imacros config.hh -MD -DCFLAGS_STR=" -fplan9-extensions -Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fms-extensions -pthread -Wno-unused-result -Wcast-qual -Wwrite-strings -Wstrict-aliasing=2 -Wundef -Wno-address-of-packed-member -ggdb3 -fpie -O2 " -I../../../src/include -I../../../src/plugin/include -I/home/sam/dosemu2/src/base/bios/x86 -I/home/sam/dosemu2/src/include -I/home/sam/dosemu2/src/base/lib -iquote . -fplan9-extensions -Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fms-extensions -pthread -Wno-unused-result -Wcast-qual -Wwrite-strings -Wstrict-aliasing=2 -Wundef -Wno-address-of-packed-member -ggdb3 -fpie -O2 -fPIC -fPIC -o boot.o boot.c
gcc -c -imacros config.hh -MD -DCFLAGS_STR=" -fplan9-extensions -Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fms-extensions -pthread -Wno-unused-result -Wcast-qual -Wwrite-strings -Wstrict-aliasing=2 -Wundef -Wno-address-of-packed-member -ggdb3 -fpie -O2 " -I../../../src/include -I../../../src/plugin/include -I/home/sam/dosemu2/src/base/bios/x86 -I/home/sam/dosemu2/src/include -I/home/sam/dosemu2/src/base/lib -iquote . -fplan9-extensions -Wall -Wstrict-prototypes -Wmissing-declarations -Wnested-externs -fms-extensions -pthread -Wno-unused-result -Wcast-qual -Wwrite-strings -Wstrict-aliasing=2 -Wundef -Wno-address-of-packed-member -ggdb3 -fpie -O2 -fPIC -fPIC -o hooks.o hooks.c
gcc -pthread -rdynamic -pie -shared -o ../../../2.0-pre9/bin/libplugin_fdpp.so fdpp.o boot.o hooks.o -L/usr/local/lib/fdpp -lfdpp -lfdldr -Wl,-rpath,/usr/local/lib/fdpp -Wl,-rpath,/usr/lib/fdpp
from fdpp.
Please show the output of
ldd ./../../2.0-pre9/bin/libplugin_fdpp.so
from fdpp.
I've found a serious deps breakage
during build. Can you update and
re-build fdpp, and see if the problem
persists?
from fdpp.
Can you update and re-build fdpp, and see if the problem persists?
It does.
However, there's a message "too many levels of symbolic links" during the build ( don't know if it's a new thing, since the make process doesn't abort because of this, I might have overseen it previously ):
clang++ -o libfdpp.so.35.10 blockio.o break.o chario.o dosfns.o dsk.o error.o fatdir.o fatfs.o fattab.o fcbfns.o hmamgr.o inthndlr.o ioctl.o memmgr.o misc.o newstuff.o network.o nls.o strings.o sysclk.o systime.o task.o config.o initoem.o main.o inithma.o dyninit.o initdisk.o initclk.o prf.o share.o smalloc.o farhlp_sta.o thunks.o thunks_c.o thunks_a.o thunks_p.o dosobj.o objhlp.o ctors.o farhlp.o objtrace.o -shared -Wl,--build-id=sha1 -Wl,-soname=libfdpp.so.35.10 -Wl,-Bsymbolic
Have 47 undefined symbols
ln -sf libfdpp.so
make[1]: stat: libfdpp.so: Too many levels of symbolic links
make -C loader
make[2]: Entering directory '/home/sam/fdpp/fdpp/loader'
cc -Wall -ggdb3 -O2 -I . -I /home/sam/fdpp/include/fdpp -DFDPPKRNLDIR=/usr/local/share/fdpp -DKRNL_ELFNAME=fdppkrnl.35.10.elf -DKRNL_MAP_NAME=fdppkrnl.35.10.map -fpic -c -o elf.o /home/sam/fdpp/fdpp/loader/elf.c
cc -Wall -ggdb3 -O2 -I . -I /home/sam/fdpp/include/fdpp -DFDPPKRNLDIR=/usr/local/share/fdpp -DKRNL_ELFNAME=fdppkrnl.35.10.elf -DKRNL_MAP_NAME=fdppkrnl.35.10.map -fpic -c -o loader.o /home/sam/fdpp/fdpp/loader/loader.c
cc -o ../libfdldr.so.35.10 elf.o loader.o -shared -Wl,--build-id=sha1 -Wl,-soname=libfdldr.so.35.10 -L.. -lelf
make[2]: Leaving directory '/home/sam/fdpp/fdpp/loader'
ln -sf libfdldr.so
make[1]: stat: libfdldr.so: Too many levels of symbolic links
make -C kernel
from fdpp.
I might have overseen it previously ):
No, its a regression, sorry for that.
meson is a primary build system, CI
isn't checking make
any more.
Fixed, can you please re-try?
from fdpp.
ok, did a "git pull", "make clean", "make", "make install" for fdpp - no "too many levels of symbolic links" anymore, but the "undefined symbol: FddKernelLoad" error is still with me.
from fdpp.
Please provide the ldd output I asked
above. Or just tar up the
libplugin_fdpp.so libfdpp.so.35.10 libfdldr.so.35.10
so that I can look at them myself.
from fdpp.
Please show the output of ldd libplugin_fdpp.so
xxx@xxx-desktop:~/dosemu2/2.0-pre9/bin$ ldd libplugin_fdpp.so
linux-vdso.so.1 (0x00007fffba2c3000)
libfdpp.so.35.10 => /usr/local/lib/fdpp/libfdpp.so.35.10 (0x00007f9a21c21000)
libfdldr.so.35.10 => /usr/local/lib/fdpp/libfdldr.so.35.10 (0x00007f9a21c1c000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9a21a26000)
libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f9a21800000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f9a21721000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f9a21701000)
libelf.so.1 => /lib/x86_64-linux-gnu/libelf.so.1 (0x00007f9a216e6000)
/lib64/ld-linux-x86-64.so.2 (0x00007f9a21d34000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f9a216c7000)
from fdpp.
from fdpp.
libplugin_fdpp.so is not in archive.
from fdpp.
from fdpp.
Are you kidding?
Here's the output of ldd with your plugin:
$ ldd libplugin_fdpp.so
linux-vdso.so.1 (0x00007ffe61ee0000)
libfdpp.so.35.10 => /usr/local/lib/fdpp/libfdpp.so.35.10 (0x00007fb9cae0e000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb9caa00000)
libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fb9ca600000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb9cad03000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fb9cacdf000)
/lib64/ld-linux-x86-64.so.2 (0x00007fb9caf1d000)
Which is essentially NOT what you
showed above.
So you attached not the same file
on which you did ldd.
Please figure out how could that happen.
from fdpp.
Which is essentially NOT what you showed above.
Well, these are not the same files. Actually, you said:
Can you update and re-build fdpp, and see if the problem persists?
but didn't mention that I have also - after this has been done - to redo a "make install" for dosemu2. I explicitely described what I did, btw:
ok, did a "git pull", "make clean", "make", "make install" for fdpp - no "too many levels of symbolic links" anymore, but the
"undefined symbol: FddKernelLoad" error is still with me.
Now, after I did make install for dosemu2, dosemu2 starts.
from fdpp.
There is no need to install dosemu2,
no. You can run it from "bin" inside a
build directory, but this should only
be done via the dosemu
wrapper
script. And you likely started it somehow
differently.
from fdpp.
And you likely started it somehow differently.
I made a simple test:
- sudo rm /usr/local/lib/dosemu/libplugin_fdpp.so
- cd into fdpp
- make install
result: file /usr/local/lib/dosemu/libplugin_fdpp.so is still deleted; dosemu2 won't start.
So it seems pretty obvious to me that i have to do a "make install" in dosemu2 to get that file to /usr/local/lib/dosemu.
from fdpp.
This has nothing to do with fdpp.
After you built dosemu, you don't need
to install it. You can instead do:
cd bin
./dosemu
And it works.
from fdpp.
Related Issues (20)
- Struct packing fails with clang 16 HOT 8
- crash on redundant conversion
- Some FCB tests are now failing HOT 2
- Please relicense fdpp/smalloc.h HOT 8
- DOSLFN not working with FDPP HOT 5
- Windows' WinFile is setting the time in the future HOT 56
- Don't seem to be able to compile (maybe toolchain breakage) HOT 11
- unaligned reference UB
- evaluate gcc porting
- Building FDPP on Aarch64 HOT 16
- fdpp install doesn't produce fdppkrnl.elf HOT 3
- Error posted about redundant conversion HOT 5
- Build fails with `kernel.asm:110: error: ELF format does not support segment base references` and subsequent errors. HOT 28
- ELF format does not support segment base references HOT 2
- tests are failing again HOT 8
- prehistorik2 doesn't work HOT 5
- Exploring hard disk size limits HOT 14
- NASM-SEGELF Problem HOT 3
- thunk_gen: extend __CNV_PTR_VOID handling
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fdpp.