ousnius / BodySlide-and-Outfit-Studio

BodySlide and Outfit Studio, a tool to convert, create, and customize outfits and bodies for Bethesda games.
GNU General Public License v3.0
286 stars 63 forks source link

Issues building latest patch on Fedora 39 #507

Open reddraconi opened 5 months ago

reddraconi commented 5 months ago

Description

When attempting to build OutfitStudio 5.6.3 on Fedora 39, I had to do the following to get everything to build properly:

Note: In the following steps, <BODYSLIDE DIR> is the directory where one has exploded their source archive from this repo.

How to reproduce

  1. Install the following RPMs: wine-devel, glew-devel, wxGTK-devel
  2. Clone https://github.com/ousnius/nifly and build according to those directions. Toss fresh nifly *.cpp and *.hpp in <BODYSLIDE DIR>/lib/nifly/src
  3. Update <BODYSLIDE DIR>/CMakeLists.txt to include lib/nifly/src for target_include_directories(OutfitStudio PUBLIC ...)

Note: This was probably unnecessary, but I was having trouble getting gcc to see the CPP and HPP files installed by nifly, so this was just an easy way to fix it

  1. Commented out the following lines due to the error "class ... has no member named MSWDisableComposited":

    • Line 150 in <BODYSLIDE DIR>/src/program/EditUV.cpp EditUV::EditUV(): canvas->MSWDisableComposited();
    • Line 70 in <BODYSLIDE DIR>/src/program/FBXImportDialog.cpp FBXImportDialog::FBXImportDialog(): canvas->MSWDisableComposited();
    • Line 71 in <BODYSLIDE DIR>/src/program/ObjImportDialog.cpp ObjImportDialog::ObjImportDialog(): canvas->MSWDisableComposited();
  2. Updated line 9274 in <BODYSLIDE DIR>/src/program/OutfitStudio.cpp OutfitStudioFrame::OnAddCustomBone() to std::string origBone = bone.toStdString(). WX was complaining that an invalid conversion was occurring between the wxString type and std::string types.

  3. Copied the built OutfitStudio executable to <BODYSLIDE DIR>/. and ran WX_OUTFITSTUDIO_DATA_DIR=. ./OutfitStudio to test the executable runs.

It appears to run well (allows me to open NIF and OBJ files, etc.) but throws a dialog "The system language '57' is not supported by your system. Try installing support for this language" when starting.

reddraconi commented 5 months ago

For further information:

$uname -a
Linux redryzen.home.lan 6.6.11-200.fc39.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jan 10 19:25:59 UTC 2024 x86_64 GNU/Linux
$rpm -qa | grep -i "wine-devel\|glew-devel\|wxgtk-devel"
wxGTK-devel-3.2.4-1.fc39.x86_64
glew-devel-2.2.0-5.fc39.x86_64
wine-devel-9.0-1.fc39.x86_64
$gcc --version
gcc (GCC) 13.2.1 20231205 (Red Hat 13.2.1-6)