indygreg / indygreg/PyOxidizer

MSVC link emits lots of warnings about missing pdb files

Open
#210 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Rust
Stars
6.2k
Forks
256
PR merge metrics
No merged PRs in 30d

Description

If nothing else, they are annoying when there are real link error related warnings (dup/undefined syms) hidden among so many warnings about missing .pdb.

If this isnt easy to fix, maybe disable this one warning code (LNK4099)?

```console
2019-11-27T02:56:43.6788453Z libpyembed-22b43a942f015ff6.rlib(selectmodule.obj) : warning LNK4099: PDB 'select.pdb' was not found with 'libpyembed-22b43a942f015ff6.rlib(selectmodule.obj)' or at 'D:\pyapp\build\target\x86_64-pc-windows-msvc\debug\deps\select.pdb'; linking object as if no debug info
2019-11-27T02:56:43.6804188Z libpyembed-22b43a942f015ff6.rlib(auto_decoder.obj) : warning LNK4099: PDB 'liblzma.pdb' was not found with 'libpyembed-22b43a942f015ff6.rlib(auto_decoder.obj)' or at 'D:\pyapp\build\target\x86_64-pc-windows-msvc\debug\deps\liblzma.pdb'; linking object as if no debug info
2019-11-27T02:56:43.6805677Z libpyembed-22b43a942f015ff6.rlib(connection.obj) : warning LNK4099: PDB '_sqlite3.pdb' was not found with 'libpyembed-22b43a942f015ff6.rlib(connection.obj)' or at 'D:\pyapp\build\target\x86_64-pc-windows-msvc\debug\deps\_sqlite3.pdb'; linking object as if no debug info
2019-11-27T02:56:43.6817575Z libpyembed-22b43a942f015ff6.rlib(rand_lib.obj) : warning LNK4099: PDB 'ossl_static.pdb' was not found with 'libpyembed-22b43a942f015ff6.rlib(rand_lib.obj)' or at 'D:\pyapp\build\target\x86_64-pc-windows-msvc\debug\deps\ossl_static.pdb'; linking object as if no debug info
2019-11-27T02:56:43.6817748Z libpyembed-22b43a942f015ff6.rlib(_math.obj) : warning LNK4099: PDB 'pythoncore.pdb' was not found with 'libpyembed-22b43a942f015ff6.rlib(_math.obj)' or at 'D:\pyapp\build\target\x86_64-pc-windows-msvc\debug\deps\pythoncore.pdb'; linking object as if no debug info
2019-11-27T02:56:43.6817906Z libpyembed-22b43a942f015ff6.rlib(xmlparse.obj) : warning LNK4099: PDB 'pyexpat.pdb' was not found with 'libpyembed-22b43a942f015ff6.rlib(xmlparse.obj)' or at 'D:\pyapp\build\target\x86_64-pc-windows-msvc\debug\deps\pyexpat.pdb'; linking object as if no debug info
2019-11-27T02:56:43.6818249Z libpyembed-22b43a942f015ff6.rlib(zutil.obj) : warning LNK4099: PDB 'pythoncore.pdb' was not found with 'libpyembed-22b43a942f015ff6.rlib(zutil.obj)' or at 'D:\pyapp\build\target\x86_64-pc-windows-msvc\debug\deps\pythoncore.pdb'; linking object as if no debug info
```

They are included in the win standalone archive, so I guess it might be solvable by adding more paths to the linker.

```bash
> find . -name '*.pdb'
./python/build/core/pythoncore.pdb
./python/build/extensions/_asyncio/_asyncio.pdb
./python/build/extensions/_bz2/_bz2.pdb
./python/build/extensions/_ctypes/_ctypes.pdb
./python/build/extensions/_decimal/_decimal.pdb
./python/build/extensions/_elementtree/_elementtree.pdb
./python/build/extensions/_hashlib/_hashlib.pdb
./python/build/extensions/_lzma/_lzma.pdb
./python/build/extensions/_msi/_msi.pdb
./python/build/extensions/_multiprocessing/_multiprocessing.pdb
./python/build/extensions/_overlapped/_overlapped.pdb
./python/build/extensions/_queue/_queue.pdb
./python/build/extensions/_socket/_socket.pdb
./python/build/extensions/_sqlite3/_sqlite3.pdb
./python/build/extensions/_ssl/_ssl.pdb
./python/build/extensions/pyexpat/pyexpat.pdb
./python/build/extensions/select/select.pdb
./python/build/extensions/unicodedata/unicodedata.pdb
./python/build/extensions/winsound/winsound.pdb
./python/build/lib/liblzma.pdb
./python/build/lib/sqlite3.pdb
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the MSVC link from the Windows standalone archive and inspect how the listed PDB files under python/build are supplied to the linker. Done means the missing-PDB LNK4099 warnings are addressed while real duplicate-symbol and undefined-symbol warnings remain visible.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, rust
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.